From 430b89d35e7f5fd8863ad077b5a2838c3a0af773 Mon Sep 17 00:00:00 2001 From: Walter Medvedeo Date: Tue, 12 Nov 2013 13:17:01 +0100 Subject: [PATCH] BZ-1007971 - Decision logic design should be more intuitive KieFunctions import was added to the java class generated for processes --- .../dialect/java/JavaProcessClassBuilder.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/jbpm-flow-builder/src/main/java/org/jbpm/process/builder/dialect/java/JavaProcessClassBuilder.java b/jbpm-flow-builder/src/main/java/org/jbpm/process/builder/dialect/java/JavaProcessClassBuilder.java index 2b5587bfdd..3a995323c8 100644 --- a/jbpm-flow-builder/src/main/java/org/jbpm/process/builder/dialect/java/JavaProcessClassBuilder.java +++ b/jbpm-flow-builder/src/main/java/org/jbpm/process/builder/dialect/java/JavaProcessClassBuilder.java @@ -16,7 +16,9 @@ package org.jbpm.process.builder.dialect.java; +import java.util.ArrayList; import java.util.Iterator; +import java.util.List; import org.drools.core.util.StringUtils; import org.drools.compiler.lang.descr.ProcessDescr; @@ -32,6 +34,11 @@ public class JavaProcessClassBuilder implements ProcessClassBuilder { + protected static List systemImports = new ArrayList(); + static { + systemImports.add( org.drools.core.util.KieFunctions.class.getName() ); + } + /* (non-Javadoc) * @see org.drools.core.rule.builder.dialect.java.RuleClassBuilder#buildRule(org.drools.core.rule.builder.BuildContext, org.drools.core.rule.builder.dialect.java.BuildUtils, RuleDescr) */ @@ -50,6 +57,12 @@ public String buildRule(final ProcessBuildContext context) { buffer.append( "import " + decl.getTarget() + ";" + lineSeparator ); } + for ( String systemImport : systemImports ) { + if ( !context.getPkg().getImports().containsKey( systemImport ) ) { + buffer.append( "import ").append( systemImport ).append( ";" ).append( lineSeparator ); + } + } + for ( final Iterator it = context.getPkg().getStaticImports().iterator(); it.hasNext(); ) { buffer.append( "import static " + it.next() + ";" + lineSeparator ); }