private Package getProcessSubProcess() {
RuleFlowProcess process = new RuleFlowProcess();
process.setId( "org.drools.test.TestProcess" );
process.setName( "TestProcess" );
process.setPackageName( "org.drools.test" );
StartNode start = new StartNode();
start.setId( 1 );
start.setName( "Start" );
process.addNode( start );
ActionNode actionNode = new ActionNode();
actionNode.setId( 2 );
actionNode.setName( "Action" );
DroolsConsequenceAction action = new DroolsConsequenceAction();
action.setDialect( "java" );
action.setConsequence( "System.out.println(\"Executed action\");" );
actionNode.setAction( action );
process.addNode( actionNode );
new ConnectionImpl( start,
Node.CONNECTION_DEFAULT_TYPE,
actionNode,
Node.CONNECTION_DEFAULT_TYPE );
SubProcessNode subProcessNode = new SubProcessNode();
subProcessNode.setId( 3 );
subProcessNode.setName( "SubProcess" );
subProcessNode.setProcessId( "org.drools.test.SubProcess" );
process.addNode( subProcessNode );
new ConnectionImpl( actionNode,
Node.CONNECTION_DEFAULT_TYPE,
subProcessNode,
Node.CONNECTION_DEFAULT_TYPE );
EndNode end = new EndNode();
end.setId( 4 );
end.setName( "End" );
process.addNode( end );
new ConnectionImpl( subProcessNode,
Node.CONNECTION_DEFAULT_TYPE,
end,
Node.CONNECTION_DEFAULT_TYPE );
PackageBuilder packageBuilder = new PackageBuilder();
ProcessBuilderImpl processBuilder = new ProcessBuilderImpl( packageBuilder );
processBuilder.buildProcess( process,
null );
process = new RuleFlowProcess();
process.setId( "org.drools.test.SubProcess" );
process.setName( "SubProcess" );
process.setPackageName( "org.drools.test" );
start = new StartNode();
start.setId( 1 );
start.setName( "Start" );
process.addNode( start );
actionNode = new ActionNode();
actionNode.setId( 2 );
actionNode.setName( "Action" );
action = new DroolsConsequenceAction();