Example #1
0
  /**
   * Wait for the customer to change to the specified state and then call the state change listener.
   *
   * @param customerId
   * @param state
   * @param maxAttempts
   * @param waitInterval
   * @param listener
   * @throws BssException
   */
  public boolean waitCustomerState(
      String customerId,
      String state,
      int maxAttempts,
      long waitInterval,
      StateChangeListener listener)
      throws BssException {
    for (int i = 0; i < maxAttempts; i++) {
      JsonEntity subscription = getCustomerById(customerId);
      String currentState = subscription.getAsString("Customer/CustomerState");
      if (state.equalsIgnoreCase(currentState)) {
        try {
          if (listener != null) {
            listener.stateChanged(subscription);
          }
          return true;
        } catch (Exception e) {
          logger.log(Level.WARNING, "Error invoking customer state listener", e);
        }
      }

      // wait the specified interval
      try {
        Thread.sleep(waitInterval);
      } catch (InterruptedException ie) {
      }
    }
    return false;
  }
  /** @see ChangeNotifier#stateChanged(StateChangeListener, StateChangeEvent) */
  public void stateChanged(final StateChangeListener listener, final StateChangeEvent event) {
    if (EventQueue.isDispatchThread()) {
      listener.stateChanged(event);
    } else {
      this.invoke(
          new Runnable() {
            public void run() {
              listener.stateChanged(event);
            }

            public String toString() {
              return "stateChanged";
            }
          });
    }
  }
Example #3
0
 public void processListener(FacesListener facesListener) {
   ((StateChangeListener) facesListener).processStateChange(this);
 }
 private void notifyStateChangeListeners(ServerState oldState, ServerState newState) {
   for (StateChangeListener stateChangeListener : stateChangeListeners) {
     stateChangeListener.stateChanged(oldState, newState);
   }
 }
Example #5
0
 @Override
 public void sendNotification(
     final StateChangeListener onObject, final Pair<State, State> states) {
   onObject.stateChanged(PhysicalMachine.this, states.getLeft(), states.getRight());
 }
 @Override
 public void fireStateChangedEvent(StateChangedEvent sce) {
   for (StateChangeListener listener : listeners) {
     listener.l2StateChanged(sce);
   }
 }