private String generateRules(final Process process) {
StringBuilder builder = new StringBuilder();
if ( process instanceof WorkflowProcessImpl ) {
WorkflowProcessImpl ruleFlow = (WorkflowProcessImpl) process;
builder.append( "package " + ruleFlow.getPackageName() + "\n" );
List<String> imports = ruleFlow.getImports();
if ( imports != null ) {
for ( String importString: imports ) {
builder.append( "import " + importString + ";\n" );
}
}
List<String> functionImports = ruleFlow.getFunctionImports();
if ( functionImports != null ) {
for ( String importString: functionImports ) {
builder.append( "import function " + importString + ";\n" );
}
}
Map<String, String> globals = ruleFlow.getGlobals();
if ( globals != null ) {
for ( Map.Entry<String, String> entry: globals.entrySet()) {
builder.append( "global " + entry.getValue() + " " + entry.getKey() + ";\n" );
}
}
Node[] nodes = ruleFlow.getNodes();
for ( int i = 0; i < nodes.length; i++ ) {
if ( nodes[i] instanceof Split ) {
Split split = (Split) nodes[i];
if ( split.getType() == Split.TYPE_XOR || split.getType() == Split.TYPE_OR ) {
for ( Connection connection : split.getDefaultOutgoingConnections() ) {