/** * 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"; } }); } }
public void processListener(FacesListener facesListener) { ((StateChangeListener) facesListener).processStateChange(this); }
private void notifyStateChangeListeners(ServerState oldState, ServerState newState) { for (StateChangeListener stateChangeListener : stateChangeListeners) { stateChangeListener.stateChanged(oldState, newState); } }
@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); } }