streams-contrib/streams-provider-twitter/src/main/java/org/apache/streams/twitter/provider/TwitterTimelineProvider.java [358:381]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  public boolean isRunning() {
    LOGGER.debug("providerQueue.isEmpty: {}", providerQueue.isEmpty());
    LOGGER.debug("providerQueue.size: {}", providerQueue.size());
    LOGGER.debug("executor.isShutdown: {}", executor.isShutdown());
    LOGGER.debug("executor.isTerminated: {}", executor.isTerminated());
    LOGGER.debug("tasks.size(): {}", tasks.size());
    LOGGER.debug("futures.size(): {}", futures.size());
    boolean allTasksComplete;
    if( futures.size() > 0) {
      allTasksComplete = true;
      for(Future<?> future : futures){
        allTasksComplete |= !future.isDone(); // check if future is done
      }
    } else {
      allTasksComplete = false;
    }
    LOGGER.debug("allTasksComplete: {}", allTasksComplete);
    boolean finished = tasks.size() > 0 && tasks.size() == futures.size() && executor.isShutdown() && executor.isTerminated() && allTasksComplete && providerQueue.size() == 0;
    LOGGER.debug("finished: {}", finished);
    if ( finished ) {
      running.set(false);
    }
    return running.get();
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



streams-contrib/streams-provider-twitter/src/main/java/org/apache/streams/twitter/provider/TwitterFollowingProvider.java [334:357]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  public boolean isRunning() {
    LOGGER.debug("providerQueue.isEmpty: {}", providerQueue.isEmpty());
    LOGGER.debug("providerQueue.size: {}", providerQueue.size());
    LOGGER.debug("executor.isShutdown: {}", executor.isShutdown());
    LOGGER.debug("executor.isTerminated: {}", executor.isTerminated());
    LOGGER.debug("tasks.size(): {}", tasks.size());
    LOGGER.debug("futures.size(): {}", futures.size());
    boolean allTasksComplete;
    if( futures.size() > 0) {
      allTasksComplete = true;
      for(Future<?> future : futures){
        allTasksComplete |= !future.isDone(); // check if future is done
      }
    } else {
      allTasksComplete = false;
    }
    LOGGER.debug("allTasksComplete: {}", allTasksComplete);
    boolean finished = tasks.size() > 0 && tasks.size() == futures.size() && executor.isShutdown() && executor.isTerminated() && allTasksComplete && providerQueue.size() == 0;
    LOGGER.debug("finished: {}", finished);
    if ( finished ) {
      running.set(false);
    }
    return running.get();
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



