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); } } }
protected void applyAdHocSubProcessProperties(AdHocSubProcess ahsp, Map<String, String> properties) { if (properties.get("adhocordering") != null) { if (properties.get("adhocordering").equals("Parallel")) { ahsp.setOrdering(AdHocOrdering.PARALLEL); } else { ahsp.setOrdering(AdHocOrdering.SEQUENTIAL); } } String adHocCompletionCondition = properties.get("adhoccompletioncondition"); if (adHocCompletionCondition != null) { ScriptTypeValue value = new ScriptTypeTypeSerializer().parse(adHocCompletionCondition); FormalExpression completionConditionExpression = Bpmn2Factory.eINSTANCE.createFormalExpression(); String completionExpression = value.getScript(); if (completionExpression == null || completionExpression.isEmpty()) { //default to autocomplete completionExpression = "autocomplete"; } completionConditionExpression.setBody(wrapInCDATABlock(completionExpression)); String languageFormat = Utils.getScriptLanguageFormat(value.getLanguage()); if (languageFormat == null) { //default to mvel languageFormat = "mvel"; } completionConditionExpression.setLanguage(languageFormat); ahsp.setCompletionCondition(completionConditionExpression); } }
timeCycleExpression.setBody(timeCycle); if (timeCycleLanguage != null && timeCycleLanguage.length() > 0) { timeCycleExpression.setLanguage(timeCycleLanguage);
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); }
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); } } }
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); }
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 addTimer(TimerSettings timerSettings) { TimerEventDefinition eventDefinition = bpmn2.createTimerEventDefinition(); TimerSettingsValue timerSettingsValue = timerSettings.getValue(); String date = timerSettingsValue.getTimeDate(); if (date != null) { FormalExpression timeDate = bpmn2.createFormalExpression(); timeDate.setBody(date); eventDefinition.setTimeDate(timeDate); } String duration = timerSettingsValue.getTimeDuration(); if (duration != null) { FormalExpression timeDuration = bpmn2.createFormalExpression(); timeDuration.setBody(duration); eventDefinition.setTimeDuration(timeDuration); } String cycle = timerSettingsValue.getTimeCycle(); String cycleLanguage = timerSettingsValue.getTimeCycleLanguage(); if (cycle != null && cycleLanguage != null) { FormalExpression timeCycleExpression = bpmn2.createFormalExpression(); timeCycleExpression.setBody(cycle); timeCycleExpression.setLanguage(cycleLanguage); eventDefinition.setTimeCycle(timeCycleExpression); } addEventDefinition(eventDefinition); }