/** * The message to remote node will contain envelope with sentTimestamp, remoteMessageUri, direction, * as well as exact copy of the local message envelopes and contents. * * @param ownerOrSystemMsg * @param newMessageUri * @return */ private static WonMessageBuilder setPropertiesForPassingMessageToRemoteNodeAndCopyLocalMessage(final WonMessage ownerOrSystemMsg, URI newMessageUri){ return new WonMessageBuilder(newMessageUri) .setSentTimestamp(new Date().getTime()) .forward(ownerOrSystemMsg) // copy .setCorrespondingRemoteMessageURI(ownerOrSystemMsg.getMessageURI()) .setWonMessageDirection(WonMessageDirection.FROM_EXTERNAL); }
public static WonMessage forwardReceivedNodeToNodeMessageAsNodeToNodeMessage(final URI newMessageUri, final WonMessage wonMessage, final URI connectionURI, final URI needURI, final URI wonNodeUri, final URI remoteConnectionURI, final URI remoteNeedURI, final URI remoteWonNodeUri) { WonMessageBuilder builder = new WonMessageBuilder(newMessageUri) .setWonMessageType(wonMessage.getMessageType()) .forward(wonMessage) .setForwardedMessageURI(wonMessage.getMessageURI()) .setSenderNeedURI(needURI) .setSenderURI(connectionURI) .setSenderNodeURI(wonNodeUri) .setSentTimestamp(System.currentTimeMillis()) .setReceiverURI(remoteConnectionURI) .setReceiverNeedURI(remoteNeedURI) .setReceiverNodeURI(remoteWonNodeUri) .setIsRemoteResponseToMessageURI(wonMessage.getIsRemoteResponseToMessageURI()) .setIsResponseToMessageURI(wonMessage.getIsResponseToMessageURI()) .setIsResponseToMessageType(wonMessage.getIsResponseToMessageType()) .setWonMessageDirection(WonMessageDirection.FROM_SYSTEM); return builder.build(); }