Ejemplo n.º 1
0
    @Override
    public void run() {
      try {
        final ProgressEvent status = watchable.requestStatus();
        final ProgressEvent progress =
            new ProgressEvent(
                watchable,
                status.getState(),
                status.getStep(),
                status.getMaxSteps(),
                status.getMessage());

        watchable.getStatusCallback().progress(progress);

        if (ProgressEvent.State.FINISHED == status.getState()) {
          if (LOG.isInfoEnabled()) {
            LOG.info(
                "progresswatch finished for watchable because status is FINISHED: "
                    + watchable); // NOI18N
          }

          if (deregister != null) {
            deregisterDispatcher.submit(deregister);
          }
        } else if (ProgressEvent.State.BROKEN == status.getState()) {
          if (LOG.isInfoEnabled()) {
            LOG.warn(
                "progresswatch finished for watchable because status is BROKEN: "
                    + watchable); // NOI18N
          }

          if (deregister != null) {
            deregisterDispatcher.submit(deregister);
          }
        }
      } catch (final IOException e) {
        retryCount++;
        if (retryCount > MAX_RETRIES) {
          LOG.error("error in status poll: " + watchable, e); // NOI18N

          final ProgressEvent progress = new ProgressEvent(watchable, State.BROKEN, e.getMessage());

          watchable.getStatusCallback().progress(progress);

          if (deregister != null) {
            deregisterDispatcher.submit(deregister);
          }
        } else {
          LOG.warn(
              "error in status poll, retrying (no. "
                  + retryCount
                  + "/"
                  + MAX_RETRIES
                  + "): " // NOI18N
                  + watchable,
              e);
        }
      }
    }
Ejemplo n.º 2
0
    @Override
    public void run() {

      WatchEvent evt = w.monitor();
      if (evt != null) {
        w.handleEvent(evt);
      }
    }