2017年2月24日金曜日

BPMN2: conditionExpression に対応する language

Condition Expression Language

jbpm 7.0.0.Beta6



java
http://www.java.com/java

org.kie.api.runtime.process.ProcessContext context;
例: return "0".equals(context.getVariable("Decision"));
テンプレート
package myteam.test7;
import myteam.test7.*;
import org.drools.core.util.KieFunctions;
public class Process_myteam$u46$test7$u46$FormTest1631019649 {
    private static final long serialVersionUID = 510l;

public static Object returnValueEvaluator0(org.kie.api.runtime.process.ProcessContext kcontext    ) throws Exception {
    org.kie.api.runtime.process.ProcessContext context = kcontext;
    ** CONDITION HERE **
}


public static Object returnValueEvaluator1(org.kie.api.runtime.process.ProcessContext kcontext    ) throws Exception {
    org.kie.api.runtime.process.ProcessContext context = kcontext;
    return false;
}

}

javascript
http://www.javascript.com/javascript

使用方法不明

mvel
http://www.mvel.org/2.0

Wikipedia
例: context.getVariable('variable1') == '1'

drools
http://www.jboss.org/drools/rule

?
テンプレートコード
package myteam.test7
rule "RuleFlow-Split-test7.FormTest-2-3-DROOLS_DEFAULT"  @Propagation(EAGER) 
      ruleflow-group "DROOLS_SYSTEM" 
    when 
      ** CONDITION HERE **
    then 
end 


Activiti 5.x

ソースコードをチェックしましたところ、javax.script.ScriptEngine を使っている様子です。

juel

JUEL 2.2.1 の修正版を用いているようです。
出所
例: ${vacationApproved == 'true'}
例: ${vacationApproved == 'false'}

groovy

https://en.wikipedia.org/wiki/Groovy_(programming_language)
出所
例: if(throwException == 'true') { throw new java.lang.RuntimeException('Activiti Engine Rocks!'); }



tFormalExpression それ自体は余り関係ないようです…

0 件のコメント:

コメントを投稿