[jboss-svn-commits] JBL Code SVN: r34983 - in labs/jbossrules/trunk/drools-compiler/src: main/java/org/drools/rule/builder/dialect/java and 4 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Sep 2 18:39:00 EDT 2010
Author: KrisVerlaenen
Date: 2010-09-02 18:38:59 -0400 (Thu, 02 Sep 2010)
New Revision: 34983
Removed:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ActionBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ProcessBuildContext.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ProcessClassBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ReturnValueEvaluatorBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaProcessBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaActionBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaProcessClassBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaReturnValueEvaluatorBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELActionBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueEvaluatorBuilder.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaActionBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaReturnValueConstraintEvaluatorBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELActionBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELDecisionBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueConstraintEvaluatorBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/compiler/xml/XmlTest.xml
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java
Log:
JBRULES-2679: Mdularize Drools Flow
- separating out drools-flow-compiler
Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ActionBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ActionBuilder.java 2010-09-02 21:52:21 UTC (rev 34982)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ActionBuilder.java 2010-09-02 22:38:59 UTC (rev 34983)
@@ -1,14 +0,0 @@
-package org.drools.rule.builder;
-
-import org.drools.lang.descr.ActionDescr;
-import org.drools.process.core.ContextResolver;
-import org.drools.workflow.core.DroolsAction;
-
-public interface ActionBuilder {
-
- public void build(final PackageBuildContext context,
- final DroolsAction action,
- final ActionDescr actionDescr,
- final ContextResolver contextResolver);
-
-}
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ProcessBuildContext.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ProcessBuildContext.java 2010-09-02 21:52:21 UTC (rev 34982)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ProcessBuildContext.java 2010-09-02 22:38:59 UTC (rev 34983)
@@ -1,55 +0,0 @@
-package org.drools.rule.builder;
-
-import org.drools.compiler.Dialect;
-import org.drools.compiler.DialectCompiletimeRegistry;
-import org.drools.compiler.PackageBuilder;
-import org.drools.definition.process.Process;
-import org.drools.lang.descr.BaseDescr;
-import org.drools.lang.descr.ProcessDescr;
-import org.drools.rule.Package;
-
-public class ProcessBuildContext extends PackageBuildContext {
-
- private Process process;
- private ProcessDescr processDescr;
- private DialectCompiletimeRegistry dialectRegistry;
-
- public ProcessBuildContext(final PackageBuilder pkgBuilder,
- final Package pkg,
- final Process process,
- final BaseDescr processDescr,
- final DialectCompiletimeRegistry dialectRegistry,
- final Dialect defaultDialect) {
- this.process = process;
- this.processDescr = (ProcessDescr) processDescr;
- this.dialectRegistry = dialectRegistry;
- init( pkgBuilder,
- pkg,
- processDescr,
- dialectRegistry,
- defaultDialect,
- null );
-
- }
-
- public ProcessDescr getProcessDescr() {
- return processDescr;
- }
-
- public void setProcessDescr(ProcessDescr processDescr) {
- this.processDescr = processDescr;
- }
-
- public Process getProcess() {
- return process;
- }
-
- public void setProcess(Process process) {
- this.process = process;
- }
-
- public DialectCompiletimeRegistry getDialectRegistry() {
- return dialectRegistry;
- }
-
-}
Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ProcessClassBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ProcessClassBuilder.java 2010-09-02 21:52:21 UTC (rev 34982)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ProcessClassBuilder.java 2010-09-02 22:38:59 UTC (rev 34983)
@@ -1,8 +0,0 @@
-package org.drools.rule.builder;
-
-
-public interface ProcessClassBuilder {
-
- public String buildRule(final ProcessBuildContext context);
-
-}
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ReturnValueEvaluatorBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ReturnValueEvaluatorBuilder.java 2010-09-02 21:52:21 UTC (rev 34982)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ReturnValueEvaluatorBuilder.java 2010-09-02 22:38:59 UTC (rev 34983)
@@ -1,14 +0,0 @@
-package org.drools.rule.builder;
-
-import org.drools.compiler.ReturnValueDescr;
-import org.drools.process.core.ContextResolver;
-import org.drools.workflow.instance.impl.ReturnValueConstraintEvaluator;
-
-public interface ReturnValueEvaluatorBuilder {
-
- public void build(final PackageBuildContext context,
- final ReturnValueConstraintEvaluator returnValueConstraintEvaluator,
- final ReturnValueDescr returnValueDescr,
- final ContextResolver contextResolver);
-
-}
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaProcessBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaProcessBuilder.java 2010-09-02 21:52:21 UTC (rev 34982)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaProcessBuilder.java 2010-09-02 22:38:59 UTC (rev 34983)
@@ -1,137 +0,0 @@
-package org.drools.rule.builder.dialect.java;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.compiler.DescrBuildError;
-import org.drools.core.util.StringUtils;
-import org.drools.lang.descr.BaseDescr;
-import org.drools.process.core.ContextResolver;
-import org.drools.process.core.context.variable.Variable;
-import org.drools.process.core.context.variable.VariableScope;
-import org.drools.rule.builder.ProcessBuildContext;
-import org.mvel2.integration.impl.MapVariableResolverFactory;
-import org.mvel2.templates.SimpleTemplateRegistry;
-import org.mvel2.templates.TemplateCompiler;
-import org.mvel2.templates.TemplateRegistry;
-import org.mvel2.templates.TemplateRuntime;
-
-public class AbstractJavaProcessBuilder {
-
- protected static final TemplateRegistry RULE_REGISTRY = new SimpleTemplateRegistry();
- protected static final TemplateRegistry INVOKER_REGISTRY = new SimpleTemplateRegistry();
-
- static {
- RULE_REGISTRY.addNamedTemplate("rules", TemplateCompiler.compileTemplate(AbstractJavaProcessBuilder.class.getResourceAsStream("javaRule.mvel"), null));
- INVOKER_REGISTRY.addNamedTemplate("invokers", TemplateCompiler.compileTemplate(AbstractJavaProcessBuilder.class.getResourceAsStream("javaInvokers.mvel"), null));
-
- /**
- * Process these templates
- */
- TemplateRuntime.execute(RULE_REGISTRY.getNamedTemplate("rules"), null, RULE_REGISTRY);
- TemplateRuntime.execute(INVOKER_REGISTRY.getNamedTemplate("invokers"), null, INVOKER_REGISTRY);
- }
-
- public TemplateRegistry getRuleTemplateRegistry() {
- return RULE_REGISTRY;
- }
-
- public TemplateRegistry getInvokerTemplateRegistry() {
- return INVOKER_REGISTRY;
- }
-
- public Map createVariableContext(final String className,
- final String text,
- final ProcessBuildContext context,
- final String[] globals) {
- final Map map = new HashMap();
-
- map.put("methodName",
- className);
-
- map.put("package",
- context.getPkg().getName());
-
- map.put("processClassName",
- StringUtils.ucFirst(context.getProcessDescr().getClassName()));
-
- map.put("invokerClassName",
- context.getProcessDescr().getClassName() + StringUtils.ucFirst(className) + "Invoker");
-
- if (text != null) {
- map.put("text",
- text);
-
- map.put("hashCode",
- new Integer(text.hashCode()));
- }
-
- final List globalTypes = new ArrayList(globals.length);
- for (int i = 0, length = globals.length; i < length; i++) {
- globalTypes.add(context.getPkg().getGlobals().get(globals[i]).replace('$',
- '.'));
- }
-
- map.put("globals",
- globals);
-
- map.put("globalTypes",
- globalTypes);
-
- return map;
- }
-
- public Map createVariableContext(
- final String className,
- final String text,
- final ProcessBuildContext context,
- final String[] globals,
- final List<String> unboundIdentifiers,
- final ContextResolver contextResolver) {
- Map map = createVariableContext(className, text, context, globals);
- List<String> variables = new ArrayList<String>();
- final List variableTypes = new ArrayList(globals.length);
- for (String variableName: unboundIdentifiers) {
- VariableScope variableScope = (VariableScope) contextResolver.resolveContext(VariableScope.VARIABLE_SCOPE, variableName);
- if (variableScope != null) {
- variables.add(variableName);
- variableTypes.add(variableScope.findVariable(variableName).getType().getStringType());
- }
- }
-
- map.put("variables",
- variables);
-
- map.put("variableTypes",
- variableTypes);
- return map;
- }
-
- public void generatTemplates(final String ruleTemplate,
- final String invokerTemplate,
- final ProcessBuildContext context,
- final String className,
- final Map vars,
- final Object invokerLookup,
- final BaseDescr descrLookup) {
- TemplateRegistry registry = getRuleTemplateRegistry();
-
- context.getMethods().add(
- TemplateRuntime.execute(registry.getNamedTemplate(ruleTemplate), null, new MapVariableResolverFactory(vars), registry)
- );
-
- registry = getInvokerTemplateRegistry();
- final String invokerClassName = context.getPkg().getName() + "." + context.getProcessDescr().getClassName() + StringUtils.ucFirst(className) + "Invoker";
-
- context.getInvokers().put(invokerClassName,
- TemplateRuntime.execute(registry.getNamedTemplate(invokerTemplate), null, new MapVariableResolverFactory(vars), registry)
- );
-
- context.getInvokerLookups().put(invokerClassName,
- invokerLookup);
- context.getDescrLookups().put(invokerClassName,
- descrLookup);
- }
-}
Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaActionBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaActionBuilder.java 2010-09-02 21:52:21 UTC (rev 34982)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaActionBuilder.java 2010-09-02 22:38:59 UTC (rev 34983)
@@ -1,79 +0,0 @@
-/*
- * Copyright 2006 JBoss Inc
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.drools.rule.builder.dialect.java;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.compiler.Dialect;
-import org.drools.lang.descr.ActionDescr;
-import org.drools.process.core.ContextResolver;
-import org.drools.rule.builder.ActionBuilder;
-import org.drools.rule.builder.PackageBuildContext;
-import org.drools.rule.builder.ProcessBuildContext;
-import org.drools.workflow.core.DroolsAction;
-
-/**
- * @author etirelli
- *
- */
-public class JavaActionBuilder extends AbstractJavaProcessBuilder
- implements
- ActionBuilder {
-
- public void build(final PackageBuildContext context,
- final DroolsAction action,
- final ActionDescr actionDescr,
- final ContextResolver contextResolver) {
-
- final String className = "action" + context.getNextId();
-
- JavaDialect dialect = (JavaDialect) context.getDialect( "java" );
-
- Dialect.AnalysisResult analysis = dialect.analyzeBlock( context,
- actionDescr,
- actionDescr.getText(),
- new Map[]{Collections.EMPTY_MAP, context.getPackageBuilder().getGlobals()} );
-
- if ( analysis == null ) {
- // not possible to get the analysis results
- return;
- }
-
- final List<String>[] usedIdentifiers = analysis.getBoundIdentifiers();
-
-
- final Map map = createVariableContext( className,
- actionDescr.getText(),
- (ProcessBuildContext) context,
- (String[]) usedIdentifiers[1].toArray( new String[usedIdentifiers[1].size()] ),
- analysis.getNotBoundedIdentifiers(),
- contextResolver);
- map.put( "text",
- dialect.getKnowledgeHelperFixer().fix( actionDescr.getText() ));
-
- generatTemplates( "actionMethod",
- "actionInvoker",
- (ProcessBuildContext)context,
- className,
- map,
- action,
- actionDescr );
- }
-
-}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java 2010-09-02 21:52:21 UTC (rev 34982)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java 2010-09-02 22:38:59 UTC (rev 34983)
@@ -10,7 +10,6 @@
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import org.drools.base.TypeResolver;
import org.drools.commons.jci.compilers.CompilationResult;
@@ -26,13 +25,10 @@
import org.drools.compiler.PackageRegistry;
import org.drools.compiler.PackageBuilder.ErrorHandler;
import org.drools.compiler.PackageBuilder.FunctionErrorHandler;
-import org.drools.compiler.PackageBuilder.ProcessErrorHandler;
-import org.drools.compiler.PackageBuilder.ProcessInvokerErrorHandler;
import org.drools.compiler.PackageBuilder.RuleErrorHandler;
import org.drools.compiler.PackageBuilder.RuleInvokerErrorHandler;
import org.drools.compiler.PackageBuilder.SrcErrorHandler;
import org.drools.core.util.StringUtils;
-import org.drools.definition.process.Process;
import org.drools.io.Resource;
import org.drools.io.internal.InternalResource;
import org.drools.lang.descr.AccumulateDescr;
@@ -57,7 +53,6 @@
import org.drools.rule.Package;
import org.drools.rule.Rule;
import org.drools.rule.builder.AccumulateBuilder;
-import org.drools.rule.builder.ActionBuilder;
import org.drools.rule.builder.CollectBuilder;
import org.drools.rule.builder.ConsequenceBuilder;
import org.drools.rule.builder.EnabledBuilder;
@@ -69,11 +64,8 @@
import org.drools.rule.builder.PackageBuildContext;
import org.drools.rule.builder.PatternBuilder;
import org.drools.rule.builder.PredicateBuilder;
-import org.drools.rule.builder.ProcessBuildContext;
-import org.drools.rule.builder.ProcessClassBuilder;
import org.drools.rule.builder.QueryBuilder;
import org.drools.rule.builder.ReturnValueBuilder;
-import org.drools.rule.builder.ReturnValueEvaluatorBuilder;
import org.drools.rule.builder.RuleBuildContext;
import org.drools.rule.builder.RuleClassBuilder;
import org.drools.rule.builder.RuleConditionBuilder;
@@ -100,10 +92,7 @@
private static final JavaPredicateBuilder PREDICATE_BUILDER = new JavaPredicateBuilder();
private static final JavaReturnValueBuilder RETURN_VALUE_BUILDER = new JavaReturnValueBuilder();
private static final JavaConsequenceBuilder CONSESUENCE_BUILDER = new JavaConsequenceBuilder();
- private static final JavaActionBuilder ACTION_BUILDER = new JavaActionBuilder();
- private static final ReturnValueEvaluatorBuilder RETURN_VALUE_EVALUATOR_BUIDER = new JavaReturnValueEvaluatorBuilder();
private static final JavaRuleClassBuilder RULE_CLASS_BUILDER = new JavaRuleClassBuilder();
- private static final JavaProcessClassBuilder PROCESS_CLASS_BUILDER = new JavaProcessClassBuilder();
private static final MVELFromBuilder FROM_BUILDER = new MVELFromBuilder();
private static final JavaFunctionBuilder FUNCTION_BUILDER = new JavaFunctionBuilder();
private static final CollectBuilder COLLECT_BUIDER = new CollectBuilder();
@@ -340,22 +329,10 @@
return CONSESUENCE_BUILDER;
}
- public ActionBuilder getActionBuilder() {
- return ACTION_BUILDER;
- }
-
- public ReturnValueEvaluatorBuilder getReturnValueEvaluatorBuilder() {
- return RETURN_VALUE_EVALUATOR_BUIDER;
- }
-
public RuleClassBuilder getRuleClassBuilder() {
return RULE_CLASS_BUILDER;
}
- public ProcessClassBuilder getProcessClassBuilder() {
- return PROCESS_CLASS_BUILDER;
- }
-
public FunctionBuilder getFunctionBuilder() {
return FUNCTION_BUILDER;
}
@@ -509,68 +486,6 @@
}
- /**
- * This will add the rule for compiling later on.
- * It will not actually call the compiler
- */
- public void addProcess(final ProcessBuildContext context) {
- ProcessClassBuilder classBuilder = context.getDialect().getProcessClassBuilder();
-
- String processClass = classBuilder.buildRule( context );
- if ( processClass == null ) {
- // nothing to compile.
- return;
- }
-
- final Process process = context.getProcess();
- final ProcessDescr processDescr = context.getProcessDescr();
-
- // The compilation result is for the entire rule, so difficult to associate with any descr
- addClassCompileTask( this.pkg.getName() + "." + processDescr.getClassName(),
- processDescr,
- processClass,
- this.src,
- new ProcessErrorHandler( processDescr,
- process,
- "Process Compilation error" ) );
-
- JavaDialectRuntimeData data = (JavaDialectRuntimeData) this.pkg.getDialectRuntimeRegistry().getDialectData( this.ID );
-
- for ( final Iterator it = context.getInvokers().keySet().iterator(); it.hasNext(); ) {
- final String className = (String) it.next();
-
- // Check if an invoker - Action has been associated
- // If so we add it to the PackageCompilationData as it will get wired up on compilation
- final Object invoker = context.getInvokerLookups().get( className );
- if ( invoker != null ) {
- data.putInvoker( className,
- invoker );
- }
- final String text = (String) context.getInvokers().get( className );
-
- final BaseDescr descr = (BaseDescr) context.getDescrLookups().get( className );
- addClassCompileTask( className,
- descr,
- text,
- this.src,
- new ProcessInvokerErrorHandler( processDescr,
- process,
- "Unable to generate action invoker." ) );
-
- }
-
- // setup the line mappins for this rule
- // @TODO must setup mappings
- // final String name = this.pkg.getName() + "." + StringUtils.ucFirst( ruleDescr.getClassName() );
- // final LineMappings mapping = new LineMappings( name );
- // mapping.setStartLine( ruleDescr.getConsequenceLine() );
- // mapping.setOffset( ruleDescr.getConsequenceOffset() );
- //
- // context.getPkg().getPackageCompilationData().getLineMappings().put( name,
- // mapping );
-
- }
-
public void addFunction(final FunctionDescr functionDescr,
final TypeResolver typeResolver,
final Resource resource) {
@@ -641,17 +556,22 @@
* The ErrorHandler is required to map the errors back to the
* element that caused it.
*/
- private void addClassCompileTask(final String className,
+ public void addClassCompileTask(final String className,
final BaseDescr descr,
final String text,
final MemoryResourceReader src,
final ErrorHandler handler) {
-
+
final String fileName = className.replace( '.',
'/' ) + ".java";
- src.add( fileName,
- text.getBytes() );
+ if (src != null) {
+ src.add( fileName,
+ text.getBytes() );
+ } else {
+ this.src.add( fileName,
+ text.getBytes() );
+ }
this.errorHandlers.put( fileName,
handler );
Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaProcessClassBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaProcessClassBuilder.java 2010-09-02 21:52:21 UTC (rev 34982)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaProcessClassBuilder.java 2010-09-02 22:38:59 UTC (rev 34983)
@@ -1,73 +0,0 @@
-/*
- * Copyright 2006 JBoss Inc
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.drools.rule.builder.dialect.java;
-
-import java.util.Iterator;
-
-import org.drools.core.util.StringUtils;
-import org.drools.lang.descr.ProcessDescr;
-import org.drools.rule.ImportDeclaration;
-import org.drools.rule.builder.ProcessBuildContext;
-import org.drools.rule.builder.ProcessClassBuilder;
-
-/**
- * @author etirelli
- *
- */
-public class JavaProcessClassBuilder
- implements
- ProcessClassBuilder {
-
- /* (non-Javadoc)
- * @see org.drools.rule.builder.dialect.java.RuleClassBuilder#buildRule(org.drools.rule.builder.BuildContext, org.drools.rule.builder.dialect.java.BuildUtils, org.drools.lang.descr.RuleDescr)
- */
- public String buildRule(final ProcessBuildContext context) {
- // If there is no compiled code, return
- if ( context.getMethods().isEmpty() ) {
- return null;
- }
-
- final String lineSeparator = System.getProperty( "line.separator" );
-
- final StringBuilder buffer = new StringBuilder();
- buffer.append( "package " + context.getPkg().getName() + ";" + lineSeparator );
-
- for ( ImportDeclaration decl : context.getPkg().getImports().values() ) {
- buffer.append( "import " + decl.getTarget() + ";" + lineSeparator );
- }
-
- for ( final Iterator it = context.getPkg().getStaticImports().iterator(); it.hasNext(); ) {
- buffer.append( "import static " + it.next() + ";" + lineSeparator );
- }
-
- final ProcessDescr processDescr = context.getProcessDescr();
-
- buffer.append( "public class " + StringUtils.ucFirst( processDescr.getClassName() ) + " {" + lineSeparator );
- buffer.append( " private static final long serialVersionUID = 510l;" + lineSeparator );
-
- // @TODO record line numbers for each Action method
- for ( int i = 0, size = context.getMethods().size(); i < size; i++ ) {
- buffer.append( context.getMethods().get( i ) + lineSeparator );
- }
-
- final String[] lines = buffer.toString().split( lineSeparator );
-
- buffer.append( "}" );
-
- return buffer.toString();
- }
-}
Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaReturnValueEvaluatorBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaReturnValueEvaluatorBuilder.java 2010-09-02 21:52:21 UTC (rev 34982)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaReturnValueEvaluatorBuilder.java 2010-09-02 22:38:59 UTC (rev 34983)
@@ -1,82 +0,0 @@
-/*
- * Copyright 2006 JBoss Inc
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.drools.rule.builder.dialect.java;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.compiler.Dialect;
-import org.drools.compiler.ReturnValueDescr;
-import org.drools.process.core.ContextResolver;
-import org.drools.rule.builder.PackageBuildContext;
-import org.drools.rule.builder.ProcessBuildContext;
-import org.drools.rule.builder.ReturnValueEvaluatorBuilder;
-import org.drools.workflow.instance.impl.ReturnValueConstraintEvaluator;
-
-/**
- * @author etirelli
- *
- */
-public class JavaReturnValueEvaluatorBuilder extends AbstractJavaProcessBuilder
- implements
- ReturnValueEvaluatorBuilder {
-
- /* (non-Javadoc)
- * @see org.drools.semantics.java.builder.ConsequenceBuilder#buildConsequence(org.drools.semantics.java.builder.BuildContext, org.drools.semantics.java.builder.BuildUtils, org.drools.lang.descr.RuleDescr)
- */
- public void build(final PackageBuildContext context,
- final ReturnValueConstraintEvaluator constraintNode,
- final ReturnValueDescr descr,
- final ContextResolver contextResolver) {
-
- final String className = "returnValueEvaluator" + context.getNextId();
-
- JavaDialect dialect = (JavaDialect) context.getDialect( "java" );
-
- Dialect.AnalysisResult analysis = dialect.analyzeBlock( context,
- descr,
- descr.getText(),
- new Map[]{Collections.EMPTY_MAP, context.getPackageBuilder().getGlobals()} );
-
- if ( analysis == null ) {
- // not possible to get the analysis results
- return;
- }
-
- final List[] usedIdentifiers = analysis.getBoundIdentifiers();
-
-
- final Map map = createVariableContext( className,
- descr.getText(),
- (ProcessBuildContext) context,
- (String[]) usedIdentifiers[1].toArray( new String[usedIdentifiers[1].size()] ),
- analysis.getNotBoundedIdentifiers(),
- contextResolver );
- map.put( "text",
- descr.getText() );
-
- generatTemplates( "returnValueEvaluatorMethod",
- "returnValueEvaluatorInvoker",
- (ProcessBuildContext)context,
- className,
- map,
- constraintNode,
- descr );
- }
-
-}
Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELActionBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELActionBuilder.java 2010-09-02 21:52:21 UTC (rev 34982)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELActionBuilder.java 2010-09-02 22:38:59 UTC (rev 34983)
@@ -1,196 +0,0 @@
-package org.drools.rule.builder.dialect.mvel;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.drools.base.mvel.MVELAction;
-import org.drools.base.mvel.MVELCompilationUnit;
-import org.drools.compiler.DescrBuildError;
-import org.drools.compiler.Dialect;
-import org.drools.lang.descr.ActionDescr;
-import org.drools.process.core.ContextResolver;
-import org.drools.process.core.context.variable.VariableScope;
-import org.drools.rule.MVELDialectRuntimeData;
-import org.drools.rule.builder.ActionBuilder;
-import org.drools.rule.builder.PackageBuildContext;
-import org.drools.spi.KnowledgeHelper;
-import org.drools.spi.ProcessContext;
-import org.drools.workflow.core.DroolsAction;
-import org.mvel2.Macro;
-import org.mvel2.MacroProcessor;
-
-public class MVELActionBuilder
- implements
- ActionBuilder {
-
- private static final Map macros = new HashMap( 5 );
- static {
- macros.put( "insert",
- new Macro() {
- public String doMacro() {
- return "drools.insert";
- }
- } );
-
- macros.put( "insertLogical",
- new Macro() {
- public String doMacro() {
- return "drools.insertLogical";
- }
- } );
-
- macros.put( "modify",
- new Macro() {
- public String doMacro() {
- return "@Modify with";
- }
- } );
-
- macros.put( "update",
- new Macro() {
- public String doMacro() {
- return "drools.update";
- }
- } );
-
- macros.put( "retract",
- new Macro() {
- public String doMacro() {
- return "drools.retract";
- }
- } );;
- }
-
- public MVELActionBuilder() {
-
- }
-
- public void build(final PackageBuildContext context,
- final DroolsAction action,
- final ActionDescr actionDescr,
- final ContextResolver contextResolver) {
-
- String text = processMacros( actionDescr.getText() );
-
- try {
- MVELDialect dialect = (MVELDialect) context.getDialect( "mvel" );
-
- Map<String, Class<?>> variables = new HashMap<String,Class<?>>();
- variables.put("context", ProcessContext.class);
- variables.put("kcontext", org.drools.runtime.process.ProcessContext.class);
- variables.put("drools", KnowledgeHelper.class);
- Dialect.AnalysisResult analysis = dialect.analyzeBlock( context,
- actionDescr,
- dialect.getInterceptors(),
- text,
- new Map[]{variables, context.getPackageBuilder().getGlobals()},
- null );
-
-
- List<String> variableNames = analysis.getNotBoundedIdentifiers();
- if (contextResolver != null) {
- for (String variableName: variableNames) {
- VariableScope variableScope = (VariableScope) contextResolver.resolveContext(VariableScope.VARIABLE_SCOPE, variableName);
- if (variableScope == null) {
- context.getErrors().add(
- new DescrBuildError(
- context.getParentDescr(),
- actionDescr,
- null,
- "Could not find variable '" + variableName + "' for action '" + actionDescr.getText() + "'" ) );
- } else {
- variables.put(variableName,
- context.getDialect().getTypeResolver().resolveType(
- variableScope.findVariable(variableName).getType().getStringType()));
- }
- }
- }
-
- MVELCompilationUnit unit = dialect.getMVELCompilationUnit( text,
- analysis,
- null,
- null,
- variables,
- context );
- MVELAction expr = new MVELAction( unit, context.getDialect().getId() );
- expr.setVariableNames(variableNames);
-
-
- action.setMetaData("Action", expr );
-
- MVELDialectRuntimeData data = (MVELDialectRuntimeData) context.getPkg().getDialectRuntimeRegistry().getDialectData( dialect.getId() );
- data.addCompileable( action,
- expr );
-
- expr.compile( context.getPackageBuilder().getRootClassLoader() );
- } catch ( final Exception e ) {
- context.getErrors().add( new DescrBuildError( context.getParentDescr(),
- actionDescr,
- null,
- "Unable to build expression for action '" + actionDescr.getText() + "' :" + e ) );
- }
- }
-
- public static String processMacros(String consequence) {
- MacroProcessor macroProcessor = new MacroProcessor();
- macroProcessor.setMacros( macros );
- return macroProcessor.parse( delimitExpressions( consequence ) );
- }
-
- /**
- * Allows newlines to demarcate expressions, as per MVEL command line.
- * If expression spans multiple lines (ie inside an unbalanced bracket) then
- * it is left alone.
- * Uses character based iteration which is at least an order of magnitude faster then a single
- * simple regex.
- */
- public static String delimitExpressions(String s) {
-
- StringBuilder result = new StringBuilder();
- char[] cs = s.toCharArray();
- int brace = 0;
- int sqre = 0;
- int crly = 0;
- char lastNonWhite = ';';
- for ( int i = 0; i < cs.length; i++ ) {
- char c = cs[i];
- switch ( c ) {
- case '(' :
- brace++;
- break;
- case '{' :
- crly++;
- break;
- case '[' :
- sqre++;
- break;
- case ')' :
- brace--;
- break;
- case '}' :
- crly--;
- break;
- case ']' :
- sqre--;
- break;
- default :
- break;
- }
- if ( (brace == 0 && sqre == 0 && crly == 0) && (c == '\n' || c == '\r') ) {
- if ( lastNonWhite != ';' ) {
- result.append( ';' );
- lastNonWhite = ';';
- }
- } else if ( !Character.isWhitespace( c ) ) {
- lastNonWhite = c;
- }
- result.append( c );
-
- }
- return result.toString();
- }
-
-}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java 2010-09-02 21:52:21 UTC (rev 34982)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java 2010-09-02 22:38:59 UTC (rev 34983)
@@ -8,7 +8,6 @@
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -49,7 +48,6 @@
import org.drools.rule.MVELDialectRuntimeData;
import org.drools.rule.Package;
import org.drools.rule.builder.AccumulateBuilder;
-import org.drools.rule.builder.ActionBuilder;
import org.drools.rule.builder.CollectBuilder;
import org.drools.rule.builder.ConsequenceBuilder;
import org.drools.rule.builder.EnabledBuilder;
@@ -61,8 +59,6 @@
import org.drools.rule.builder.PackageBuildContext;
import org.drools.rule.builder.PatternBuilder;
import org.drools.rule.builder.PredicateBuilder;
-import org.drools.rule.builder.ProcessBuildContext;
-import org.drools.rule.builder.ProcessClassBuilder;
import org.drools.rule.builder.QueryBuilder;
import org.drools.rule.builder.ReturnValueBuilder;
import org.drools.rule.builder.RuleBuildContext;
@@ -97,8 +93,6 @@
protected static final MVELPredicateBuilder PREDICATE_BUILDER = new MVELPredicateBuilder();
protected static final MVELReturnValueBuilder RETURN_VALUE_BUILDER = new MVELReturnValueBuilder();
protected static final MVELConsequenceBuilder CONSEQUENCE_BUILDER = new MVELConsequenceBuilder();
- protected static final MVELActionBuilder ACTION_BUILDER = new MVELActionBuilder();
- protected static final MVELReturnValueEvaluatorBuilder RETURN_VALUE_EVALUATOR_BUILDER = new MVELReturnValueEvaluatorBuilder();
// private final JavaRuleClassBuilder rule = new JavaRuleClassBuilder();
protected static final MVELFromBuilder FROM_BUILDER = new MVELFromBuilder();
protected static final JavaFunctionBuilder FUNCTION_BUILDER = new JavaFunctionBuilder();
@@ -330,10 +324,6 @@
}
- public void addProcess(final ProcessBuildContext context) {
- // @TODO setup line mappings
- }
-
public void addFunction(FunctionDescr functionDescr,
TypeResolver typeResolver,
Resource resource) {
@@ -780,14 +770,6 @@
return this.CONSEQUENCE_BUILDER;
}
- public ActionBuilder getActionBuilder() {
- return this.ACTION_BUILDER;
- }
-
- public MVELReturnValueEvaluatorBuilder getReturnValueEvaluatorBuilder() {
- return this.RETURN_VALUE_EVALUATOR_BUILDER;
- }
-
public RuleConditionBuilder getEvalBuilder() {
return this.EVAL_BUILDER;
}
@@ -828,10 +810,6 @@
throw new UnsupportedOperationException( "MVELDialect.getRuleClassBuilder is not supported" );
}
- public ProcessClassBuilder getProcessClassBuilder() {
- throw new UnsupportedOperationException( "MVELDialect.getProcessClassBuilder is not supported" );
- }
-
public TypeResolver getTypeResolver() {
return this.packageRegistry.getTypeResolver();
}
Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueEvaluatorBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueEvaluatorBuilder.java 2010-09-02 21:52:21 UTC (rev 34982)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueEvaluatorBuilder.java 2010-09-02 22:38:59 UTC (rev 34983)
@@ -1,149 +0,0 @@
-package org.drools.rule.builder.dialect.mvel;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.base.mvel.MVELCompilationUnit;
-import org.drools.base.mvel.MVELReturnValueEvaluator;
-import org.drools.compiler.DescrBuildError;
-import org.drools.compiler.Dialect;
-import org.drools.compiler.ReturnValueDescr;
-import org.drools.process.core.ContextResolver;
-import org.drools.process.core.context.variable.VariableScope;
-import org.drools.rule.MVELDialectRuntimeData;
-import org.drools.rule.builder.PackageBuildContext;
-import org.drools.rule.builder.ReturnValueEvaluatorBuilder;
-import org.drools.spi.KnowledgeHelper;
-import org.drools.spi.ProcessContext;
-import org.drools.workflow.instance.impl.ReturnValueConstraintEvaluator;
-
-public class MVELReturnValueEvaluatorBuilder
- implements
- ReturnValueEvaluatorBuilder {
-
- public MVELReturnValueEvaluatorBuilder() {
-
- }
-
- public void build(final PackageBuildContext context,
- final ReturnValueConstraintEvaluator constraintNode,
- final ReturnValueDescr descr,
- final ContextResolver contextResolver) {
-
- String text = descr.getText();
-
- try {
- MVELDialect dialect = (MVELDialect) context.getDialect( "mvel" );
-
- Map<String, Class<?>> variables = new HashMap<String,Class<?>>();
- variables.put("context", ProcessContext.class);
- variables.put("kcontext", org.drools.runtime.process.ProcessContext.class);
- variables.put("drools", KnowledgeHelper.class);
- Dialect.AnalysisResult analysis = dialect.analyzeBlock( context,
- descr,
- dialect.getInterceptors(),
- text,
- new Map[]{variables, context.getPackageBuilder().getGlobals()},
- null );
-
- List<String> variableNames = analysis.getNotBoundedIdentifiers();
- if (contextResolver != null) {
- for (String variableName: variableNames) {
- VariableScope variableScope = (VariableScope) contextResolver.resolveContext(VariableScope.VARIABLE_SCOPE, variableName);
- if (variableScope == null) {
- context.getErrors().add(
- new DescrBuildError(
- context.getParentDescr(),
- descr,
- null,
- "Could not find variable '" + variableName + "' for constraint '" + descr.getText() + "'" ) );
- } else {
- variables.put(variableName,
- context.getDialect().getTypeResolver().resolveType(
- variableScope.findVariable(variableName).getType().getStringType()));
- }
- }
- }
-
- MVELCompilationUnit unit = dialect.getMVELCompilationUnit( text,
- analysis,
- null,
- null,
- variables,
- context );
-
- MVELReturnValueEvaluator expr = new MVELReturnValueEvaluator( unit,
- dialect.getId() );
- expr.setVariableNames(variableNames);
-
- constraintNode.setEvaluator( expr );
-
- MVELDialectRuntimeData data = (MVELDialectRuntimeData) context.getPkg().getDialectRuntimeRegistry().getDialectData( dialect.getId() );
- data.addCompileable( constraintNode,
- expr );
-
- expr.compile( context.getPackageBuilder().getRootClassLoader() );
- } catch ( final Exception e ) {
- context.getErrors().add( new DescrBuildError( context.getParentDescr(),
- descr,
- null,
- "Unable to build expression for 'constraint' " + descr.getText() + "': " + e ) );
- }
- }
-
- /**
- * Allows newlines to demarcate expressions, as per MVEL command line.
- * If expression spans multiple lines (ie inside an unbalanced bracket) then
- * it is left alone.
- * Uses character based iteration which is at least an order of magnitude faster then a single
- * simple regex.
- */
- public static String delimitExpressions(String s) {
-
- StringBuilder result = new StringBuilder();
- char[] cs = s.toCharArray();
- int brace = 0;
- int sqre = 0;
- int crly = 0;
- char lastNonWhite = ';';
- for ( int i = 0; i < cs.length; i++ ) {
- char c = cs[i];
- switch ( c ) {
- case '(' :
- brace++;
- break;
- case '{' :
- crly++;
- break;
- case '[' :
- sqre++;
- break;
- case ')' :
- brace--;
- break;
- case '}' :
- crly--;
- break;
- case ']' :
- sqre--;
- break;
- default :
- break;
- }
- if ( (brace == 0 && sqre == 0 && crly == 0) && (c == '\n' || c == '\r') ) {
- if ( lastNonWhite != ';' ) {
- result.append( ';' );
- lastNonWhite = ';';
- }
- } else if ( !Character.isWhitespace( c ) ) {
- lastNonWhite = c;
- }
- result.append( c );
-
- }
- return result.toString();
- }
-
-}
Deleted: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaActionBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaActionBuilderTest.java 2010-09-02 21:52:21 UTC (rev 34982)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaActionBuilderTest.java 2010-09-02 22:38:59 UTC (rev 34983)
@@ -1,81 +0,0 @@
-package org.drools.rule.builder.dialect.java;
-
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.WorkingMemory;
-import org.drools.base.DefaultKnowledgeHelper;
-import org.drools.compiler.DialectCompiletimeRegistry;
-import org.drools.compiler.PackageBuilder;
-import org.drools.compiler.PackageBuilderConfiguration;
-import org.drools.lang.descr.ActionDescr;
-import org.drools.lang.descr.ProcessDescr;
-import org.drools.rule.Package;
-import org.drools.rule.builder.ProcessBuildContext;
-import org.drools.spi.Action;
-import org.drools.spi.KnowledgeHelper;
-import org.drools.workflow.core.DroolsAction;
-import org.drools.workflow.core.impl.DroolsConsequenceAction;
-import org.drools.workflow.core.impl.WorkflowProcessImpl;
-import org.drools.workflow.core.node.ActionNode;
-
-public class JavaActionBuilderTest extends TestCase {
-
- public void setUp() {
- }
-
- public void testSimpleAction() throws Exception {
- final Package pkg = new Package( "pkg1" );
-
- ActionDescr actionDescr = new ActionDescr();
- actionDescr.setText( "list.add( \"hello world\" );" );
-
- PackageBuilder pkgBuilder = new PackageBuilder( pkg );
- final PackageBuilderConfiguration conf = pkgBuilder.getPackageBuilderConfiguration();
- DialectCompiletimeRegistry dialectRegistry = pkgBuilder.getPackageRegistry( pkg.getName() ).getDialectCompiletimeRegistry();
- JavaDialect javaDialect = ( JavaDialect ) dialectRegistry.getDialect( "java" );
-
- ProcessDescr processDescr = new ProcessDescr();
- processDescr.setClassName( "Process1" );
- processDescr.setName( "Process1" );
-
- WorkflowProcessImpl process = new WorkflowProcessImpl();
- process.setName( "Process1" );
- process.setPackageName( "pkg1" );
-
- ProcessBuildContext context = new ProcessBuildContext(pkgBuilder, pkgBuilder.getPackage(), null, processDescr, dialectRegistry, javaDialect);
-
- context.init( pkgBuilder, pkg, null, dialectRegistry, javaDialect, null);
-
- pkgBuilder.addPackageFromDrl( new StringReader("package pkg1;\nglobal java.util.List list;\n") );
-
- ActionNode actionNode = new ActionNode();
- DroolsAction action = new DroolsConsequenceAction("java", null);
- actionNode.setAction(action);
-
- javaDialect.getActionBuilder().build( context, action, actionDescr, actionNode );
- javaDialect.addProcess( context );
- javaDialect.compileAll();
- assertEquals( 0, javaDialect.getResults().size() );
-
- final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
- ruleBase.addPackage( pkgBuilder.getPackage() );
- final WorkingMemory wm = ruleBase.newStatefulSession();
-
- List list = new ArrayList();
- wm.setGlobal( "list", list );
-
- KnowledgeHelper knowledgeHelper = new DefaultKnowledgeHelper();
- ((Action) actionNode.getAction().getMetaData("Action")).execute( knowledgeHelper, wm, null );
-
- assertEquals("hello world", list.get(0) );
- }
-
-
-}
-
Deleted: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaReturnValueConstraintEvaluatorBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaReturnValueConstraintEvaluatorBuilderTest.java 2010-09-02 21:52:21 UTC (rev 34982)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaReturnValueConstraintEvaluatorBuilderTest.java 2010-09-02 22:38:59 UTC (rev 34983)
@@ -1,92 +0,0 @@
-package org.drools.rule.builder.dialect.java;
-
-import java.io.StringReader;
-
-import junit.framework.TestCase;
-
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.common.InternalWorkingMemory;
-import org.drools.compiler.DialectCompiletimeRegistry;
-import org.drools.compiler.PackageBuilder;
-import org.drools.compiler.PackageBuilderConfiguration;
-import org.drools.compiler.ReturnValueDescr;
-import org.drools.lang.descr.ProcessDescr;
-import org.drools.rule.Package;
-import org.drools.rule.builder.ProcessBuildContext;
-import org.drools.ruleflow.instance.RuleFlowProcessInstance;
-import org.drools.workflow.core.impl.WorkflowProcessImpl;
-import org.drools.workflow.instance.impl.ReturnValueConstraintEvaluator;
-import org.drools.workflow.instance.node.SplitInstance;
-
-public class JavaReturnValueConstraintEvaluatorBuilderTest extends TestCase {
-
- public void setUp() {
- }
-
- public void testSimpleReturnValueConstraintEvaluator() throws Exception {
- final Package pkg = new Package( "pkg1" );
-
- ProcessDescr processDescr = new ProcessDescr();
- processDescr.setClassName( "Process1" );
- processDescr.setName( "Process1" );
-
- WorkflowProcessImpl process = new WorkflowProcessImpl();
- process.setName( "Process1" );
- process.setPackageName( "pkg1" );
-
- ReturnValueDescr descr = new ReturnValueDescr();
- descr.setText( "return value;" );
-
- PackageBuilder pkgBuilder = new PackageBuilder( pkg );
- final PackageBuilderConfiguration conf = pkgBuilder.getPackageBuilderConfiguration();
- DialectCompiletimeRegistry dialectRegistry = pkgBuilder.getPackageRegistry( pkg.getName() ).getDialectCompiletimeRegistry();
- JavaDialect javaDialect = (JavaDialect) dialectRegistry.getDialect( "java" );
-
- ProcessBuildContext context = new ProcessBuildContext( pkgBuilder,
- pkg,
- process,
- processDescr,
- dialectRegistry,
- javaDialect );
-
- pkgBuilder.addPackageFromDrl( new StringReader( "package pkg1;\nglobal Boolean value;" ) );
-
- ReturnValueConstraintEvaluator node = new ReturnValueConstraintEvaluator();
-
- final JavaReturnValueEvaluatorBuilder builder = new JavaReturnValueEvaluatorBuilder();
- builder.build( context,
- node,
- descr,
- null );
-
- javaDialect.addProcess( context );
- javaDialect.compileAll();
- assertEquals( 0, javaDialect.getResults().size() );
-
- final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
- ruleBase.addPackage( pkgBuilder.getPackage() );
- final InternalWorkingMemory wm = (InternalWorkingMemory) ruleBase.newStatefulSession();
-
- wm.setGlobal( "value",
- true );
-
- RuleFlowProcessInstance processInstance = new RuleFlowProcessInstance();
- processInstance.setWorkingMemory( wm );
-
- SplitInstance splitInstance = new SplitInstance();
- splitInstance.setProcessInstance( processInstance );
-
- assertTrue( node.evaluate( splitInstance,
- null,
- null ) );
-
- wm.setGlobal( "value",
- false );
-
- assertFalse( node.evaluate( splitInstance,
- null,
- null ) );
- }
-
-}
Deleted: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELActionBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELActionBuilderTest.java 2010-09-02 21:52:21 UTC (rev 34982)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELActionBuilderTest.java 2010-09-02 22:38:59 UTC (rev 34983)
@@ -1,73 +0,0 @@
-package org.drools.rule.builder.dialect.mvel;
-
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.WorkingMemory;
-import org.drools.base.DefaultKnowledgeHelper;
-import org.drools.base.mvel.MVELAction;
-import org.drools.compiler.DialectCompiletimeRegistry;
-import org.drools.compiler.PackageBuilder;
-import org.drools.compiler.PackageBuilderConfiguration;
-import org.drools.lang.descr.ActionDescr;
-import org.drools.rule.Package;
-import org.drools.rule.builder.PackageBuildContext;
-import org.drools.spi.Action;
-import org.drools.spi.KnowledgeHelper;
-import org.drools.workflow.core.DroolsAction;
-import org.drools.workflow.core.impl.DroolsConsequenceAction;
-import org.drools.workflow.core.node.ActionNode;
-
-public class MVELActionBuilderTest extends TestCase {
-
- public void setUp() {
- }
-
- public void testSimpleAction() throws Exception {
- final Package pkg = new Package( "pkg1" );
-
- ActionDescr actionDescr = new ActionDescr();
- actionDescr.setText( "list.add( 'hello world' )" );
-
- PackageBuilder pkgBuilder = new PackageBuilder( pkg );
- final PackageBuilderConfiguration conf = pkgBuilder.getPackageBuilderConfiguration();
- DialectCompiletimeRegistry dialectRegistry = pkgBuilder.getPackageRegistry( pkg.getName() ).getDialectCompiletimeRegistry();
- MVELDialect mvelDialect = ( MVELDialect ) dialectRegistry.getDialect( "mvel" );
-
- PackageBuildContext context = new PackageBuildContext();
- context.init( pkgBuilder, pkg, null, dialectRegistry, mvelDialect, null);
-
- pkgBuilder.addPackageFromDrl( new StringReader("package pkg1;\nglobal java.util.List list;\n") );
-
- ActionNode actionNode = new ActionNode();
- DroolsAction action = new DroolsConsequenceAction("mvel", null);
- actionNode.setAction(action);
-
- final MVELActionBuilder builder = new MVELActionBuilder();
- builder.build( context,
- action,
- actionDescr,
- actionNode );
-
- final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
- ruleBase.addPackage( pkgBuilder.getPackage() );
- final WorkingMemory wm = ruleBase.newStatefulSession();
-
- List list = new ArrayList();
- wm.setGlobal( "list", list );
-
- ((MVELAction) actionNode.getAction().getMetaData("Action")).compile( Thread.currentThread().getContextClassLoader() );
-
- KnowledgeHelper knowledgeHelper = new DefaultKnowledgeHelper();
- ((Action) actionNode.getAction().getMetaData("Action")).execute( knowledgeHelper, wm, null );
-
- assertEquals("hello world", list.get(0) );
- }
-
-}
-
Deleted: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELDecisionBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELDecisionBuilderTest.java 2010-09-02 21:52:21 UTC (rev 34982)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELDecisionBuilderTest.java 2010-09-02 22:38:59 UTC (rev 34983)
@@ -1,73 +0,0 @@
-package org.drools.rule.builder.dialect.mvel;
-
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.WorkingMemory;
-import org.drools.base.DefaultKnowledgeHelper;
-import org.drools.base.mvel.MVELAction;
-import org.drools.compiler.PackageBuilder;
-import org.drools.compiler.PackageBuilderConfiguration;
-import org.drools.compiler.PackageRegistry;
-import org.drools.lang.descr.ActionDescr;
-import org.drools.rule.Package;
-import org.drools.rule.builder.PackageBuildContext;
-import org.drools.spi.Action;
-import org.drools.spi.KnowledgeHelper;
-import org.drools.workflow.core.DroolsAction;
-import org.drools.workflow.core.impl.DroolsConsequenceAction;
-import org.drools.workflow.core.node.ActionNode;
-
-public class MVELDecisionBuilderTest extends TestCase {
-
- public void setUp() {
- }
-
- public void testSimpleAction() throws Exception {
- final Package pkg = new Package( "pkg1" );
-
- ActionDescr actionDescr = new ActionDescr();
- actionDescr.setText( "list.add( 'hello world' )" );
-
- PackageBuilder pkgBuilder = new PackageBuilder( pkg );
- final PackageBuilderConfiguration conf = pkgBuilder.getPackageBuilderConfiguration();
-
- PackageRegistry pkgReg = pkgBuilder.getPackageRegistry( pkg.getName() );
- MVELDialect mvelDialect = ( MVELDialect ) pkgReg.getDialectCompiletimeRegistry().getDialect( "mvel" );
-
- PackageBuildContext context = new PackageBuildContext();
- context.init( pkgBuilder, pkg, null, pkgReg.getDialectCompiletimeRegistry(), mvelDialect, null);
-
- pkgBuilder.addPackageFromDrl( new StringReader("package pkg1;\nglobal java.util.List list;\n") );
-
- ActionNode actionNode = new ActionNode();
- DroolsAction action = new DroolsConsequenceAction("java", null);
- actionNode.setAction(action);
-
- final MVELActionBuilder builder = new MVELActionBuilder();
- builder.build( context,
- action,
- actionDescr,
- actionNode );
-
- final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
- ruleBase.addPackage( pkgBuilder.getPackage() );
- final WorkingMemory wm = ruleBase.newStatefulSession();
-
- List list = new ArrayList();
- wm.setGlobal( "list", list );
-
- KnowledgeHelper knowledgeHelper = new DefaultKnowledgeHelper();
- ((MVELAction) actionNode.getAction().getMetaData("Action")).compile( Thread.currentThread().getContextClassLoader() );
- ((Action)actionNode.getAction().getMetaData("Action")).execute( knowledgeHelper, wm, null );
-
- assertEquals("hello world", list.get(0) );
- }
-
-}
-
Deleted: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueConstraintEvaluatorBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueConstraintEvaluatorBuilderTest.java 2010-09-02 21:52:21 UTC (rev 34982)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueConstraintEvaluatorBuilderTest.java 2010-09-02 22:38:59 UTC (rev 34983)
@@ -1,80 +0,0 @@
-package org.drools.rule.builder.dialect.mvel;
-
-import java.io.StringReader;
-
-import junit.framework.TestCase;
-
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.base.mvel.MVELReturnValueEvaluator;
-import org.drools.common.InternalWorkingMemory;
-import org.drools.compiler.DialectCompiletimeRegistry;
-import org.drools.compiler.PackageBuilder;
-import org.drools.compiler.PackageBuilderConfiguration;
-import org.drools.compiler.ReturnValueDescr;
-import org.drools.rule.Package;
-import org.drools.rule.builder.PackageBuildContext;
-import org.drools.ruleflow.instance.RuleFlowProcessInstance;
-import org.drools.workflow.instance.impl.ReturnValueConstraintEvaluator;
-import org.drools.workflow.instance.node.SplitInstance;
-
-public class MVELReturnValueConstraintEvaluatorBuilderTest extends TestCase {
-
- public void setUp() {
- }
-
- public void testSimpleReturnValueConstraintEvaluator() throws Exception {
- final Package pkg = new Package( "pkg1" );
-
- ReturnValueDescr descr = new ReturnValueDescr();
- descr.setText( "return value" );
-
- PackageBuilder pkgBuilder = new PackageBuilder( pkg );
- final PackageBuilderConfiguration conf = pkgBuilder.getPackageBuilderConfiguration();
- DialectCompiletimeRegistry dialectRegistry = pkgBuilder.getPackageRegistry( pkg.getName() ).getDialectCompiletimeRegistry();
- MVELDialect mvelDialect = (MVELDialect) dialectRegistry.getDialect( "mvel" );
-
- PackageBuildContext context = new PackageBuildContext();
- context.init( pkgBuilder,
- pkg,
- null,
- dialectRegistry,
- mvelDialect,
- null );
-
- pkgBuilder.addPackageFromDrl( new StringReader( "package pkg1;\nglobal Boolean value;" ) );
-
- ReturnValueConstraintEvaluator node = new ReturnValueConstraintEvaluator();
-
- final MVELReturnValueEvaluatorBuilder builder = new MVELReturnValueEvaluatorBuilder();
- builder.build( context,
- node,
- descr,
- null );
-
- final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
- ruleBase.addPackage( pkgBuilder.getPackage() );
- final InternalWorkingMemory wm = (InternalWorkingMemory) ruleBase.newStatefulSession();
-
- wm.setGlobal( "value", true );
-
- RuleFlowProcessInstance processInstance = new RuleFlowProcessInstance();
- processInstance.setWorkingMemory( wm );
-
- SplitInstance splitInstance = new SplitInstance();
- splitInstance.setProcessInstance( processInstance );
-
- ( (MVELReturnValueEvaluator) node.getReturnValueEvaluator()).compile( Thread.currentThread().getContextClassLoader() );
-
- assertTrue( node.evaluate( splitInstance,
- null,
- null ) );
-
- wm.setGlobal( "value", false );
-
- assertFalse( node.evaluate( splitInstance,
- null,
- null ) );
- }
-
-}
Deleted: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/compiler/xml/XmlTest.xml
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/compiler/xml/XmlTest.xml 2010-09-02 21:52:21 UTC (rev 34982)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/compiler/xml/XmlTest.xml 2010-09-02 22:38:59 UTC (rev 34983)
@@ -1,31 +0,0 @@
-<process xmlns="http://drools.org/drools-5.0/process"
- xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
- xs:schemaLocation="http://drools.org/drools-5.0/process drools-processes-5.0.xsd"
- name="process name" id="process name" package-name="org.domain" >
-
- <header>
- <imports>
- <import name="java.util.List" />
- </imports>
-
- <globals>
- <global identifier="list" type="List" />
- </globals>
- </header>
-
- <nodes>
- <start id="1" name="start node" />
-
- <actionNode id="2" name="action node" >
- <action type="expression" dialect="java">list.add( "action node was here" );</action>
- </actionNode>
-
- <end id="3" name="end node" />
- </nodes>
-
- <connections>
- <connection from="1" to="2" />
- <connection from="2" to="3" />
- </connections>
-
-</process>
\ No newline at end of file
More information about the jboss-svn-commits
mailing list