/** * 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); }
/** * Adds the complete message content to the message that will be built, * referencing toWrap's envelope in the envelope of the new message. * The message that will be built has the same messageURI as the wrapped message. * * @param * @return */ public static WonMessageBuilder wrap(WonMessage toWrap){ WonMessageBuilder builder = new WonMessageBuilder(toWrap.getMessageURI()) .setWonMessageDirection(toWrap.getEnvelopeType()); //make a copy to avoid modification in current message in case wrapped message //is modified externally builder.wrappedMessage = WonRdfUtils.MessageUtils.copyByDatasetSerialization(toWrap); return builder; }
public static WonMessageBuilder setMessagePropertiesForNeedCreatedNotification( URI messageURI, URI localNeed, URI localWonNode) { return new WonMessageBuilder(messageURI) .setWonMessageType(WonMessageType.NEED_CREATED_NOTIFICATION) .setWonMessageDirection(WonMessageDirection.FROM_EXTERNAL) .setSenderNeedURI(localNeed) .setSenderNodeURI(localWonNode) .setSentTimestampToNow(); }
public static WonMessageBuilder setMessagePropertiesForCreate( URI messageURI, URI needURI, URI wonNodeURI) { return new WonMessageBuilder(messageURI) .setWonMessageDirection(WonMessageDirection.FROM_OWNER) .setWonMessageType(WonMessageType.CREATE_NEED) .setSenderNeedURI(needURI) .setSenderNodeURI(wonNodeURI) .setReceiverNodeURI(wonNodeURI) .setSentTimestampToNow(); }
public static WonMessageBuilder setMessagePropertiesForDeactivateFromOwner( URI messageURI, URI localNeed, URI localWonNode) { return new WonMessageBuilder(messageURI) .setWonMessageDirection(WonMessageDirection.FROM_OWNER) .setWonMessageType(WonMessageType.DEACTIVATE) .setSenderNeedURI(localNeed) .setSenderNodeURI(localWonNode) .setReceiverNeedURI(localNeed) .setReceiverNodeURI(localWonNode) .setSentTimestampToNow(); }
public static WonMessageBuilder setMessagePropertiesForDeactivateFromSystem( URI messageURI, URI localNeed, URI localWonNode) { return new WonMessageBuilder(messageURI) .setWonMessageDirection(WonMessageDirection.FROM_SYSTEM) .setWonMessageType(WonMessageType.DEACTIVATE) .setSenderNeedURI(localNeed) .setSenderNodeURI(localWonNode) .setReceiverNeedURI(localNeed) .setReceiverNodeURI(localWonNode) .setSentTimestampToNow(); }
/** * Sets the MessageProperties for Closing open connections (happens when the need is closed and the system is closing * all the corresponding connections when no connection is present from the remoteNeed * @param messageURI * @param localConnection * @param localNeed * @param localWonNode * @return */ public static WonMessageBuilder setMessagePropertiesForLocalOnlyClose( URI messageURI, URI localConnection, URI localNeed, URI localWonNode ) { return new WonMessageBuilder(messageURI) .setWonMessageDirection(WonMessageDirection.FROM_SYSTEM) .setWonMessageType(WonMessageType.CLOSE) .setSenderURI(localConnection) .setSenderNeedURI(localNeed) .setSenderNodeURI(localWonNode) .setSentTimestampToNow(); }
/** * Sets message properties for sending a 'need message' from System to Owner, * i.e. a notification from the node to the owner. This message will have no * effect on need or connection states and it is expected that a payload (e.g. * via setTextMessage()) is added to the message builder prior to calling * the build() method. * @param messageURI * @param localNeed * @param localWonNode * @return */ public static WonMessageBuilder setMessagePropertiesForNeedMessageFromSystem( URI messageURI, URI localNeed, URI localWonNode) { return new WonMessageBuilder(messageURI) .setWonMessageDirection(WonMessageDirection.FROM_SYSTEM) .setWonMessageType(WonMessageType.NEED_MESSAGE) .setSenderNeedURI(localNeed) .setSenderNodeURI(localWonNode) .setReceiverNeedURI(localNeed) .setReceiverNodeURI(localWonNode) .setSentTimestampToNow(); }
public static WonMessageBuilder setMessagePropertiesForHint( URI messageURI, URI needURI, URI needFacetURI, URI wonNodeURI, URI otherNeedURI, URI otherNeedFacet, URI matcherURI, double score) { Model contentModel = WonRdfUtils.FacetUtils.createFacetModelForHintOrConnect(needFacetURI, otherNeedFacet); Resource msgResource = contentModel.createResource(messageURI.toString()); RdfUtils.replaceBaseResource(contentModel, msgResource); contentModel.add(msgResource, WON.HAS_MATCH_SCORE, contentModel.createTypedLiteral(score)); contentModel.add(msgResource, WON.HAS_MATCH_COUNTERPART, contentModel.createResource(otherNeedURI.toString())); return new WonMessageBuilder(messageURI) .setWonMessageDirection(WonMessageDirection.FROM_EXTERNAL) .setWonMessageType(WonMessageType.HINT_MESSAGE) .setSenderNodeURI(matcherURI) .setReceiverNeedURI(needURI) .setReceiverNodeURI(wonNodeURI) .setSentTimestampToNow() .addContent(contentModel); }
public static WonMessageBuilder setMessagePropertiesForHintNotification( URI messageURI, URI needURI, URI needFacetURI, URI needConnectionURI, URI wonNodeURI, URI otherNeedURI, URI otherNeedFacet, URI matcherURI, double score) { Model contentModel = WonRdfUtils.FacetUtils.createFacetModelForHintOrConnect(needFacetURI, otherNeedFacet); Resource msgResource = contentModel.createResource(messageURI.toString()); RdfUtils.replaceBaseResource(contentModel, msgResource); contentModel.add(msgResource, WON.HAS_MATCH_SCORE, contentModel.createTypedLiteral(score)); contentModel.add(msgResource, WON.HAS_MATCH_COUNTERPART, contentModel.createResource(otherNeedURI.toString())); return new WonMessageBuilder(messageURI) .setWonMessageDirection(WonMessageDirection.FROM_EXTERNAL) .setWonMessageType(WonMessageType.HINT_MESSAGE) .setSenderNodeURI(matcherURI) .setReceiverURI(needConnectionURI) .setReceiverNeedURI(needURI) .setReceiverNodeURI(wonNodeURI) .addContent(contentModel) .setSentTimestampToNow(); }
public static WonMessageBuilder setMessagePropertiesForConnect( URI messageURI, URI localFacet, URI localNeed, URI localWonNode, URI remoteFacet, URI remoteNeed, URI remoteWonNode, String welcomeMessage) { // create facet model Model facetModel = WonRdfUtils.FacetUtils.createFacetModelForHintOrConnect(localFacet, remoteFacet); RdfUtils.replaceBaseResource(facetModel, facetModel.createResource(messageURI.toString())); if (welcomeMessage != null){ WonRdfUtils.MessageUtils.addMessage(facetModel, welcomeMessage); } return new WonMessageBuilder(messageURI) .setWonMessageDirection(WonMessageDirection.FROM_OWNER) .setWonMessageType(WonMessageType.CONNECT) .setSenderNeedURI(localNeed) .setSenderNodeURI(localWonNode) .setReceiverNeedURI(remoteNeed) .setReceiverNodeURI(remoteWonNode) .addContent(facetModel) .setSentTimestampToNow(); }
public static WonMessageBuilder setMessagePropertiesForHintFeedback( URI messageURI, URI connectionURI, URI needURI, URI wonNodeURI, boolean booleanFeedbackValue) { Model contentModel = WonRdfUtils.MessageUtils.binaryFeedbackMessage(connectionURI, booleanFeedbackValue); Resource msgResource = contentModel.createResource(messageURI.toString()); RdfUtils.replaceBaseResource(contentModel, msgResource); return new WonMessageBuilder(messageURI) .setWonMessageDirection(WonMessageDirection.FROM_OWNER) .setWonMessageType(WonMessageType.HINT_FEEDBACK_MESSAGE) .setReceiverNodeURI(wonNodeURI) .setReceiverURI(connectionURI) .setReceiverNeedURI(needURI) .setSenderNodeURI(wonNodeURI) .setSenderNeedURI(needURI) .setSenderURI(connectionURI) .setSentTimestampToNow() .addContent(contentModel); }
public static WonMessageBuilder setMessagePropertiesForOpen( URI messageURI, URI localConnection, URI localNeed, URI localWonNode, URI remoteConnection, URI remoteNeed, URI remoteWonNode, String welcomeMessage) { return new WonMessageBuilder(messageURI) .setWonMessageDirection(WonMessageDirection.FROM_OWNER) .setWonMessageType(WonMessageType.OPEN) .setSenderURI(localConnection) .setSenderNeedURI(localNeed) .setSenderNodeURI(localWonNode) .setReceiverURI(remoteConnection) .setReceiverNeedURI(remoteNeed) .setReceiverNodeURI(remoteWonNode) .setTextMessage(welcomeMessage) .setSentTimestampToNow(); }
public static WonMessageBuilder setMessagePropertiesForClose( URI messageURI, WonMessageDirection direction, URI localConnection, URI localNeed, URI localWonNode, URI remoteConnection, URI remoteNeed, URI remoteWonNode, String farewellMessage) { return new WonMessageBuilder(messageURI) .setWonMessageDirection(direction) .setWonMessageType(WonMessageType.CLOSE) .setSenderURI(localConnection) .setSenderNeedURI(localNeed) .setSenderNodeURI(localWonNode) .setReceiverURI(remoteConnection) .setReceiverNeedURI(remoteNeed) .setReceiverNodeURI(remoteWonNode) .setTextMessage(farewellMessage) .setSentTimestampToNow(); }
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(); }
Model content) { return new WonMessageBuilder(messageURI) .setWonMessageDirection(WonMessageDirection.FROM_OWNER) .setWonMessageType(WonMessageType.CONNECTION_MESSAGE) URI remoteWonNode, String textMessage) { return new WonMessageBuilder(messageURI) .setWonMessageDirection(WonMessageDirection.FROM_OWNER) .setWonMessageType(WonMessageType.CONNECTION_MESSAGE)
/** * Copies the envelope properties from the specified message to this message. * * Note that this does not copy the original envelope graph, only the * standard envelope properties. * * @param wonMessage * @return */ public static WonMessageBuilder copyEnvelopeFromWonMessage(final WonMessage wonMessage) { WonMessageBuilder builder = new WonMessageBuilder(wonMessage.getMessageURI()) .setWonMessageType(wonMessage.getMessageType()) .setReceiverURI(wonMessage.getReceiverURI()) .setReceiverNeedURI(wonMessage.getReceiverNeedURI()) .setReceiverNodeURI(wonMessage.getReceiverNodeURI()) .setSenderURI(wonMessage.getSenderURI()) .setSenderNeedURI(wonMessage.getSenderNeedURI()) .setSenderNodeURI(wonMessage.getSenderNodeURI()); if (wonMessage.getIsResponseToMessageType() != null){ builder.setIsResponseToMessageType(wonMessage.getIsResponseToMessageType()); } if (wonMessage.getIsResponseToMessageURI() != null){ builder.setIsResponseToMessageURI(wonMessage.getIsResponseToMessageURI()); } if (wonMessage.getIsRemoteResponseToMessageURI() != null){ builder.setIsRemoteResponseToMessageURI(wonMessage.getIsRemoteResponseToMessageURI()); } return builder; }
public static WonMessageBuilder setPropertiesForNodeResponse(WonMessage originalMessage, boolean isSuccess, URI messageURI){ WonMessageBuilder messageBuilder = new WonMessageBuilder(messageURI) .setWonMessageType(isSuccess? WonMessageType.SUCCESS_RESPONSE : WonMessageType .FAILURE_RESPONSE);