ConnectorDefinitionBuilder(final ProcessDefinitionBuilder processDefinitionBuilder, final FlowElementContainerDefinitionImpl container, final String name, final String connectorId, final String version, final ConnectorEvent activationEvent) { super(container, processDefinitionBuilder); this.processDefinitionBuilder = processDefinitionBuilder; connectorDefinition = new ConnectorDefinitionImpl(name, connectorId, version, activationEvent); container.addConnector(connectorDefinition); }
/** * Adds a connector input * @param name input name * @param value expression representing the input value * @return */ public ConnectorDefinitionBuilder addInput(final String name, final Expression value) { if (value == null) { processDefinitionBuilder.addError("The input " + name + " of connector " + connectorDefinition.getName() + " is null"); } else { connectorDefinition.addInput(name, value); } return this; }
/** * Makes connector to throw an BPMN Error Event when it fails * @param errorCode error code to be thrown * @return */ public ConnectorDefinitionBuilder throwErrorEventWhenFailed(final String errorCode) { connectorDefinition.setFailAction(FailAction.ERROR_EVENT); connectorDefinition.setErrorCode(errorCode); return this; }
public static ConnectorDefinition toConnectorDefinition(final SConnectorDefinition connector) { final ConnectorDefinitionImpl connectorDefinitionImpl = new ConnectorDefinitionImpl(connector.getName(), connector.getConnectorId(), connector.getVersion(), connector.getActivationEvent()); // connectorDefinitionImpl.setId(connector.getId()); for (final Entry<String, SExpression> input : connector.getInputs().entrySet()) { connectorDefinitionImpl.addInput(input.getKey(), toExpression(input.getValue())); } for (final SOperation operation : connector.getOutputs()) { connectorDefinitionImpl.addOutput(toOperation(operation)); } return connectorDefinitionImpl; }
/** * Adds a connector output operation * @param operation operation to be executed at connector completion * @return */ public ConnectorDefinitionBuilder addOutput(final Operation operation) { connectorDefinition.addOutput(operation); if (operation.getRightOperand() == null) { getProcessBuilder().addError("operation on connector " + connectorDefinition.getName() + " has no expression in left operand"); } return this; }
/** * Adds a connector output operation * @param leftOperand * operation left operand * @param type * operator type * @param operator * operator * @param rightOperand * expression representing the right operand * @return */ public ConnectorDefinitionBuilder addOutput(final LeftOperand leftOperand, final OperatorType type, final String operator, final Expression rightOperand) { connectorDefinition.addOutput(new OperationBuilder().createNewInstance().setRightOperand(rightOperand).setType(type).setOperator(operator) .setLeftOperand(leftOperand).done()); checkRightOperand(rightOperand); return this; }
private void checkRightOperand(final Expression rightOperand) { if (rightOperand == null) { getProcessBuilder().addError("operation on connector " + connectorDefinition.getName() + " has no expression in left operand"); } }
/** * Makes connector to ignore errors during its execution * @return */ public ConnectorDefinitionBuilder ignoreError() { connectorDefinition.setFailAction(FailAction.IGNORE); return this; }
public static ConnectorDefinition toConnectorDefinition(final SConnectorDefinition connector) { final ConnectorDefinitionImpl connectorDefinitionImpl = new ConnectorDefinitionImpl(connector.getName(), connector.getConnectorId(), connector.getVersion(), connector.getActivationEvent()); // connectorDefinitionImpl.setId(connector.getId()); for (final Entry<String, SExpression> input : connector.getInputs().entrySet()) { connectorDefinitionImpl.addInput(input.getKey(), toExpression(input.getValue())); } for (final SOperation operation : connector.getOutputs()) { connectorDefinitionImpl.addOutput(toOperation(operation)); } return connectorDefinitionImpl; }
/** * Adds a connector output operation * @param operation operation to be executed at connector completion * @return */ public ConnectorDefinitionBuilder addOutput(final Operation operation) { connectorDefinition.addOutput(operation); if (operation.getRightOperand() == null) { getProcessBuilder().addError("operation on connector " + connectorDefinition.getName() + " has no expression in left operand"); } return this; }
/** * Adds a connector output operation * @param leftOperand * operation left operand * @param type * operator type * @param operator * operator * @param rightOperand * expression representing the right operand * @return */ public ConnectorDefinitionBuilder addOutput(final LeftOperand leftOperand, final OperatorType type, final String operator, final Expression rightOperand) { connectorDefinition.addOutput(new OperationBuilder().createNewInstance().setRightOperand(rightOperand).setType(type).setOperator(operator) .setLeftOperand(leftOperand).done()); checkRightOperand(rightOperand); return this; }
private void checkRightOperand(final Expression rightOperand) { if (rightOperand == null) { getProcessBuilder().addError("operation on connector " + connectorDefinition.getName() + " has no expression in left operand"); } }
/** * Makes connector to ignore errors during its execution * @return */ public ConnectorDefinitionBuilder ignoreError() { connectorDefinition.setFailAction(FailAction.IGNORE); return this; }
/** * Adds a connector input * @param name input name * @param value expression representing the input value * @return */ public ConnectorDefinitionBuilder addInput(final String name, final Expression value) { if (value == null) { processDefinitionBuilder.addError("The input " + name + " of connector " + connectorDefinition.getName() + " is null"); } else { connectorDefinition.addInput(name, value); } return this; }
ConnectorDefinitionBuilder(final ProcessDefinitionBuilder processDefinitionBuilder, final FlowElementContainerDefinitionImpl container, final String name, final String connectorId, final String version, final ConnectorEvent activationEvent, final ActivityDefinition activity) { super(container, processDefinitionBuilder); this.processDefinitionBuilder = processDefinitionBuilder; connectorDefinition = new ConnectorDefinitionImpl(name, connectorId, version, activationEvent); activity.addConnector(connectorDefinition); }
/** * Adds a connector output operation * @param leftOperand * operation left operand * @param type * operator type * @param operator * operator * @param operatorInputType * the input operator type. For instance, the parameter type in the case of a Java setter * @param rightOperand * expression representing the right operand * @return */ public ConnectorDefinitionBuilder addOutput(final LeftOperand leftOperand, final OperatorType type, final String operator, final String operatorInputType, final Expression rightOperand) { connectorDefinition.addOutput(new OperationBuilder().createNewInstance().setRightOperand(rightOperand).setType(type).setOperator(operator) .setOperatorInputType(operatorInputType).setLeftOperand(leftOperand).done()); checkRightOperand(rightOperand); return this; }
/** * Makes connector to throw an BPMN Error Event when it fails * @param errorCode error code to be thrown * @return */ public ConnectorDefinitionBuilder throwErrorEventWhenFailed(final String errorCode) { connectorDefinition.setFailAction(FailAction.ERROR_EVENT); connectorDefinition.setErrorCode(errorCode); return this; }
ConnectorDefinitionBuilder(final ProcessDefinitionBuilder processDefinitionBuilder, final FlowElementContainerDefinitionImpl container, final String name, final String connectorId, final String version, final ConnectorEvent activationEvent) { super(container, processDefinitionBuilder); this.processDefinitionBuilder = processDefinitionBuilder; connectorDefinition = new ConnectorDefinitionImpl(name, connectorId, version, activationEvent); container.addConnector(connectorDefinition); }
/** * Adds a connector output operation * @param leftOperand * operation left operand * @param type * operator type * @param operator * operator * @param operatorInputType * the input operator type. For instance, the parameter type in the case of a Java setter * @param rightOperand * expression representing the right operand * @return */ public ConnectorDefinitionBuilder addOutput(final LeftOperand leftOperand, final OperatorType type, final String operator, final String operatorInputType, final Expression rightOperand) { connectorDefinition.addOutput(new OperationBuilder().createNewInstance().setRightOperand(rightOperand).setType(type).setOperator(operator) .setOperatorInputType(operatorInputType).setLeftOperand(leftOperand).done()); checkRightOperand(rightOperand); return this; }
ConnectorDefinitionBuilder(final ProcessDefinitionBuilder processDefinitionBuilder, final FlowElementContainerDefinitionImpl container, final String name, final String connectorId, final String version, final ConnectorEvent activationEvent, final ActivityDefinition activity) { super(container, processDefinitionBuilder); this.processDefinitionBuilder = processDefinitionBuilder; connectorDefinition = new ConnectorDefinitionImpl(name, connectorId, version, activationEvent); activity.addConnector(connectorDefinition); }