@Override public void receiveEvent(ClientStateInformation information){
  if (information.getState() != currentState) {
    logger.info("Received status update: " + information);
    if (information.getState() == ClientState.SEARCH) {
      searchStartTime=System.currentTimeMillis();
      for (      SequenceOutputVariableFactory<?> factory : sequenceOutputVariableFactories.values()) {
        factory.setStartTime(searchStartTime);
      }
    }
    OutputVariable<Long> time=new OutputVariable<Long>("Time_" + currentState.getName(),System.currentTimeMillis() - currentStateStarted);
    outputVariables.put(time.getName(),time);
    currentState=information.getState();
    currentStateStarted=System.currentTimeMillis();
  }
}

@ Override public void receiveEvent ( ClientStateInformation information ) { if ( information . getState ( ) != currentState ) { logger . info ( "Received status update: " + information ) ; if ( information . getState ( ) == ClientState . SEARCH ) { searchStartTime = System . currentTimeMillis ( ) ; for ( SequenceOutputVariableFactory < ? > factory : sequenceOutputVariableFactories . values ( ) ) { factory . setStartTime ( searchStartTime ) ; } } OutputVariable < Long > time = new OutputVariable < Long > ( "Time_" + currentState . getName ( ) , System . currentTimeMillis ( ) - currentStateStarted ) ; outputVariables . put ( time . getName ( ) , time ) ; currentState = information . getState ( ) ; currentStateStarted = System . currentTimeMillis ( ) ; } }
process status update event received from client
