private void getRoseReceive(TypedCircularMessage message, long ts) { final UmlStateMachine machine = getStatemachineByName(getValue(message, SRLEventReader.FN_RECEIVER_ACTOR).toString()); Object fnState = getValue(message, SRLEventReader.FN_STATE); UmlState state = null; if (fnState != null) { state = getStateByName(fnState.toString(), machine); } final Long msgAddr = (Long) getValue(message, SRLEventReader.FN_MSG_ADDR); final long high = (Long) getValue(message, FINISH_HI); final long low = (Long) getValue(message, FINISH_LO); Long sentAt = getSentAt(msgAddr); SRLReceive receive = new SRLReceive(); receive.setReceiverId(machine.getId()); receive.setReceiverInstance( ((Long) getValue(message, SRLEventReader.FN_RECEIVER_ACTOR_INSTANCE)).intValue()); receive.setReceiverReplicationIndex( ((Long) getValue(message, SRLEventReader.FN_RECEIVER_ACTOR_REPLICATION_INDEX)).intValue()); if (state == null) { receive.setStateId(-1); } else { receive.setStateId(state.getId()); } receive.setSignal(getValue(message, SRLEventReader.FN_SIGNAL).toString()); receive.setPort(getValue(message, SRLEventReader.FN_PORT).toString()); receive.setPortIndex(((Long) getValue(message, SRLEventReader.FN_PORT_INDEX))); receive.setMessageAddress(msgAddr); long finishTime = resolveTimeStamp((high << 32) + low); finishTime = convertTime(finishTime); receive.setTs(finishTime); receive.setSentAt(sentAt); getSRLReceive(receive, ts); }
public void getUMLreceive(TypedCircularMessage message, long ts) { UmlReceive umlReceive = new UmlReceive(message); MentorIndex index = blackbox.getMentorIndex(); long receiverClassId = umlReceive.getReceiverClassId(); String receiverClassName = index.getClazz((int) receiverClassId); if (receiverClassName == null) { receiverClassName = "UnknownClassName"; } final UmlStateMachine machine = getStatemachineByName(receiverClassName); SRLReceive receive = new SRLReceive(); receive.setReceiverId(machine.getId()); receive.setReceiverInstance(umlReceive.getReceiverInstanceId()); receive.setReceiverReplicationIndex(0); long stateId = umlReceive.getNextStateId(); String stateName = index.getState((int) stateId); UmlState umlState = getStateByName(stateName, machine); receive.setStateId(umlState.getId()); long signalId = umlReceive.getSignalId(); String signalName = index.getSignal((int) signalId); receive.setSignal(signalName); Long signalInstanceId = umlReceive.getSignalInstanceId(); receive.setMessageAddress(signalInstanceId); Long sentAt = getSentAt(signalInstanceId); receive.setSentAt(sentAt); receive.setPort(""); receive.setPortIndex(Long.valueOf(0)); final long high = umlReceive.getFinishHi(); final long low = umlReceive.getFinishLo(); long finishTime = resolveTimeStamp((high << 32) + low); finishTime = convertTime(finishTime); receive.setTs(finishTime); getSRLReceive(receive, ts); return; }