private boolean isInDefaultLanguage(ScriptTypeValue value) { return value != null && DEFAULT_LANGUAGE.equals(value.getLanguage()); }
public String serialize(final ScriptTypeValue value) { final StringBuffer serializedValue = new StringBuffer(); appendValue(serializedValue, value.getLanguage()); serializedValue.append(DELIMITER); appendValue(serializedValue, value.getScript()); return serializedValue.toString(); }
protected void applyConditionalEventProperties(ConditionalEventDefinition event, Map<String, String> properties) { FormalExpression conditionExpression = Bpmn2Factory.eINSTANCE.createFormalExpression(); ScriptTypeValue value = new ScriptTypeTypeSerializer().parse(properties.get("conditionexpression")); if (value.getLanguage() != null && !value.getLanguage().isEmpty()) { String languageFormat = Utils.getScriptLanguageFormat(value.getLanguage()); if (languageFormat == null) { //default to drools languageFormat = "http://www.jboss.org/drools/rule"; } conditionExpression.setLanguage(languageFormat); } if (value.getScript() != null && !value.getScript().isEmpty()) { String scriptStr = value.getScript().replaceAll("\\\\n", "\n"); conditionExpression.setBody(wrapInCDATABlock(scriptStr)); } event.setCondition(conditionExpression); }
private String buildExpectedSerialization(List<ScriptTypeValue> scriptTypeListValues) { return scriptTypeListValues.stream() .map(scriptType -> buildExpectedScriptSerialization(scriptType.getLanguage(), scriptType.getScript())) .collect(Collectors.joining(DELIMITER)); }
public void setScript(ScriptTypeValue script) { scriptTask.setScriptFormat( Scripts.scriptLanguageToUri(script.getLanguage())); String scriptText = script.getScript(); if (scriptText != null && !scriptText.isEmpty()) { scriptTask.setScript(asCData(scriptText)); } }
protected void applySequenceFlowCondition(SequenceFlow sequenceFlow, Map<String, String> properties) { String conditionExpression = properties.get("conditionexpression"); if (conditionExpression != null && !conditionExpression.isEmpty()) { ScriptTypeValue value = new ScriptTypeTypeSerializer().parse(conditionExpression); if (value.getScript() != null && !value.getScript().isEmpty()) { FormalExpression expr = Bpmn2Factory.eINSTANCE.createFormalExpression(); expr.setBody(wrapInCDATABlock(value.getScript())); if (value.getLanguage() != null && !value.getLanguage().isEmpty()) { String languageFormat = Utils.getScriptLanguageFormat(value.getLanguage()); if (languageFormat == null) { //default to mvel languageFormat = "http://www.mvel.org/2.0"; } expr.setLanguage(languageFormat); } sequenceFlow.setConditionExpression(expr); } } }
@Override public void setValue(ScriptTypeValue value) { super.setValue(value); if (value != null) { view.setLanguage(value.getLanguage()); view.setScript(value.getScript()); } }
private ScriptTypeValue copy(ScriptTypeValue source, boolean createIfSourceNull) { if (source == null) { return createIfSourceNull ? new ScriptTypeValue() : null; } ScriptTypeValue copy = new ScriptTypeValue(); copy.setScript(source.getScript()); copy.setLanguage(source.getLanguage()); return copy; } }
protected void applyScriptTaskProperties(ScriptTask scriptTask, Map<String, String> properties) { String scriptTypeStr = properties.get("script"); if (scriptTypeStr != null && !scriptTypeStr.isEmpty()) { ScriptTypeValue value = new ScriptTypeTypeSerializer().parse(scriptTypeStr); if (value.getScript() != null && !value.getScript().isEmpty()) { scriptTask.setScript(wrapInCDATABlock(value.getScript())); } String languageFormat = Utils.getScriptLanguageFormat(value.getLanguage()); if (languageFormat == null) { //default to java languageFormat = "http://www.java.com/java"; } scriptTask.setScriptFormat(languageFormat); } }
public void setConditionExpression(ScriptTypeValue scriptTypeValue) { String language = scriptTypeValue.getLanguage(); String script = scriptTypeValue.getScript(); if (script != null && !script.isEmpty()) { FormalExpression formalExpression = bpmn2.createFormalExpression(); String uri = Scripts.scriptLanguageToUri(language); formalExpression.setLanguage(uri); formalExpression.setBody(asCData(script)); sequenceFlow.setConditionExpression(formalExpression); } } }
private void assertConditionLanguage(Diagram<Graph, Metadata> diagram, String id, String value) { List<Node> nodes = getNodes(diagram); Optional<SequenceFlow> sequenceFlow = Stream.concat(nodes.stream().flatMap(node -> { List<Edge> d = node.getInEdges(); return d.stream(); }), nodes.stream().flatMap(node -> { List<Edge> d = node.getOutEdges(); return d.stream(); })) .filter(edge -> edge.getUUID().equals(id)) .map(node -> (View) node.getContent()) .filter(view -> view.getDefinition() instanceof SequenceFlow) .map(view -> ((SequenceFlow) view.getDefinition())) .findFirst(); String conditionLanguage = (sequenceFlow.isPresent() ? sequenceFlow.get().getExecutionSet().getConditionExpression().getValue().getLanguage() : null); assertEquals(value, conditionLanguage); }
public static void setOnExitAction(FlowElement flowElement, OnExitAction onExitAction) { ScriptTypeListValue value = onExitAction.getValue(); for (ScriptTypeValue scriptTypeValue : value.getValues()) { String scriptText = scriptTypeValue.getScript(); if (scriptText == null || scriptText.isEmpty()) { continue; } OnExitScriptType script = droolsFactory.createOnExitScriptType(); script.setScript(asCData(scriptText)); String scriptLanguage = Scripts.scriptLanguageToUri(scriptTypeValue.getLanguage()); script.setScriptFormat(scriptLanguage); addExtensionValue(flowElement, DOCUMENT_ROOT__ON_EXIT_SCRIPT, script); } }
public static void setOnEntryAction(FlowElement flowElement, OnEntryAction onEntryAction) { ScriptTypeListValue value = onEntryAction.getValue(); for (ScriptTypeValue scriptTypeValue : value.getValues()) { String scriptText = scriptTypeValue.getScript(); if (scriptText == null || scriptText.isEmpty()) { continue; } OnEntryScriptType script = droolsFactory.createOnEntryScriptType(); script.setScript(asCData(scriptTypeValue.getScript())); String scriptLanguage = Scripts.scriptLanguageToUri(scriptTypeValue.getLanguage()); script.setScriptFormat(scriptLanguage); addExtensionValue(flowElement, DOCUMENT_ROOT__ON_ENTRY_SCRIPT, script); } }
public void setAdHocCompletionCondition(AdHocCompletionCondition adHocCompletionCondition) { FormalExpression e = bpmn2.createFormalExpression(); ScriptTypeValue s = adHocCompletionCondition.getValue(); e.setLanguage(scriptLanguageToUri(s.getLanguage())); e.setBody(asCData(s.getScript())); process.setCompletionCondition(e); } }
public void addCondition(ConditionExpression condition) { ConditionalEventDefinition conditionalEventDefinition = bpmn2.createConditionalEventDefinition(); FormalExpression conditionExpression = bpmn2.createFormalExpression(); String languageFormat = Scripts.scriptLanguageToUri(condition.getValue().getLanguage(), Scripts.LANGUAGE.DROOLS.format()); conditionExpression.setLanguage(languageFormat); String conditionScript = condition.getValue().getScript(); if (conditionScript != null && !conditionScript.isEmpty()) { conditionExpression.setBody(asCData(conditionScript)); } conditionalEventDefinition.setCondition(conditionExpression); addEventDefinition(conditionalEventDefinition); }
@Test public void testParse() { ScriptTypeValue result = serializer.parse(scriptTypeSerialized); assertEquals(LANGUAGE, result.getLanguage()); assertEquals(SCRIPT, result.getScript()); }
private void assertScriptTaskExecutionSet(ScriptTaskExecutionSet executionSet, String script, String scriptLanguage, boolean isAsync) { assertNotNull(executionSet); assertNotNull(executionSet.getScript()); assertNotNull(executionSet.getScript().getValue()); assertNotNull(executionSet.getIsAsync()); assertEquals(script, executionSet.getScript().getValue().getScript()); assertEquals(scriptLanguage, executionSet.getScript().getValue().getLanguage()); assertEquals(isAsync, executionSet.getIsAsync().getValue()); } }
private void assertConditionalEventExecutionSet(CancellingConditionalEventExecutionSet executionSet, String conditionExpressionScript, String conditionExpressionLanguage, String conditionExpressionType, boolean isCancelling) { assertNotNull(executionSet); assertNotNull(executionSet.getConditionExpression()); assertNotNull(executionSet.getConditionExpression().getValue()); assertNotNull(executionSet.getConditionExpression().getType()); assertNotNull(executionSet.getCancelActivity()); assertEquals(conditionExpressionLanguage, executionSet.getConditionExpression().getValue().getLanguage()); assertEquals(conditionExpressionScript, executionSet.getConditionExpression().getValue().getScript()); assertEquals(conditionExpressionType, executionSet.getConditionExpression().getType().getName()); assertEquals(isCancelling, executionSet.getCancelActivity().getValue()); } }
private void assertConditionalEventExecutionSet(InterruptingConditionalEventExecutionSet executionSet, String conditionExpressionScript, String conditionExpressionLanguage, String conditionExpressionType, boolean isInterrupting) { assertNotNull(executionSet); assertNotNull(executionSet.getConditionExpression()); assertNotNull(executionSet.getConditionExpression().getValue()); assertNotNull(executionSet.getConditionExpression().getType()); assertNotNull(executionSet.getIsInterrupting()); assertEquals(conditionExpressionLanguage, executionSet.getConditionExpression().getValue().getLanguage()); assertEquals(conditionExpressionScript, executionSet.getConditionExpression().getValue().getScript()); assertEquals(conditionExpressionType, executionSet.getConditionExpression().getType().getName()); assertEquals(isInterrupting, executionSet.getIsInterrupting().getValue()); } }
private void assertConditionalEventExecutionSet(CancellingConditionalEventExecutionSet executionSet, String conditionExpressionScript, String conditionExpressionLanguage, String conditionExpressionType, boolean isCancelling) { assertNotNull(executionSet); assertNotNull(executionSet.getConditionExpression()); assertNotNull(executionSet.getConditionExpression().getValue()); assertNotNull(executionSet.getConditionExpression().getType()); assertNotNull(executionSet.getCancelActivity()); assertEquals(conditionExpressionLanguage, executionSet.getConditionExpression().getValue().getLanguage()); assertEquals(conditionExpressionScript, executionSet.getConditionExpression().getValue().getScript()); assertEquals(conditionExpressionType, executionSet.getConditionExpression().getType().getName()); assertEquals(isCancelling, executionSet.getCancelActivity().getValue()); } }