/** * Adds a correlation on this send task. * <p> * It's possible to define up to five correlations. If more then five correlations are defined, the process becomes invalid. * <p> * The expressions representing correlation key and correlation value are evaluated once during the flow node initialization. * * @param correlationKey expression representing the correlation key. * @param value expression representing the correlation value. * @return */ public SendTaskDefinitionBuilder addCorrelation(final Expression correlationKey, final Expression value) { final SendTaskDefinitionImpl sendTask = getActivity(); sendTask.addCorrelation(correlationKey, value); if (sendTask.getMessageTrigger().getCorrelations().size() > 5) { getProcessBuilder().addError("The limit of correlation keys are 5 on send task: " + sendTask.getName()); } return this; }
/** * Adds a correlation on this send task. * <p> * It's possible to define up to five correlations. If more then five correlations are defined, the process becomes invalid. * <p> * The expressions representing correlation key and correlation value are evaluated once during the flow node initialization. * * @param correlationKey expression representing the correlation key. * @param value expression representing the correlation value. * @return */ public SendTaskDefinitionBuilder addCorrelation(final Expression correlationKey, final Expression value) { final SendTaskDefinitionImpl sendTask = getActivity(); sendTask.addCorrelation(correlationKey, value); if (sendTask.getMessageTrigger().getCorrelations().size() > 5) { getProcessBuilder().addError("The limit of correlation keys are 5 on send task: " + sendTask.getName()); } return this; }
.getMessageEventTriggerDefinitions() .get(0); assertEquals(expectedThrowMessage.getCorrelations(), actualThrowMessage.getCorrelations()); assertEquals(1, actualThrowMessage.getCorrelations().size()); assertEquals(expectedThrowMessage.getDataDefinitions(), actualThrowMessage.getDataDefinitions()); assertEquals(1, actualThrowMessage.getDataDefinitions().size());
@Test public void readProcessWithSendTaskFromBusinessArchive() throws Exception { final ProcessDefinitionBuilder builder = new ProcessDefinitionBuilder().createNewInstance("MyProcess", "1.0"); final SendTaskDefinitionBuilder sendTaskDefinitionBuilder = builder.addSendTask("sendTask", "messageName", new ExpressionBuilder().createConstantStringExpression("processName")); sendTaskDefinitionBuilder.setTargetFlowNode(new ExpressionBuilder().createConstantStringExpression("flowNodeName")); sendTaskDefinitionBuilder.addCorrelation(new ExpressionBuilder().createConstantStringExpression("un"), new ExpressionBuilder().createConstantStringExpression("value")); sendTaskDefinitionBuilder.addMessageContentExpression(new ExpressionBuilder().createConstantStringExpression("myData"), new ExpressionBuilder().createConstantStringExpression("dataValue")); final DesignProcessDefinition result = getDesignProcessDefinition(builder); final SendTaskDefinition flowNode = (SendTaskDefinition) result.getFlowElementContainer().getFlowNode("sendTask"); assertEquals("sendTask", flowNode.getName()); final ThrowMessageEventTriggerDefinition messageTrigger = flowNode.getMessageTrigger(); assertEquals("processName", messageTrigger.getTargetProcess().getContent()); assertEquals("messageName", messageTrigger.getMessageName()); assertEquals("flowNodeName", messageTrigger.getTargetFlowNode().getContent()); assertEquals("myData", messageTrigger.getDataDefinitions().get(0).getName()); assertEquals("java.lang.String", messageTrigger.getDataDefinitions().get(0).getClassName()); assertEquals("dataValue", messageTrigger.getDataDefinitions().get(0).getDefaultValueExpression().getContent()); assertEquals("un", messageTrigger.getCorrelations().get(0).getKey().getContent()); assertEquals("value", messageTrigger.getCorrelations().get(0).getValue().getContent()); }