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();
ProcessBuilder processBuilder = new ProcessBuilder( 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();
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 );
WorkItemNode workItemNode = new WorkItemNode();
workItemNode.setId( 3 );
workItemNode.setName( "WorkItem1" );
Work work = new WorkImpl();
work.setName( "MyWork" );
workItemNode.setWork( work );
process.addNode( workItemNode );
new ConnectionImpl( actionNode,
Node.CONNECTION_DEFAULT_TYPE,
workItemNode,
Node.CONNECTION_DEFAULT_TYPE );
end = new EndNode();
end.setId( 6 );
end.setName( "End" );
process.addNode( end );
new ConnectionImpl( workItemNode,
Node.CONNECTION_DEFAULT_TYPE,
end,
Node.CONNECTION_DEFAULT_TYPE );