[jboss-svn-commits] JBL Code SVN: r19423 - in labs/jbossrules/trunk: drools-analytics/src/main/java/org/drools/analytics/report/html and 5 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Apr 6 00:10:52 EDT 2008
Author: cbrock
Date: 2008-04-06 00:10:51 -0400 (Sun, 06 Apr 2008)
New Revision: 19423
Added:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/test/
Modified:
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/AnalyticsMessagesVisitor.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportVisitor.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/MissingRangesReportVisitor.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportModeller.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportVisitor.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/AbstractJavaRuleBuilder.java
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/JavaFunctionBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELAnalysisResult.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java
labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaFunction.mvel
labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.mvel
labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaRule.mvel
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/AccumulateTemplateTest.java
labs/jbossrules/trunk/pom.xml
Log:
MVEL 2.0 Templates integrated
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/AnalyticsMessagesVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/AnalyticsMessagesVisitor.java 2008-04-05 00:38:27 UTC (rev 19422)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/AnalyticsMessagesVisitor.java 2008-04-06 04:10:51 UTC (rev 19423)
@@ -10,7 +10,7 @@
import org.drools.analytics.report.components.AnalyticsMessageBase;
import org.drools.analytics.report.components.AnalyticsRangeCheckMessage;
import org.drools.analytics.report.components.Cause;
-import org.mvel.TemplateInterpreter;
+import org.mvel.templates.TemplateRuntime;
/**
*
@@ -38,7 +38,7 @@
map.put("title", title);
map.put("messages", messageTemplates);
- return TemplateInterpreter.evalToString(myTemplate, map);
+ return String.valueOf(TemplateRuntime.eval(myTemplate, map));
}
public static String visitAnalyticsMessage(AnalyticsMessageBase message,
@@ -76,6 +76,6 @@
map.put("message", message.getMessage());
map.put("causes", causeUrls);
- return TemplateInterpreter.evalToString(myTemplate, map);
+ return String.valueOf(TemplateRuntime.eval(myTemplate, map));
}
}
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportVisitor.java 2008-04-05 00:38:27 UTC (rev 19422)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportVisitor.java 2008-04-06 04:10:51 UTC (rev 19423)
@@ -12,7 +12,7 @@
import org.drools.analytics.dao.AnalyticsData;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.RangeCheckCause;
-import org.mvel.TemplateInterpreter;
+import org.mvel.templates.TemplateRuntime;
class ComponentsReportVisitor extends ReportVisitor {
@@ -30,7 +30,7 @@
String myTemplate = readFile("packages.htm");
- String result = TemplateInterpreter.evalToString(myTemplate, map);
+ String result = String.valueOf(TemplateRuntime.eval(myTemplate, map));
return result;
}
@@ -46,7 +46,7 @@
String myTemplate = readFile("objectTypes.htm");
- return TemplateInterpreter.evalToString(myTemplate, map);
+ return String.valueOf(TemplateRuntime.eval(myTemplate, map));
}
public static String visitRule(String sourceFolder, AnalyticsRule rule,
@@ -63,7 +63,7 @@
String myTemplate = readFile("rule.htm");
- return TemplateInterpreter.evalToString(myTemplate, map);
+ return String.valueOf(TemplateRuntime.eval(myTemplate, map));
}
public static String visitObjectType(String sourceFolder,
@@ -81,7 +81,7 @@
String myTemplate = readFile("objectType.htm");
- return TemplateInterpreter.evalToString(myTemplate, map);
+ return String.valueOf(TemplateRuntime.eval(myTemplate, map));
}
public static String visitField(String sourceFolder, Field field,
@@ -116,6 +116,6 @@
String myTemplate = readFile("field.htm");
- return TemplateInterpreter.evalToString(myTemplate, map);
+ return String.valueOf(TemplateRuntime.eval(myTemplate, map));
}
}
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/MissingRangesReportVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/MissingRangesReportVisitor.java 2008-04-05 00:38:27 UTC (rev 19422)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/MissingRangesReportVisitor.java 2008-04-06 04:10:51 UTC (rev 19423)
@@ -14,7 +14,7 @@
import org.drools.analytics.report.components.AnalyticsRangeCheckMessage;
import org.drools.analytics.report.components.RangeCheckCause;
import org.drools.base.evaluators.Operator;
-import org.mvel.TemplateInterpreter;
+import org.mvel.templates.TemplateRuntime;
class MissingRangesReportVisitor extends ReportVisitor {
@@ -103,9 +103,9 @@
String myTemplate = readFile("ranges.htm");
- String result = TemplateInterpreter.evalToString(myTemplate, map);
+ String result = String.valueOf(TemplateRuntime.eval(myTemplate, map));
- return result;
+ return result;
}
private static void processRangeOutput(DataRow dataRow,
@@ -145,9 +145,9 @@
String myTemplate = readFile("missingRange.htm");
- String result = TemplateInterpreter.evalToString(myTemplate, map);
+ String result = String.valueOf(TemplateRuntime.eval(myTemplate, map));
- return result;
+ return result;
}
}
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportModeller.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportModeller.java 2008-04-05 00:38:27 UTC (rev 19422)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportModeller.java 2008-04-06 04:10:51 UTC (rev 19423)
@@ -1,5 +1,7 @@
package org.drools.analytics.report.html;
+import org.mvel.templates.TemplateRuntime;
+
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
@@ -11,8 +13,6 @@
import java.util.HashMap;
import java.util.Map;
-import org.mvel.TemplateInterpreter;
-
abstract class ReportModeller {
protected static String formPage(String sourceFolder, String content) {
@@ -25,7 +25,7 @@
map.put("header", ReportVisitor.processHeader(sourceFolder));
map.put("content", content);
- return TemplateInterpreter.evalToString(myTemplate, map);
+ return String.valueOf(TemplateRuntime.eval(myTemplate, map));
}
public static void copyFile(String destination, String filename)
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportVisitor.java 2008-04-05 00:38:27 UTC (rev 19422)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportVisitor.java 2008-04-06 04:10:51 UTC (rev 19423)
@@ -1,12 +1,13 @@
package org.drools.analytics.report.html;
+import org.mvel.templates.TemplateRuntime;
+
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
-import org.mvel.TemplateInterpreter;
abstract class ReportVisitor {
@@ -20,7 +21,7 @@
String myTemplate = readFile("header.htm");
- return TemplateInterpreter.evalToString(myTemplate, map);
+ return String.valueOf(TemplateRuntime.eval(myTemplate, map));
}
protected static String readFile(String fileName) {
Modified: 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 2008-04-05 00:38:27 UTC (rev 19422)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaProcessBuilder.java 2008-04-06 04:10:51 UTC (rev 19423)
@@ -1,29 +1,34 @@
package org.drools.rule.builder.dialect.java;
-import java.io.InputStreamReader;
+import org.drools.lang.descr.BaseDescr;
+import org.drools.rule.builder.ProcessBuildContext;
+import org.drools.util.StringUtils;
+import org.mvel.templates.SimpleTemplateRegistry;
+import org.mvel.templates.TemplateRegistry;
+import org.mvel.templates.TemplateCompiler;
+import org.mvel.templates.TemplateRuntime;
+import org.mvel.integration.impl.MapVariableResolverFactory;
+
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.drools.lang.descr.BaseDescr;
-import org.drools.rule.builder.ProcessBuildContext;
-import org.drools.util.StringUtils;
-import org.mvel.MVEL;
-import org.mvel.MVELTemplateRegistry;
-import org.mvel.TemplateInterpreter;
-import org.mvel.TemplateRegistry;
-
public class AbstractJavaProcessBuilder {
- protected static final TemplateRegistry RULE_REGISTRY = new MVELTemplateRegistry();
- protected static final TemplateRegistry INVOKER_REGISTRY = new MVELTemplateRegistry();
+ protected static final TemplateRegistry RULE_REGISTRY = new SimpleTemplateRegistry();
+ protected static final TemplateRegistry INVOKER_REGISTRY = new SimpleTemplateRegistry();
static {
- MVEL.setThreadSafe( true );
- RULE_REGISTRY.registerTemplate( new InputStreamReader( AbstractJavaProcessBuilder.class.getResourceAsStream( "javaRule.mvel" ) ) );
- INVOKER_REGISTRY.registerTemplate( new InputStreamReader( AbstractJavaProcessBuilder.class.getResourceAsStream( "javaInvokers.mvel" ) ) );
+ 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, null, RULE_REGISTRY);
+ TemplateRuntime.execute(INVOKER_REGISTRY.getNamedTemplate("invokers"), null, null, INVOKER_REGISTRY);
+
}
public TemplateRegistry getRuleTemplateRegistry() {
@@ -40,37 +45,37 @@
final String[] globals) {
final Map map = new HashMap();
- map.put( "methodName",
- className );
+ map.put("methodName",
+ className);
- map.put( "package",
- context.getPkg().getName() );
+ map.put("package",
+ context.getPkg().getName());
- map.put( "processClassName",
- StringUtils.ucFirst( context.getProcessDescr().getClassName() ) );
+ map.put("processClassName",
+ StringUtils.ucFirst(context.getProcessDescr().getClassName()));
- map.put( "invokerClassName",
- context.getProcessDescr().getClassName() + StringUtils.ucFirst( className ) + "Invoker" );
+ map.put("invokerClassName",
+ context.getProcessDescr().getClassName() + StringUtils.ucFirst(className) + "Invoker");
- if ( text != null ) {
- map.put( "text",
- text );
+ if (text != null) {
+ map.put("text",
+ text);
- map.put( "hashCode",
- new Integer( text.hashCode() ) );
+ 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( ((Class) context.getPkg().getGlobals().get( globals[i] )).getName().replace( '$',
- '.' ) );
+ final List globalTypes = new ArrayList(globals.length);
+ for (int i = 0, length = globals.length; i < length; i++) {
+ globalTypes.add(((Class) context.getPkg().getGlobals().get(globals[i])).getName().replace('$',
+ '.'));
}
- map.put( "globals",
- globals );
+ map.put("globals",
+ globals);
- map.put( "globalTypes",
- globalTypes );
+ map.put("globalTypes",
+ globalTypes);
return map;
}
@@ -83,22 +88,21 @@
final Object invokerLookup,
final BaseDescr descrLookup) {
TemplateRegistry registry = getRuleTemplateRegistry();
- context.getMethods().add( TemplateInterpreter.parse( registry.getTemplate( ruleTemplate ),
- null,
- vars,
- registry ) );
+ 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,
- TemplateInterpreter.parse( registry.getTemplate( invokerTemplate ),
- null,
- vars,
- registry ) );
+ final String invokerClassName = context.getPkg().getName() + "." + context.getProcessDescr().getClassName() + StringUtils.ucFirst(className) + "Invoker";
- context.getInvokerLookups().put( invokerClassName,
- invokerLookup );
- context.getDescrLookups().put( invokerClassName,
- descrLookup );
+ context.getInvokers().put(invokerClassName,
+ TemplateRuntime.execute(registry.getNamedTemplate(invokerTemplate), null, new MapVariableResolverFactory(vars), registry)
+ );
+
+ context.getInvokerLookups().put(invokerClassName,
+ invokerLookup);
+ context.getDescrLookups().put(invokerClassName,
+ descrLookup);
}
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaRuleBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaRuleBuilder.java 2008-04-05 00:38:27 UTC (rev 19422)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaRuleBuilder.java 2008-04-06 04:10:51 UTC (rev 19423)
@@ -11,22 +11,31 @@
import org.drools.rule.builder.RuleBuildContext;
import org.drools.util.StringUtils;
import org.mvel.MVEL;
-import org.mvel.MVELTemplateRegistry;
-import org.mvel.TemplateInterpreter;
-import org.mvel.TemplateRegistry;
+import org.mvel.integration.impl.MapVariableResolverFactory;
+import org.mvel.templates.TemplateRegistry;
+import org.mvel.templates.SimpleTemplateRegistry;
+import org.mvel.templates.TemplateRuntime;
+import org.mvel.templates.TemplateCompiler;
import org.mvel.optimizers.OptimizerFactory;
+import com.sun.org.apache.xalan.internal.xsltc.compiler.Template;
public class AbstractJavaRuleBuilder {
- protected static final TemplateRegistry RULE_REGISTRY = new MVELTemplateRegistry();
- protected static final TemplateRegistry INVOKER_REGISTRY = new MVELTemplateRegistry();
+ protected static final TemplateRegistry RULE_REGISTRY = new SimpleTemplateRegistry();
+ protected static final TemplateRegistry INVOKER_REGISTRY = new SimpleTemplateRegistry();
static {
- MVEL.setThreadSafe( true );
- OptimizerFactory.setDefaultOptimizer( "reflective" );
- RULE_REGISTRY.registerTemplate( new InputStreamReader( AbstractJavaRuleBuilder.class.getResourceAsStream( "javaRule.mvel" ) ) );
- INVOKER_REGISTRY.registerTemplate( new InputStreamReader( AbstractJavaRuleBuilder.class.getResourceAsStream( "javaInvokers.mvel" ) ) );
-
+ OptimizerFactory.setDefaultOptimizer("reflective");
+
+ RULE_REGISTRY.addNamedTemplate("rules", TemplateCompiler.compileTemplate(AbstractJavaRuleBuilder.class.getResourceAsStream("javaRule.mvel"), null));
+ INVOKER_REGISTRY.addNamedTemplate("invokers", TemplateCompiler.compileTemplate(AbstractJavaRuleBuilder.class.getResourceAsStream("javaInvokers.mvel"), null));
+
+ /**
+ * Process these templates
+ */
+ TemplateRuntime.execute(RULE_REGISTRY.getNamedTemplate("rules"), null, null, RULE_REGISTRY);
+ TemplateRuntime.execute(INVOKER_REGISTRY.getNamedTemplate("invokers"), null, null, INVOKER_REGISTRY);
+
}
public TemplateRegistry getRuleTemplateRegistry() {
@@ -45,61 +54,61 @@
final String[] globals) {
final Map map = new HashMap();
- map.put( "methodName",
- className );
+ map.put("methodName",
+ className);
- map.put( "package",
- context.getPkg().getName() );
+ map.put("package",
+ context.getPkg().getName());
- map.put( "ruleClassName",
- StringUtils.ucFirst( context.getRuleDescr().getClassName() ) );
+ map.put("ruleClassName",
+ StringUtils.ucFirst(context.getRuleDescr().getClassName()));
- map.put( "invokerClassName",
- context.getRuleDescr().getClassName() + StringUtils.ucFirst( className ) + "Invoker" );
+ map.put("invokerClassName",
+ context.getRuleDescr().getClassName() + StringUtils.ucFirst(className) + "Invoker");
- if ( text != null ) {
- map.put( "text",
- text );
+ if (text != null) {
+ map.put("text",
+ text);
- map.put( "hashCode",
- new Integer( text.hashCode() ) );
+ map.put("hashCode",
+ new Integer(text.hashCode()));
}
final String[] declarationTypes = new String[declarations.length];
- for ( int i = 0, size = declarations.length; i < size; i++ ) {
- declarationTypes[i] = ((JavaDialect) context.getDialect()).getTypeFixer().fix( declarations[i] );
+ for (int i = 0, size = declarations.length; i < size; i++) {
+ declarationTypes[i] = ((JavaDialect) context.getDialect()).getTypeFixer().fix(declarations[i]);
}
- map.put( "declarations",
- declarations );
+ map.put("declarations",
+ declarations);
- map.put( "declarationTypes",
- declarationTypes );
+ map.put("declarationTypes",
+ declarationTypes);
- if ( localDeclarations != null ) {
+ if (localDeclarations != null) {
final String[] localDeclarationTypes = new String[localDeclarations.length];
- for ( int i = 0, size = localDeclarations.length; i < size; i++ ) {
- localDeclarationTypes[i] = ((JavaDialect) context.getDialect()).getTypeFixer().fix( localDeclarations[i] );
+ for (int i = 0, size = localDeclarations.length; i < size; i++) {
+ localDeclarationTypes[i] = ((JavaDialect) context.getDialect()).getTypeFixer().fix(localDeclarations[i]);
}
- map.put( "localDeclarations",
- localDeclarations );
+ map.put("localDeclarations",
+ localDeclarations);
- map.put( "localDeclarationTypes",
- localDeclarationTypes );
+ map.put("localDeclarationTypes",
+ localDeclarationTypes);
}
- final List globalTypes = new ArrayList( globals.length );
- for ( int i = 0, length = globals.length; i < length; i++ ) {
- globalTypes.add( ((Class) context.getPkg().getGlobals().get( globals[i] )).getName().replace( '$',
- '.' ) );
+ final List globalTypes = new ArrayList(globals.length);
+ for (int i = 0, length = globals.length; i < length; i++) {
+ globalTypes.add(((Class) context.getPkg().getGlobals().get(globals[i])).getName().replace('$',
+ '.'));
}
- map.put( "globals",
- globals );
+ map.put("globals",
+ globals);
- map.put( "globalTypes",
- globalTypes );
+ map.put("globalTypes",
+ globalTypes);
return map;
}
@@ -112,22 +121,28 @@
final Object invokerLookup,
final BaseDescr descrLookup) {
TemplateRegistry registry = getRuleTemplateRegistry();
- context.getMethods().add( TemplateInterpreter.parse( registry.getTemplate( ruleTemplate ),
- null,
- vars,
- registry ) );
+ context.getMethods().add(
+ TemplateRuntime.execute(registry.getNamedTemplate(ruleTemplate), null, new MapVariableResolverFactory(vars), registry)
+ );
+
+
registry = getInvokerTemplateRegistry();
- final String invokerClassName = context.getPkg().getName() + "." + context.getRuleDescr().getClassName() + StringUtils.ucFirst( className ) + "Invoker";
- context.getInvokers().put( invokerClassName,
- TemplateInterpreter.parse( registry.getTemplate( invokerTemplate ),
- null,
- vars,
- registry ) );
+ final String invokerClassName = context.getPkg().getName() + "." + context.getRuleDescr().getClassName() + StringUtils.ucFirst(className) + "Invoker";
- context.getInvokerLookups().put( invokerClassName,
- invokerLookup );
- context.getDescrLookups().put( invokerClassName,
- descrLookup );
+
+ Object debug;
+ context.getInvokers().put(invokerClassName,
+ debug = TemplateRuntime.execute(registry.getNamedTemplate(invokerTemplate), null, new MapVariableResolverFactory(vars), registry)
+ );
+
+ System.out.println("----");
+ System.out.println(String.valueOf(debug));
+ System.out.println("----");
+
+ context.getInvokerLookups().put(invokerClassName,
+ invokerLookup);
+ context.getDescrLookups().put(invokerClassName,
+ descrLookup);
}
}
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 2008-04-05 00:38:27 UTC (rev 19422)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java 2008-04-06 04:10:51 UTC (rev 19423)
@@ -78,53 +78,53 @@
import org.drools.util.StringUtils;
public class JavaDialect
- implements
- Dialect {
+ implements
+ Dialect {
- public static final String ID = "java";
+ public static final String ID = "java";
- private final static String EXPRESSION_DIALECT_NAME = "mvel";
+ private final static String EXPRESSION_DIALECT_NAME = "mvel";
// builders
- private static final PatternBuilder pattern = new PatternBuilder();
- private static final QueryBuilder query = new QueryBuilder();
- private static final SalienceBuilder salience = new MVELSalienceBuilder();
- private static final JavaAccumulateBuilder accumulate = new JavaAccumulateBuilder();
- private static final JavaEvalBuilder eval = new JavaEvalBuilder();
- private static final JavaPredicateBuilder predicate = new JavaPredicateBuilder();
- private static final JavaReturnValueBuilder returnValue = new JavaReturnValueBuilder();
- private static final JavaConsequenceBuilder consequence = new JavaConsequenceBuilder();
- private static final JavaActionBuilder actionBuilder = new JavaActionBuilder();
+ private static final PatternBuilder pattern = new PatternBuilder();
+ private static final QueryBuilder query = new QueryBuilder();
+ private static final SalienceBuilder salience = new MVELSalienceBuilder();
+ private static final JavaAccumulateBuilder accumulate = new JavaAccumulateBuilder();
+ private static final JavaEvalBuilder eval = new JavaEvalBuilder();
+ private static final JavaPredicateBuilder predicate = new JavaPredicateBuilder();
+ private static final JavaReturnValueBuilder returnValue = new JavaReturnValueBuilder();
+ private static final JavaConsequenceBuilder consequence = new JavaConsequenceBuilder();
+ private static final JavaActionBuilder actionBuilder = new JavaActionBuilder();
private static final ReturnValueEvaluatorBuilder returnValueEvaluatorBuilder = new JavaReturnValueEvaluatorBuilder();
- private static final JavaRuleClassBuilder ruleClassBuilder = new JavaRuleClassBuilder();
- private static final JavaProcessClassBuilder processClassBuilder = new JavaProcessClassBuilder();
- private static final MVELFromBuilder from = new MVELFromBuilder();
- private static final JavaFunctionBuilder function = new JavaFunctionBuilder();
- private static final CollectBuilder collect = new CollectBuilder();
- private static final ForallBuilder forall = new ForallBuilder();
- private static final EntryPointBuilder entrypoint = new EntryPointBuilder();
+ private static final JavaRuleClassBuilder ruleClassBuilder = new JavaRuleClassBuilder();
+ private static final JavaProcessClassBuilder processClassBuilder = new JavaProcessClassBuilder();
+ private static final MVELFromBuilder from = new MVELFromBuilder();
+ private static final JavaFunctionBuilder function = new JavaFunctionBuilder();
+ private static final CollectBuilder collect = new CollectBuilder();
+ private static final ForallBuilder forall = new ForallBuilder();
+ private static final EntryPointBuilder entrypoint = new EntryPointBuilder();
//
- private KnowledgeHelperFixer knowledgeHelperFixer;
- private DeclarationTypeFixer typeFixer;
- private JavaExprAnalyzer analyzer;
+ private KnowledgeHelperFixer knowledgeHelperFixer;
+ private DeclarationTypeFixer typeFixer;
+ private JavaExprAnalyzer analyzer;
- private JavaDialectConfiguration configuration;
+ private JavaDialectConfiguration configuration;
- private Package pkg;
- private JavaCompiler compiler;
- private List generatedClassList;
- private MemoryResourceReader src;
- private PackageStore packageStoreWrapper;
- private Map errorHandlers;
- private List results;
- private PackageBuilder packageBuilder;
+ private Package pkg;
+ private JavaCompiler compiler;
+ private List generatedClassList;
+ private MemoryResourceReader src;
+ private PackageStore packageStoreWrapper;
+ private Map errorHandlers;
+ private List results;
+ private PackageBuilder packageBuilder;
- private TypeResolver typeResolver;
- private ClassFieldExtractorCache classFieldExtractorCache;
+ private TypeResolver typeResolver;
+ private ClassFieldExtractorCache classFieldExtractorCache;
// a map of registered builders
- private static Map builders;
-
+ private static Map builders;
+
public JavaDialect() {
}
@@ -132,7 +132,7 @@
public void init(PackageBuilder builder) {
this.packageBuilder = builder;
this.pkg = builder.getPackage();
- this.configuration = (JavaDialectConfiguration) builder.getPackageBuilderConfiguration().getDialectConfiguration( "java" );
+ this.configuration = (JavaDialectConfiguration) builder.getPackageBuilderConfiguration().getDialectConfiguration("java");
this.typeResolver = builder.getTypeResolver();
this.classFieldExtractorCache = builder.getClassFieldExtractorCache();
@@ -140,11 +140,11 @@
this.typeFixer = new DeclarationTypeFixer();
this.analyzer = new JavaExprAnalyzer();
- if ( pkg != null ) {
- init( pkg );
+ if (pkg != null) {
+ init(pkg);
}
- if ( this.builders == null ) {
+ if (this.builders == null) {
initBuilder();
}
@@ -157,43 +157,43 @@
// if we want to
this.builders = new HashMap();
- this.builders.put( CollectDescr.class,
- collect );
+ this.builders.put(CollectDescr.class,
+ collect);
- this.builders.put( ForallDescr.class,
- forall );
+ this.builders.put(ForallDescr.class,
+ forall);
final GroupElementBuilder gebuilder = new GroupElementBuilder();
- this.builders.put( AndDescr.class,
- gebuilder );
+ this.builders.put(AndDescr.class,
+ gebuilder);
- this.builders.put( OrDescr.class,
- gebuilder );
+ this.builders.put(OrDescr.class,
+ gebuilder);
- this.builders.put( NotDescr.class,
- gebuilder );
+ this.builders.put(NotDescr.class,
+ gebuilder);
- this.builders.put( ExistsDescr.class,
- gebuilder );
+ this.builders.put(ExistsDescr.class,
+ gebuilder);
- this.builders.put( PatternDescr.class,
- getPatternBuilder() );
+ this.builders.put(PatternDescr.class,
+ getPatternBuilder());
- this.builders.put( QueryDescr.class,
- getQueryBuilder() );
+ this.builders.put(QueryDescr.class,
+ getQueryBuilder());
- this.builders.put( FromDescr.class,
- getFromBuilder() );
+ this.builders.put(FromDescr.class,
+ getFromBuilder());
- this.builders.put( AccumulateDescr.class,
- getAccumulateBuilder() );
+ this.builders.put(AccumulateDescr.class,
+ getAccumulateBuilder());
- this.builders.put( EvalDescr.class,
- getEvalBuilder() );
+ this.builders.put(EvalDescr.class,
+ getEvalBuilder());
- this.builders.put( EntryPointDescr.class,
- getEntryPointBuilder() );
+ this.builders.put(EntryPointDescr.class,
+ getEntryPointBuilder());
}
public Map getBuilders() {
@@ -211,30 +211,30 @@
this.generatedClassList = new ArrayList();
- JavaDialectData data = new JavaDialectData( this.pkg.getDialectDatas() );
- this.pkg.getDialectDatas().setDialectData( ID,
- data );
+ JavaDialectData data = new JavaDialectData(this.pkg.getDialectDatas());
+ this.pkg.getDialectDatas().setDialectData(ID,
+ data);
- this.packageStoreWrapper = new PackageStore( data,
- this.results );
+ this.packageStoreWrapper = new PackageStore(data,
+ this.results);
}
public void init(final RuleDescr ruleDescr) {
- final String ruleClassName = getUniqueLegalName( this.pkg.getName(),
- ruleDescr.getName(),
- "java",
- "Rule",
- this.src );
- ruleDescr.setClassName( StringUtils.ucFirst( ruleClassName ) );
+ final String ruleClassName = getUniqueLegalName(this.pkg.getName(),
+ ruleDescr.getName(),
+ "java",
+ "Rule",
+ this.src);
+ ruleDescr.setClassName(StringUtils.ucFirst(ruleClassName));
}
public void init(final ProcessDescr processDescr) {
- final String processDescrClassName = getUniqueLegalName( this.pkg.getName(),
- processDescr.getName(),
- "java",
- "Process",
- this.src );
- processDescr.setClassName( StringUtils.ucFirst( processDescrClassName ) );
+ final String processDescrClassName = getUniqueLegalName(this.pkg.getName(),
+ processDescr.getName(),
+ "java",
+ "Process",
+ this.src);
+ processDescr.setClassName(StringUtils.ucFirst(processDescrClassName));
}
public String getExpressionDialectName() {
@@ -248,14 +248,15 @@
JavaAnalysisResult result = null;
try {
//new Set[]{context.getDeclarationResolver().getDeclarations().keySet(), context.getPkg().getGlobals().keySet()}
- result = this.analyzer.analyzeExpression( (String) content,
- availableIdentifiers );
- } catch ( final Exception e ) {
- context.getErrors().add( new DescrBuildError( context.getParentDescr(),
- descr,
- e,
- "Unable to determine the used declarations.\n" + e ) );
+ result = this.analyzer.analyzeExpression((String) content,
+ availableIdentifiers);
}
+ catch (final Exception e) {
+ context.getErrors().add(new DescrBuildError(context.getParentDescr(),
+ descr,
+ e,
+ "Unable to determine the used declarations.\n" + e));
+ }
return result;
}
@@ -266,19 +267,21 @@
JavaAnalysisResult result = null;
try {
// new Set[]{context.getDeclarationResolver().getDeclarations().keySet(), context.getPkg().getGlobals().keySet()}
- result = this.analyzer.analyzeBlock( text,
- availableIdentifiers );
- } catch ( final Exception e ) {
- context.getErrors().add( new DescrBuildError( context.getParentDescr(),
- descr,
- e,
- "Unable to determine the used declarations.\n" + e ) );
+ result = this.analyzer.analyzeBlock(text,
+ availableIdentifiers);
}
+ catch (final Exception e) {
+ context.getErrors().add(new DescrBuildError(context.getParentDescr(),
+ descr,
+ e,
+ "Unable to determine the used declarations.\n" + e));
+ }
return result;
}
/**
* Returns the current type resolver instance
+ *
* @return
*/
public TypeResolver getTypeResolver() {
@@ -287,6 +290,7 @@
/**
* Returns the cache of field extractors
+ *
* @return
*/
public ClassFieldExtractorCache getClassFieldExtractorCache() {
@@ -295,6 +299,7 @@
/**
* Returns the Knowledge Helper Fixer
+ *
* @return
*/
public KnowledgeHelperFixer getKnowledgeHelperFixer() {
@@ -309,7 +314,7 @@
}
public RuleConditionBuilder getBuilder(final Class clazz) {
- return (RuleConditionBuilder) this.builders.get( clazz );
+ return (RuleConditionBuilder) this.builders.get(clazz);
}
public PatternBuilder getPatternBuilder() {
@@ -378,46 +383,58 @@
* code.
*/
public void compileAll() {
- if ( this.generatedClassList.isEmpty() ) {
+ if (this.generatedClassList.isEmpty()) {
return;
}
final String[] classes = new String[this.generatedClassList.size()];
- this.generatedClassList.toArray( classes );
-
- File dumpDir = this.configuration.getPackageBuilderConfiguration().getDumpDir();
- if( dumpDir != null ) {
- dumpResources( classes,
- dumpDir );
+ this.generatedClassList.toArray(classes);
+
+
+ File dumpDir = this.configuration.getPackageBuilderConfiguration().getDumpDir();
+ if (dumpDir != null) {
+ dumpResources(classes,
+ dumpDir);
}
- final CompilationResult result = this.compiler.compile( classes,
- this.src,
- this.packageStoreWrapper,
- this.pkg.getDialectDatas().getClassLoader() );
+// for (String clazz : classes) {
+// System.out.println("---" + clazz + "----");
+// for (byte b : src.getBytes(clazz)) {
+// System.out.print((char) b);
+// }
+// System.out.println("--- END: " + clazz + "----");
+// }
+
+
+ final CompilationResult result = this.compiler.compile(classes,
+ this.src,
+ this.packageStoreWrapper,
+ this.pkg.getDialectDatas().getClassLoader());
+
//this will sort out the errors based on what class/file they happened in
- if ( result.getErrors().length > 0 ) {
- for ( int i = 0; i < result.getErrors().length; i++ ) {
+ if (result.getErrors().length > 0) {
+ for (int i = 0; i < result.getErrors().length; i++) {
final CompilationProblem err = result.getErrors()[i];
// System.out.println("Line: "+err.getStartLine());
// LineMappings maps = this.pkg.getPackageCompilationData().getLineMappings( err.getFileName().replace( '/', '.' ).substring( 0, err.getFileName().length() - 5 ) );
// int line = err.getStartLine() + maps.getStartLine() - maps.getOffset() -1;
// System.out.println("Map: "+line);
- final ErrorHandler handler = (ErrorHandler) this.errorHandlers.get( err.getFileName() );
- if ( handler instanceof RuleErrorHandler ) {
+ final ErrorHandler handler = (ErrorHandler) this.errorHandlers.get(err.getFileName());
+ if (handler instanceof RuleErrorHandler) {
final RuleErrorHandler rh = (RuleErrorHandler) handler;
}
- handler.addError( err );
+ handler.addError(err);
}
final Collection errors = this.errorHandlers.values();
- for ( final Iterator iter = errors.iterator(); iter.hasNext(); ) {
+ for (final Iterator iter = errors.iterator(); iter.hasNext();) {
final ErrorHandler handler = (ErrorHandler) iter.next();
- if ( handler.isInError() ) {
- if ( !(handler instanceof RuleInvokerErrorHandler) ) {
- this.results.add( handler.getError() );
- } else {
+ if (handler.isInError()) {
+ if (!(handler instanceof RuleInvokerErrorHandler)) {
+ this.results.add(handler.getError());
+ }
+ else {
//we don't really want to report invoker errors.
//mostly as they can happen when there is a syntax error in the RHS
//and otherwise, it is a programmatic error in drools itself.
@@ -439,24 +456,31 @@
*/
private void dumpResources(final String[] classes,
File dumpDir) {
- for( int i = 0; i < classes.length; i++ ) {
- File target = new File( dumpDir, classes[i] );
+ for (int i = 0; i < classes.length; i++) {
+ File target = new File(dumpDir, classes[i]);
FileOutputStream out = null;
try {
File parent = target.getParentFile();
- if( parent != null && ! parent.exists() ) {
+ if (parent != null && !parent.exists()) {
parent.mkdirs();
}
target.createNewFile();
- out = new FileOutputStream( target );
- out.write( this.src.getBytes( classes[i] ) );
- } catch ( FileNotFoundException e ) {
+ out = new FileOutputStream(target);
+ out.write(this.src.getBytes(classes[i]));
+ }
+ catch (FileNotFoundException e) {
e.printStackTrace();
- } catch ( IOException e ) {
+ }
+ catch (IOException e) {
e.printStackTrace();
- } finally {
- if( out != null ) try { out.close(); } catch (Exception e) {}
}
+ finally {
+ if (out != null) try {
+ out.close();
+ }
+ catch (Exception e) {
+ }
+ }
}
}
@@ -467,9 +491,9 @@
public void addRule(final RuleBuildContext context) {
RuleClassBuilder classBuilder = context.getDialect().getRuleClassBuilder();
- String ruleClass = classBuilder.buildRule( context );
+ String ruleClass = classBuilder.buildRule(context);
// return if there is no ruleclass name;
- if ( ruleClass == null ) {
+ if (ruleClass == null) {
return;
}
@@ -477,47 +501,47 @@
final RuleDescr ruleDescr = context.getRuleDescr();
// The compilation result is for the entire rule, so difficult to associate with any descr
- addClassCompileTask( this.pkg.getName() + "." + ruleDescr.getClassName(),
- ruleDescr,
- ruleClass,
- this.src,
- new RuleErrorHandler( ruleDescr,
- rule,
- "Rule Compilation error" ) );
+ addClassCompileTask(this.pkg.getName() + "." + ruleDescr.getClassName(),
+ ruleDescr,
+ ruleClass,
+ this.src,
+ new RuleErrorHandler(ruleDescr,
+ rule,
+ "Rule Compilation error"));
- JavaDialectData data = (JavaDialectData) this.pkg.getDialectDatas().getDialectData( this.ID );
+ JavaDialectData data = (JavaDialectData) this.pkg.getDialectDatas().getDialectData(this.ID);
- for ( final Iterator it = context.getInvokers().keySet().iterator(); it.hasNext(); ) {
+ for (final Iterator it = context.getInvokers().keySet().iterator(); it.hasNext();) {
final String className = (String) it.next();
// Check if an invoker - returnvalue, predicate, eval or consequence 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 Object invoker = context.getInvokerLookups().get(className);
+ if (invoker != null) {
+ data.putInvoker(className,
+ invoker);
}
- final String text = (String) context.getInvokers().get( className );
+ final String text = (String) context.getInvokers().get(className);
- final BaseDescr descr = (BaseDescr) context.getDescrLookups().get( className );
- addClassCompileTask( className,
- descr,
- text,
- this.src,
- new RuleInvokerErrorHandler( descr,
- rule,
- "Unable to generate rule invoker." ) );
+ final BaseDescr descr = (BaseDescr) context.getDescrLookups().get(className);
+ addClassCompileTask(className,
+ descr,
+ text,
+ this.src,
+ new RuleInvokerErrorHandler(descr,
+ rule,
+ "Unable to generate rule invoker."));
}
// setup the line mappins for this rule
- final String name = this.pkg.getName() + "." + StringUtils.ucFirst( ruleDescr.getClassName() );
- final LineMappings mapping = new LineMappings( name );
- mapping.setStartLine( ruleDescr.getConsequenceLine() );
- mapping.setOffset( ruleDescr.getConsequenceOffset() );
+ final String name = this.pkg.getName() + "." + StringUtils.ucFirst(ruleDescr.getClassName());
+ final LineMappings mapping = new LineMappings(name);
+ mapping.setStartLine(ruleDescr.getConsequenceLine());
+ mapping.setOffset(ruleDescr.getConsequenceOffset());
- this.pkg.getDialectDatas().getLineMappings().put( name,
- mapping );
+ this.pkg.getDialectDatas().getLineMappings().put(name,
+ mapping);
}
@@ -528,8 +552,8 @@
public void addProcess(final ProcessBuildContext context) {
ProcessClassBuilder classBuilder = context.getDialect().getProcessClassBuilder();
- String processClass = classBuilder.buildRule( context );
- if ( processClass == null ) {
+ String processClass = classBuilder.buildRule(context);
+ if (processClass == null) {
// nothing to compile.
return;
}
@@ -538,36 +562,36 @@
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" ) );
+ addClassCompileTask(this.pkg.getName() + "." + processDescr.getClassName(),
+ processDescr,
+ processClass,
+ this.src,
+ new ProcessErrorHandler(processDescr,
+ process,
+ "Process Compilation error"));
- JavaDialectData data = (JavaDialectData) this.pkg.getDialectDatas().getDialectData( this.ID );
+ JavaDialectData data = (JavaDialectData) this.pkg.getDialectDatas().getDialectData(this.ID);
- for ( final Iterator it = context.getInvokers().keySet().iterator(); it.hasNext(); ) {
+ 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 Object invoker = context.getInvokerLookups().get(className);
+ if (invoker != null) {
+ data.putInvoker(className,
+ invoker);
}
- final String text = (String) context.getInvokers().get( className );
+ 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." ) );
+ final BaseDescr descr = (BaseDescr) context.getDescrLookups().get(className);
+ addClassCompileTask(className,
+ descr,
+ text,
+ this.src,
+ new ProcessInvokerErrorHandler(processDescr,
+ process,
+ "Unable to generate action invoker."));
}
@@ -586,48 +610,48 @@
public void addFunction(final FunctionDescr functionDescr,
final TypeResolver typeResolver) {
- JavaDialectData data = (JavaDialectData) this.pkg.getDialectDatas().getDialectData( this.ID );
+ JavaDialectData data = (JavaDialectData) this.pkg.getDialectDatas().getDialectData(this.ID);
//System.out.println( functionDescr + " : " + typeResolver );
- final String functionClassName = this.pkg.getName() + "." + StringUtils.ucFirst( functionDescr.getName() );
- functionDescr.setClassName( functionClassName );
+ final String functionClassName = this.pkg.getName() + "." + StringUtils.ucFirst(functionDescr.getName());
+ functionDescr.setClassName(functionClassName);
- this.pkg.addStaticImport( functionClassName + "." + functionDescr.getName() );
+ this.pkg.addStaticImport(functionClassName + "." + functionDescr.getName());
- Function function = new Function( functionDescr.getName(),
- this.ID );
- this.pkg.addFunction( function );
+ Function function = new Function(functionDescr.getName(),
+ this.ID);
+ this.pkg.addFunction(function);
- final String functionSrc = getFunctionBuilder().build( this.pkg,
- functionDescr,
- typeResolver,
- this.pkg.getDialectDatas().getLineMappings(),
- this.results );
+ final String functionSrc = getFunctionBuilder().build(this.pkg,
+ functionDescr,
+ typeResolver,
+ this.pkg.getDialectDatas().getLineMappings(),
+ this.results);
- addClassCompileTask( functionClassName,
- functionDescr,
- functionSrc,
- this.src,
- new FunctionErrorHandler( functionDescr,
- "Function Compilation error" ) );
+ addClassCompileTask(functionClassName,
+ functionDescr,
+ functionSrc,
+ this.src,
+ new FunctionErrorHandler(functionDescr,
+ "Function Compilation error"));
- final LineMappings mapping = new LineMappings( functionClassName );
- mapping.setStartLine( functionDescr.getLine() );
- mapping.setOffset( functionDescr.getOffset() );
- this.pkg.getDialectDatas().getLineMappings().put( functionClassName,
- mapping );
+ final LineMappings mapping = new LineMappings(functionClassName);
+ mapping.setStartLine(functionDescr.getLine());
+ mapping.setOffset(functionDescr.getOffset());
+ this.pkg.getDialectDatas().getLineMappings().put(functionClassName,
+ mapping);
}
public void preCompileAddFunction(FunctionDescr functionDescr,
TypeResolver typeResolver) {
- final String functionClassName = this.pkg.getName() + "." + StringUtils.ucFirst( functionDescr.getName() );
- this.pkg.addStaticImport( functionClassName + "." + functionDescr.getName() );
+ final String functionClassName = this.pkg.getName() + "." + StringUtils.ucFirst(functionDescr.getName());
+ this.pkg.addStaticImport(functionClassName + "." + functionDescr.getName());
}
public void postCompileAddFunction(FunctionDescr functionDescr,
TypeResolver typeResolver) {
- final String functionClassName = this.pkg.getName() + "." + StringUtils.ucFirst( functionDescr.getName() );
+ final String functionClassName = this.pkg.getName() + "." + StringUtils.ucFirst(functionDescr.getName());
- this.packageBuilder.getDialectRegistry().addStaticImport( functionClassName + "." + functionDescr.getName() );
+ this.packageBuilder.getDialectRegistry().addStaticImport(functionClassName + "." + functionDescr.getName());
}
/**
@@ -643,37 +667,37 @@
final MemoryResourceReader src,
final ErrorHandler handler) {
- final String fileName = className.replace( '.',
- '/' ) + ".java";
+ final String fileName = className.replace('.',
+ '/') + ".java";
- src.add( fileName,
- text.getBytes() );
+ src.add(fileName,
+ text.getBytes());
- this.errorHandlers.put( fileName,
- handler );
+ this.errorHandlers.put(fileName,
+ handler);
- addClassName( fileName );
+ addClassName(fileName);
}
public void addClassName(final String className) {
- this.generatedClassList.add( className );
+ this.generatedClassList.add(className);
}
private void loadCompiler() {
- switch ( this.configuration.getCompiler() ) {
- case JavaDialectConfiguration.JANINO : {
- this.compiler = JavaCompilerFactory.getInstance().createCompiler( "janino" );
+ switch (this.configuration.getCompiler()) {
+ case JavaDialectConfiguration.JANINO: {
+ this.compiler = JavaCompilerFactory.getInstance().createCompiler("janino");
break;
}
- case JavaDialectConfiguration.ECLIPSE :
- default : {
- this.compiler = JavaCompilerFactory.getInstance().createCompiler( "eclipse" );
+ case JavaDialectConfiguration.ECLIPSE:
+ default: {
+ this.compiler = JavaCompilerFactory.getInstance().createCompiler("eclipse");
JavaCompilerSettings settings = this.compiler.createDefaultSettings();
String lngLevel = this.configuration.getJavaLanguageLevel();
- settings.setTargetVersion( lngLevel );
+ settings.setTargetVersion(lngLevel);
- settings.setSourceVersion( lngLevel );
+ settings.setSourceVersion(lngLevel);
break;
}
}
@@ -693,7 +717,7 @@
/**
* Takes a given name and makes sure that its legal and doesn't already exist. If the file exists it increases counter appender untill it is unique.
- *
+ * <p/>
* TODO: move out to shared utility class
*
* @param packageName
@@ -707,23 +731,23 @@
final String prefix,
final ResourceReader src) {
// replaces all non alphanumeric or $ chars with _
- String newName = prefix + "_" + name.replaceAll( "[[^\\w]$]",
- "_" );
+ String newName = prefix + "_" + name.replaceAll("[[^\\w]$]",
+ "_");
// make sure the class name does not exist, if it does increase the counter
int counter = -1;
boolean exists = true;
- while ( exists ) {
+ while (exists) {
counter++;
- final String fileName = packageName.replaceAll( "\\.",
- "/" ) + newName + "_" + counter + ext;
+ final String fileName = packageName.replaceAll("\\.",
+ "/") + newName + "_" + counter + ext;
//MVEL:test null to Fix failing test on org.drools.rule.builder.dialect.mvel.MVELConsequenceBuilderTest.testImperativeCodeError()
- exists = src != null && src.isAvailable( fileName );
+ exists = src != null && src.isAvailable(fileName);
}
// we have duplicate file names so append counter
- if ( counter >= 0 ) {
+ if (counter >= 0) {
newName = newName + "_" + counter;
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaFunctionBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaFunctionBuilder.java 2008-04-05 00:38:27 UTC (rev 19422)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaFunctionBuilder.java 2008-04-06 04:10:51 UTC (rev 19423)
@@ -18,8 +18,10 @@
import org.drools.rule.Package;
import org.drools.rule.builder.FunctionBuilder;
import org.drools.util.StringUtils;
-import org.mvel.TemplateInterpreter;
+import org.mvel.templates.TemplateRuntime;
+import org.mvel.integration.impl.MapVariableResolverFactory;
+
public class JavaFunctionBuilder
implements
FunctionBuilder {
@@ -93,8 +95,7 @@
vars.put( "text",
functionDescr.getText() );
- final String text = TemplateInterpreter.evalToString( template,
- vars );
+ final String text = String.valueOf(TemplateRuntime.eval( template, null, new MapVariableResolverFactory(vars)));
//System.out.println( text );
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELAnalysisResult.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELAnalysisResult.java 2008-04-05 00:38:27 UTC (rev 19422)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELAnalysisResult.java 2008-04-06 04:10:51 UTC (rev 19423)
@@ -44,6 +44,7 @@
}
public void setBoundIdentifiers(List[] boundIdentifiers) {
this.boundIdentifiers = boundIdentifiers;
+
}
public List getIdentifiers() {
return identifiers;
@@ -71,6 +72,4 @@
public void setMvelVariables(Map mvelVariables) {
this.mvelVariables = mvelVariables;
}
-
-
}
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 2008-04-05 00:38:27 UTC (rev 19422)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java 2008-04-06 04:10:51 UTC (rev 19423)
@@ -76,9 +76,7 @@
import org.mvel.util.CompilerTools;
import org.mvel.util.ParseTools;
-public class MVELDialect
- implements
- Dialect, Externalizable {
+public class MVELDialect implements Dialect, Externalizable {
public final static String ID = "mvel";
@@ -156,6 +154,7 @@
out.writeObject(imports);
out.writeBoolean(strictMode);
}
+
public static void setLanguageLevel(int level) {
synchronized ( languageSet ) {
// this synchronisation is needed as setLanguageLevel is now thread safe
Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaFunction.mvel
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaFunction.mvel 2008-04-05 00:38:27 UTC (rev 19422)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaFunction.mvel 2008-04-06 04:10:51 UTC (rev 19423)
@@ -1,17 +1,17 @@
package @{package};
- at foreach{imports as importEntry}
+ at foreach{importEntry : imports}
import @{importEntry};
@end{}
- at foreach{staticImports as importEntry}
+ at foreach{importEntry : staticImports}
import static @{importEntry};
@end{}
public class @{className} implements java.io.Externalizable {
private static final long serialVersionUID = 400L;
- public static @{returnType} @{methodName}(@foreach{parameterTypes as type, parameterNames as name}@{type} @{name}@end{","}) throws Exception {
+ public static @{returnType} @{methodName}(@foreach{type : parameterTypes, name : parameterNames}@{type} @{name}@end{","}) throws Exception {
@{text}
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.mvel
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.mvel 2008-04-05 00:38:27 UTC (rev 19422)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.mvel 2008-04-06 04:10:51 UTC (rev 19423)
@@ -1,8 +1,7 @@
-getMethodBytecode() ::=<<
+ at declare{"getMethodBytecode"}
public java.util.List getMethodBytecode() {
org.drools.util.asm.MethodComparator.Tracer visit = new org.drools.util.asm.MethodComparator.Tracer("@{methodName}");
-
java.io.InputStream is = @{ruleClassName}.class.getClassLoader().getResourceAsStream( "@{package}.@{ruleClassName}".replace( '.', '/' ) + ".class" );
java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream();
@@ -24,10 +23,10 @@
org.drools.asm.util.TraceMethodVisitor trace = visit.getTrace();
return trace.getText();
}
->>=::
+ at end{}
-equals() ::=<<
+ at declare{"equals"}
public boolean equals(Object object) {
if (object == null ) {
return false;
@@ -43,15 +42,15 @@
return org.drools.util.asm.MethodComparator.compareBytecode( getMethodBytecode(), other.getMethodBytecode() );
}
->>=::
+ at end{}
-hashCode() ::=<<
+ at declare{"hashCode"}
public int hashCode() {
return @{hashCode};
}
->>=::
+ at end{}
-returnValueInvoker() ::=<<
+ at declare{"returnValueInvoker"}
package @{package};
public class @{invokerClassName} implements org.drools.spi.ReturnValueExpression, org.drools.spi.CompiledInvoker, java.io.Externalizable
@@ -67,32 +66,35 @@
org.drools.WorkingMemory workingMemory,
Object context ) throws Exception {
- @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier} = ( @{type} ) previousDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) tuple.get( previousDeclarations[@{i0}] ) ).getObject() );
+ @code{i0=0}@foreach{type : declarationTypes, declr : declarations} @{type} @{declr.identifier} = ( @{type} ) previousDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) tuple.get( previousDeclarations[@{i0}] ) ).getObject() );
+ @code{i0++}
@end{}
@if{readLocalsFromTuple}
- @foreach{localDeclarationTypes as type, localDeclarations as declr} @{type} @{declr.identifier} = ( @{type} ) localDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) tuple.get( localDeclarations[@{i0}] ) ).getObject() );
+ @code{i0=0}@foreach{type : localDeclarationTypes, declr : localDeclarations} @{type} @{declr.identifier} = ( @{type} ) localDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) tuple.get( localDeclarations[@{i0}] ) ).getObject() );
+ @code{i0++}
@end{}
@else{}
- @foreach{localDeclarationTypes as type, localDeclarations as declr} @{type} @{declr.identifier} = ( @{type} ) localDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, object );
+ @code{i0=0}@foreach{type : localDeclarationTypes, declr : localDeclarations} @{type} @{declr.identifier} = ( @{type} ) localDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, object );
+ @code{i0++}
@end{}
@end{}
- @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
+ @foreach{type : globalTypes, identifier : globals} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
@end{}
return @{ruleClassName}.@{methodName}(
- @foreach{declarations as declr} @{declr.identifier}
+ @foreach{declr : declarations} @{declr.identifier}
@end{","} @if{localDeclarations != empty && declarations != empty}, at end{}
- @foreach{localDeclarations as declr} @{declr.identifier}
+ @foreach{declr :localDeclarations} @{declr.identifier}
@end{","}@if{globals != empty && (localDeclarations != empty || declarations != empty)}, at end{}
- @foreach{globals as identifier}@{identifier}
+ @foreach{identifier : globals}@{identifier}
@end{","} );
}
- @includeByRef{hashCode(hashCode = hashCode)}
+ @includeNamed{"hashCode"}
- @includeByRef{getMethodBytecode(package = package, ruleClassName = ruleClassName, methodName = methodName)}
+ @includeNamed{"getMethodBytecode"}
- @includeByRef{equals()}
+ @includeNamed{"equals"}
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException {
}
@@ -100,9 +102,9 @@
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException {
}
}
->>=::
+ at end{}
-predicateInvoker() ::=<<
+ at declare{"predicateInvoker"}
package @{package};
public class @{invokerClassName} implements org.drools.spi.PredicateExpression, org.drools.spi.CompiledInvoker, java.io.Externalizable
@@ -118,37 +120,40 @@
org.drools.WorkingMemory workingMemory,
Object context ) throws Exception {
- @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier} = ( @{type} ) previousDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) tuple.get( previousDeclarations[@{i0}] ) ).getObject() );
+ @code{i0=0}@foreach{type : declarationTypes, declr : declarations} @{type} @{declr.identifier} = ( @{type} ) previousDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) tuple.get( previousDeclarations[@{i0}] ) ).getObject() );
+ @code{i0++}
@end{}
- @foreach{localDeclarationTypes as type, localDeclarations as declr} @{type} @{declr.identifier} = ( @{type} ) localDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, object );
+ @code{i0=0}@foreach{type : localDeclarationTypes, declr : localDeclarations} @{type} @{declr.identifier} = ( @{type} ) localDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, object );
+ @code{i0++}
@end{}
- @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
+ @foreach{type : globalTypes, identifier : globals} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
@end{}
return @{ruleClassName}.@{methodName}(
- @foreach{declarations as declr} @{declr.identifier}
+ @foreach{declr : declarations} @{declr.identifier}
@end{","} @if{localDeclarations != empty && declarations != empty}, at end{}
- @foreach{localDeclarations as declr} @{declr.identifier}
+ @foreach{declr : localDeclarations} @{declr.identifier}
@end{","}@if{globals != empty && (localDeclarations != empty || declarations != empty)}, at end{}
- @foreach{globals as identifier}@{identifier}
+ @foreach{identifier : globals}@{identifier}
@end{","} );
}
- @includeByRef{hashCode(hashCode = hashCode)}
- @includeByRef{getMethodBytecode(package = package, ruleClassName = ruleClassName, methodName = methodName)}
+ @includeNamed{"hashCode"}
- @includeByRef{equals()}
+ @includeNamed{"getMethodBytecode"}
+ @includeNamed{"equals"}
+
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException {
}
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException {
}
}
->>=::
+ at end{}
-evalInvoker() ::=<<
+ at declare{"evalInvoker"}
package @{package};
public class @{invokerClassName} implements org.drools.spi.EvalExpression, org.drools.spi.CompiledInvoker, java.io.Externalizable
@@ -163,33 +168,36 @@
org.drools.WorkingMemory workingMemory,
Object context ) throws Exception {
- @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier} = ( @{type} ) declarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) tuple.get( declarations[@{i0}] ) ).getObject() );
+ @code{i0=0}@foreach{type : declarationTypes, declr : declarations} @{type} @{declr.identifier} = ( @{type} ) declarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) tuple.get( declarations[@{i0}] ) ).getObject() );
+ @code{i0++}
@end{}
- @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
+ @foreach{type : globalTypes, identifier : globals} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
@end{}
return @{ruleClassName}.@{methodName}(
- @foreach{declarations as declr} @{declr.identifier}
+ @foreach{declr : declarations} @{declr.identifier}
@end{","} @if{globals != empty && declarations != empty}, at end{}
- @foreach{globals as identifier}@{identifier}
+ @foreach{identifier : globals}@{identifier}
@end{","} );
}
- @includeByRef{hashCode(hashCode = hashCode)}
+ @includeNamed{"hashCode"}
- @includeByRef{getMethodBytecode(package = package, ruleClassName = ruleClassName, methodName = methodName)}
+ @includeNamed{"getMethodBytecode"}
- @includeByRef{equals()}
+ @includeNamed{"equals"}
+
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException {
}
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException {
}
}
->>=::
+ at end{}
-accumulateInvoker() ::=<<
+
+ at declare{"accumulateInvoker"}
package @{package};
import org.drools.asm.ClassReader;
@@ -209,14 +217,15 @@
org.drools.spi.Tuple leftTuple,
org.drools.rule.Declaration[] declarations,
org.drools.WorkingMemory workingMemory) throws Exception {
- @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier} = ( @{type} ) declarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) leftTuple.get( declarations[@{i0}] ) ).getObject() );
+ @code{i0=0}@foreach{type : declarationTypes, declr : declarations} @{type} @{declr.identifier} = ( @{type} ) declarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) leftTuple.get( declarations[@{i0}] ) ).getObject() );
+ @code{i0++}
@end{}
- @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
+ @foreach{type : globalTypes, identifier : globals} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
@end{}
((@{ruleClassName}.@{className})context).init(
- @foreach{declarations as declr} @{declr.identifier}@end{","}@if{globals != empty && declarations != empty}, at end{}
- @foreach{globals as identifier} @{identifier}@end{","} );
+ @foreach{declr : declarations} @{declr.identifier}@end{","}@if{globals != empty && declarations != empty}, at end{}
+ @foreach{identifier : globals} @{identifier}@end{","} );
}
@@ -227,24 +236,27 @@
org.drools.rule.Declaration[] declarations,
org.drools.rule.Declaration[] innerDeclarations,
org.drools.WorkingMemory workingMemory) throws Exception {
- @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier} = ( @{type} ) declarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) leftTuple.get( declarations[@{i0}] ) ).getObject() );
+ @code{ i0 = 0 }@foreach{type : declarationTypes, declr : declarations} @{type} @{declr.identifier} = ( @{type} ) declarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) leftTuple.get( declarations[@{i0}] ) ).getObject() );
+ @code{ i0++ }
@end{}
- @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
+ @foreach{type : globalTypes, identifier : globals} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
@end{}
@if{isMultiPattern}
- @foreach{innerDeclarations as declr} @{declr.extractor.extractToClassName} @{declr.identifier} = (@{declr.extractor.extractToClassName}) innerDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) leftTuple.get( innerDeclarations[@{i0}] ) ).getObject() );
+ @code{ i0 = 0 }@foreach{declr : innerDeclarations} @{declr.extractor.extractToClassName} @{declr.identifier} = (@{declr.extractor.extractToClassName}) innerDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) leftTuple.get( innerDeclarations[@{i0}] ) ).getObject() );
+ @code{ i0++ }
@end{}
@else{}
- @foreach{innerDeclarations as declr} @{declr.extractor.extractToClassName} @{declr.identifier} = (@{declr.extractor.extractToClassName}) innerDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, handle.getObject() );
+ @code{ i0 = 0 }@foreach{declr : innerDeclarations} @{declr.extractor.extractToClassName} @{declr.identifier} = (@{declr.extractor.extractToClassName}) innerDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, handle.getObject() );
+ @code{ i0++ }
@end{}
@end{}
((@{ruleClassName}.@{className})context).accumulate(
workingMemory,
innerDeclarations,
handle.getObject()@if{declarations != empty}, at end{}
- @foreach{declarations as declr} @{declr.identifier}@end{","}@if{globals != empty}, at end{}
- @foreach{globals as identifier} @{identifier}@end{","}@if{innerDeclarations != empty}, at end{}
- @foreach{innerDeclarations as declr} @{declr.identifier}@end{","});
+ @foreach{declr : declarations} @{declr.identifier}@end{","}@if{globals != empty}, at end{}
+ @foreach{identifier: globals} @{identifier}@end{","}@if{innerDeclarations != empty}, at end{}
+ @foreach{declr : innerDeclarations} @{declr.identifier}@end{","});
}
public void reverse(java.lang.Object workingMemoryContext,
@@ -254,15 +266,18 @@
org.drools.rule.Declaration[] declarations,
org.drools.rule.Declaration[] innerDeclarations,
org.drools.WorkingMemory workingMemory) throws Exception {
- @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier} = ( @{type} ) declarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) leftTuple.get( declarations[@{i0}] ) ).getObject() );
+ @code{ i0 = 0 }@foreach{type : declarationTypes, declr : declarations} @{type} @{declr.identifier} = ( @{type} ) declarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) leftTuple.get( declarations[@{i0}] ) ).getObject() );
+ @code{ i0++ }
@end{}
- @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
+ @foreach{type : globalTypes, identifier : globals} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
@end{}
@if{isMultiPattern}
- @foreach{innerDeclarations as declr} @{declr.extractor.extractToClassName} @{declr.identifier} = (@{declr.extractor.extractToClassName}) innerDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) leftTuple.get( innerDeclarations[@{i0}] ) ).getObject() );
+ @code{ i0 = 0}@foreach{declr : innerDeclarations} @{declr.extractor.extractToClassName} @{declr.identifier} = (@{declr.extractor.extractToClassName}) innerDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) leftTuple.get( innerDeclarations[@{i0}] ) ).getObject() );
+ @code{ i0++ }
@end{}
@else{}
- @foreach{innerDeclarations as declr} @{declr.extractor.extractToClassName} @{declr.identifier} = (@{declr.extractor.extractToClassName}) innerDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, handle.getObject() );
+ @code{ i0 = 0 }@foreach{declr : innerDeclarations} @{declr.extractor.extractToClassName} @{declr.identifier} = (@{declr.extractor.extractToClassName}) innerDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, handle.getObject() );
+ @code{ i0++ }
@end{}
@end{}
@@ -270,9 +285,9 @@
workingMemory,
innerDeclarations,
handle.getObject()@if{declarations != empty}, at end{}
- @foreach{declarations as declr} @{declr.identifier}@end{","}@if{globals != empty}, at end{}
- @foreach{globals as identifier} @{identifier}@end{","}@if{innerDeclarations != empty}, at end{}
- @foreach{innerDeclarations as declr} @{declr.identifier}@end{","});
+ @foreach{declr : declarations} @{declr.identifier}@end{","}@if{globals != empty}, at end{}
+ @foreach{identifier : globals} @{identifier}@end{","}@if{innerDeclarations != empty}, at end{}
+ @foreach{declr : innerDeclarations} @{declr.identifier}@end{","});
}
public Object getResult(java.lang.Object workingMemoryContext,
@@ -280,14 +295,15 @@
org.drools.spi.Tuple leftTuple,
org.drools.rule.Declaration[] declarations,
org.drools.WorkingMemory workingMemory) throws Exception {
- @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier} = ( @{type} ) declarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) leftTuple.get( declarations[@{i0}] ) ).getObject() );
+ @code{ i0 = 0 }@foreach{type : declarationTypes, declr : declarations} @{type} @{declr.identifier} = ( @{type} ) declarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) leftTuple.get( declarations[@{i0}] ) ).getObject() );
+ @code{ i0++ }
@end{}
- @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
+ @foreach{type : globalTypes, identifier : globals} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
@end{}
return ((@{ruleClassName}.@{className})context).getResult(
- @foreach{declarations as declr} @{declr.identifier}@end{","}@if{globals != empty && declarations != empty}, at end{}
- @foreach{globals as identifier} @{identifier}@end{","} );
+ @foreach{declr : declarations} @{declr.identifier}@end{","}@if{globals != empty && declarations != empty}, at end{}
+ @foreach{identifier : globals} @{identifier}@end{","} );
}
public boolean supportsReverse() {
@@ -298,9 +314,9 @@
return null;
}
- @includeByRef{hashCode(hashCode = hashCode)}
+ @includeNamed{"hashCode"}
- @includeByRef{equals()}
+ @includeNamed("equals"}
public java.util.List getMethodBytecode() {
java.io.InputStream is = @{ruleClassName}.class.getClassLoader().getResourceAsStream( "@{package}.@{ruleClassName}".replace( '.', '/' ) + "$@{className}" + ".class" );
@@ -328,9 +344,9 @@
}
}
->>=::
+ at end{}
-consequenceInvoker() ::=<<
+ at declare{"consequenceInvoker"}
package @{package};
public class @{invokerClassName} implements org.drools.spi.Consequence, java.io.Externalizable
@@ -344,20 +360,20 @@
org.drools.rule.Rule rule = knowledgeHelper.getRule();
org.drools.rule.Declaration[] declarations = rule.getDeclarations();
- @foreach{declarationTypes as type, declarations as declr ,indexes as index, notPatterns as notPattern}
+ @foreach{type : declarationTypes, declr : declarations, index : indexes, notPattern : notPatterns}
org.drools.common.InternalFactHandle @{declr.identifier}__Handle__ = ( org.drools.common.InternalFactHandle ) tuple.get( knowledgeHelper.getDeclaration( declarations[@{index}].getIdentifier() ) );
@{type} @{declr.identifier} = ( @{type} ) declarations[@{index}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, @{declr.identifier}__Handle__.getObject() );
@if{notPattern}@{declr.identifier}__Handle__ = (org.drools.common.InternalFactHandle) knowledgeHelper.getWorkingMemory().getFactHandle( @{declr.identifier} );@end{}
@end{}
- @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
+ @foreach{type : globalTypes, identifier : globals} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
@end{}
@{ruleClassName}.@{methodName} (
knowledgeHelper at if{declarations != empty}, at end{}
- @foreach{declarations as declr} @{declr.identifier}, @{declr.identifier}__Handle__
+ @foreach{declr : declarations} @{declr.identifier}, @{declr.identifier}__Handle__
@end{","}@if{globals != empty}, at end{}
- @foreach{globals as identifier} @{identifier}
+ @foreach{identifier : globals} @{identifier}
@end{","} );
}
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException {
@@ -366,9 +382,10 @@
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException {
}
}
->>=::
+ at end{}
-actionInvoker() ::=<<
+
+ at declare{"actionInvoker"}
package @{package};
public class @{invokerClassName} implements org.drools.spi.Action, java.io.Externalizable
@@ -377,11 +394,11 @@
public void execute(org.drools.WorkingMemory workingMemory) throws Exception {
- @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
+ @foreach{type : globalTypes, identifier : globals} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
@end{}
@{processClassName}.@{methodName} (
- @foreach{globals as identifier} @{identifier}
+ @foreach{identifier : globals} @{identifier}
@end{","} );
}
@@ -391,9 +408,9 @@
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException {
}
}
->>=::
+ at end{}
-returnValueEvaluatorInvoker() ::=<<
+ at declare{"returnValueEvaluatorInvoker"}
package @{package};
public class @{invokerClassName} implements org.drools.spi.ReturnValueEvaluator, java.io.Externalizable
@@ -402,11 +419,11 @@
public Object evaluate(org.drools.WorkingMemory workingMemory) throws Exception {
- @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
+ @foreach{type : globalTypes, identifier : globals} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
@end{}
return @{processClassName}.@{methodName} (
- @foreach{globals as identifier} @{identifier}
+ @foreach{identifier : globals} @{identifier}
@end{","} );
}
@@ -416,4 +433,4 @@
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException {
}
}
->>=::
\ No newline at end of file
+ at end{}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaRule.mvel
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaRule.mvel 2008-04-05 00:38:27 UTC (rev 19422)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaRule.mvel 2008-04-06 04:10:51 UTC (rev 19423)
@@ -1,37 +1,37 @@
-returnValueMethod() ::=<<
-public static org.drools.spi.FieldValue @{methodName}(@foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier} @end{","} @if{localDeclarations != empty && declarations != empty}, at end{}
- @foreach{localDeclarationTypes as type, localDeclarations as declr } @{type} @{declr.identifier} @end{","} @if{globals != empty && (localDeclarations != empty || declarations != empty)}, at end{}
- @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} @end{","} ) throws Exception {
+ at declare{"returnValueMethod"}
+public static org.drools.spi.FieldValue @{methodName}(@foreach{type : declarationTypes, declr : declarations} @{type} @{declr.identifier} @end{","} @if{localDeclarations != empty && declarations != empty}, at end{}
+ @foreach{type : localDeclarationTypes, declr : localDeclarations} @{type} @{declr.identifier} @end{","} @if{globals != empty && (localDeclarations != empty || declarations != empty)}, at end{}
+ @foreach{type : globalTypes, identifier : globals} @{type} @{identifier} @end{","} ) throws Exception {
return org.drools.base.FieldFactory.getFieldValue( @{text} );
}
->>=::
+ at end{}
-predicateMethod() ::=<<
-public static boolean @{methodName}(@foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier} @end{","} @if{localDeclarations != empty && declarations != empty}, at end{}
- @foreach{localDeclarationTypes as type, localDeclarations as declr } @{type} @{declr.identifier} @end{","} @if{globals != empty && (localDeclarations != empty || declarations != empty)}, at end{}
- @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} @end{","} ) throws Exception {
+ at declare{"predicateMethod"}
+public static boolean @{methodName}(@foreach{type : declarationTypes, declr : declarations} @{type} @{declr.identifier} @end{","} @if{localDeclarations != empty && declarations != empty}, at end{}
+ @foreach{type : localDeclarationTypes, declr : localDeclarations } @{type} @{declr.identifier} @end{","} @if{globals != empty && (localDeclarations != empty || declarations != empty)}, at end{}
+ @foreach{type : globalTypes, identifier : globals} @{type} @{identifier} @end{","} ) throws Exception {
return ( @{text} );
}
->>=::
+ at end{}
-evalMethod() ::=<<
-public static boolean @{methodName}(@foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier} @end{","} @if{globals != empty && declarations != empty}, at end{}
- @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} @end{","} ) throws Exception {
+ at declare{"evalMethod"}
+public static boolean @{methodName}(@foreach{type : declarationTypes, declr : declarations} @{type} @{declr.identifier} @end{","} @if{globals != empty && declarations != empty}, at end{}
+ @foreach{type : globalTypes, identifier : globals} @{type} @{identifier} @end{","} ) throws Exception {
return ( @{text} );
}
->>=::
+ at end{}
-accumulateInnerClass() ::=<<
+ at declare{"accumulateInnerClass"}
public static class @{className} {
- @foreach{attributesTypes as type, attributes as attr} private @{type} @{attr};
+ @foreach{type : attributesTypes, attr : attributes} private @{type} @{attr};
@end{}
public @{className}() {
}
- public void init(@foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier}@end{","}@if{globals != empty && declarations != empty}, at end{}
- @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} @end{","}
+ public void init(@foreach{type : declarationTypes, declr : declarations} @{type} @{declr.identifier}@end{","}@if{globals != empty && declarations != empty}, at end{}
+ @foreach{type : globalTypes, identifier : globals} @{type} @{identifier} @end{","}
) throws Exception {
@{initCode}
}
@@ -39,9 +39,9 @@
public void accumulate(org.drools.WorkingMemory workingMemory,
org.drools.rule.Declaration[] innerDeclarations,
Object object @if{declarations != empty}, @end{}
- @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier}@end{","}@if{globals != empty}, at end{}
- @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} @end{","}@if{innerDeclarations != empty}, at end{}
- @foreach{innerDeclarations as declr}@{declr.extractor.extractToClassName} @{declr.identifier}@end{","}
+ @foreach{type : declarationTypes, declr : declarations} @{type} @{declr.identifier}@end{","}@if{globals != empty}, at end{}
+ @foreach{type : globalTypes, identifier : globals} @{type} @{identifier} @end{","}@if{innerDeclarations != empty}, at end{}
+ @foreach{declr : innerDeclarations}@{declr.extractor.extractToClassName} @{declr.identifier}@end{","}
) throws Exception {
@{actionCode}
}
@@ -49,15 +49,15 @@
public void reverse(org.drools.WorkingMemory workingMemory,
org.drools.rule.Declaration[] innerDeclarations,
Object object @if{declarations != empty}, @end{}
- @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier}@end{","}@if{globals != empty}, at end{}
- @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} @end{","}@if{innerDeclarations != empty}, at end{}
- @foreach{innerDeclarations as declr}@{declr.extractor.extractToClassName} @{declr.identifier}@end{","}
+ @foreach{type : declarationTypes, declr : declarations} @{type} @{declr.identifier}@end{","}@if{globals != empty}, at end{}
+ @foreach{type : globalTypes, identifier : globals} @{type} @{identifier} @end{","}@if{innerDeclarations != empty}, at end{}
+ @foreach{declr : innerDeclarations}@{declr.extractor.extractToClassName} @{declr.identifier}@end{","}
) throws Exception {
@{reverseCode}
}
- public Object getResult(@foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier}@end{","}@if{globals != empty && declarations != empty}, at end{}
- @foreach{globalTypes as type, globals as identifier}@{type} @{identifier} @end{","}
+ public Object getResult(@foreach{type : declarationTypes, declr : declarations} @{type} @{declr.identifier}@end{","}@if{globals != empty && declarations != empty}, at end{}
+ @foreach{type : globalTypes, identifier : globals}@{type} @{identifier} @end{","}
) throws Exception {
return ( @{resultCode} );
}
@@ -66,22 +66,22 @@
return @{supportsReverse};
}
}
->>=::
+ at end{}
-consequenceMethod() ::=<<
-public static void @{methodName}(org.drools.spi.KnowledgeHelper drools at if{declarations != empty}, at end{} @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier}, org.drools.FactHandle @{declr.identifier}__Handle__ @end{","}@if{globals != empty}, at end{} @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} @end{","} ) throws Exception {
+ at declare{"consequenceMethod"}
+public static void @{methodName}(org.drools.spi.KnowledgeHelper drools at if{declarations != empty}, at end{} @foreach{type : declarationTypes, declr : declarations} @{type} @{declr.identifier}, org.drools.FactHandle @{declr.identifier}__Handle__ @end{","}@if{globals != empty}, at end{} @foreach{type : globalTypes, identifier : globals} @{type} @{identifier} @end{","} ) throws Exception {
@{text}
}
->>=::
+ at end{}
-actionMethod() ::=<<
-public static void @{methodName}(@foreach{globalTypes as type, globals as identifier} @{type} @{identifier} @end{","} ) throws Exception {
+ at declare{"actionMethod"}
+public static void @{methodName}(@foreach{type :globalTypes, identifier : globals} @{type} @{identifier} @end{","} ) throws Exception {
@{text}
}
->>=::
+ at end{}
-returnValueEvaluatorMethod() ::=<<
-public static Object @{methodName}(@foreach{globalTypes as type, globals as identifier} @{type} @{identifier} @end{","} ) throws Exception {
+ at declare{"returnValueEvaluatorMethod"}
+public static Object @{methodName}(@foreach{type : globalTypes, identifier : globals} @{type} @{identifier} @end{","} ) throws Exception {
@{text}
}
->>=::
\ No newline at end of file
+ at end{}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/AccumulateTemplateTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/AccumulateTemplateTest.java 2008-04-05 00:38:27 UTC (rev 19422)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/AccumulateTemplateTest.java 2008-04-06 04:10:51 UTC (rev 19423)
@@ -15,9 +15,8 @@
import org.drools.rule.Declaration;
import org.drools.spi.PatternExtractor;
import org.drools.util.StringUtils;
-import org.mvel.MVELTemplateRegistry;
-import org.mvel.TemplateInterpreter;
-import org.mvel.TemplateRegistry;
+import org.mvel.templates.*;
+import org.mvel.integration.impl.MapVariableResolverFactory;
public class AccumulateTemplateTest extends TestCase {
@@ -105,11 +104,10 @@
new Integer( 10 ) );
TemplateRegistry registry = getRuleTemplateRegistry();
- Object method = TemplateInterpreter.parse( registry.getTemplate( "accumulateInnerClass" ),
- null,
- map,
- registry );
+ Object method = TemplateRuntime.execute(registry.getNamedTemplate("accumulateInnerClass"),
+ null, new MapVariableResolverFactory(map), registry);
+
//System.out.println( method );
}
@@ -192,11 +190,8 @@
Boolean.FALSE );
TemplateRegistry registry = getInvokerTemplateRegistry();
- Object method = TemplateInterpreter.parse( registry.getTemplate( "accumulateInvoker" ),
- null,
- map,
- registry );
-
+ Object method = TemplateRuntime.execute(registry.getNamedTemplate("accumulateInvoker"), null, new MapVariableResolverFactory(map), registry);
+
//System.out.println( method );
}
@@ -277,25 +272,24 @@
Boolean.TRUE );
TemplateRegistry registry = getInvokerTemplateRegistry();
- Object method = TemplateInterpreter.parse( registry.getTemplate( "accumulateInvoker" ),
- null,
- map,
- registry );
+ Object method = TemplateRuntime.execute(registry.getNamedTemplate("accumulateInvoker"), null, new MapVariableResolverFactory(map), registry);
//System.out.println( method );
}
private TemplateRegistry getRuleTemplateRegistry() {
- TemplateRegistry ruleRegistry = new MVELTemplateRegistry();
- ruleRegistry.registerTemplate( new InputStreamReader( AbstractJavaRuleBuilder.class.getResourceAsStream( "javaRule.mvel" ) ) );
+ TemplateRegistry ruleRegistry = new SimpleTemplateRegistry();
+ CompiledTemplate compiled = TemplateCompiler.compileTemplate(AbstractJavaRuleBuilder.class.getResourceAsStream( "javaRule.mvel" ), null);
+ TemplateRuntime.execute(compiled, null, null, ruleRegistry);
return ruleRegistry;
}
private TemplateRegistry getInvokerTemplateRegistry() {
- TemplateRegistry invokerRegistry = new MVELTemplateRegistry();
- invokerRegistry.registerTemplate( new InputStreamReader( AbstractJavaRuleBuilder.class.getResourceAsStream( "javaInvokers.mvel" ) ) );
-
+ TemplateRegistry invokerRegistry = new SimpleTemplateRegistry();
+ CompiledTemplate compiled = TemplateCompiler.compileTemplate(AbstractJavaRuleBuilder.class.getResourceAsStream( "javaInvokers.mvel" ), null);
+ TemplateRuntime.execute(compiled, null, null, invokerRegistry);
+
return invokerRegistry;
}
Modified: labs/jbossrules/trunk/pom.xml
===================================================================
--- labs/jbossrules/trunk/pom.xml 2008-04-05 00:38:27 UTC (rev 19422)
+++ labs/jbossrules/trunk/pom.xml 2008-04-06 04:10:51 UTC (rev 19423)
@@ -1,1016 +1,1028 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-gin
- <groupId>org.drools</groupId>
- <artifactId>drools</artifactId>
- <packaging>pom</packaging>
- <name>Drools</name>
- <!-- TODO Use -SNAPSHOT instead of .SNAPSHOT (gives problems with building the drools eclipse plugin) -->
- <version>5.0.0.SNAPSHOT</version>
- <description>A rule production system</description>
- <url>http://www.jboss.com/products/rules</url>
+ <modelVersion>4.0.0</modelVersion>
+ gin
+ <groupId>org.drools</groupId>
+ <artifactId>drools</artifactId>
+ <packaging>pom</packaging>
+ <name>Drools</name>
+ <!-- TODO Use -SNAPSHOT instead of .SNAPSHOT (gives problems with building the drools eclipse plugin) -->
+ <version>5.0.0.SNAPSHOT</version>
+ <description>A rule production system</description>
+ <url>http://www.jboss.com/products/rules</url>
- <issueManagement>
- <system>jira</system>
- <url>http://jira.jboss.com/jira/browse/JBRULES</url>
- </issueManagement>
- <ciManagement>
- <system>continuum</system>
- <url>http://ci.codehaus.org:8001/continuum/servlet/continuum/target/Summary.vm/fid/continuumProject</url>
- <notifiers>
- <notifier>
- <type>mail</type>
- <configuration>
- <address>dev at drools.codehaus.org</address>
- </configuration>
- </notifier>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.jboss.com/jira/browse/JBRULES</url>
+ </issueManagement>
+ <ciManagement>
+ <system>continuum</system>
+ <url>http://ci.codehaus.org:8001/continuum/servlet/continuum/target/Summary.vm/fid/continuumProject</url>
+ <notifiers>
+ <notifier>
+ <type>mail</type>
+ <configuration>
+ <address>dev at drools.codehaus.org</address>
+ </configuration>
+ </notifier>
- <notifier>
- <type>irc</type>
- <configuration>
- <host>irc.codehaus.org</host>
- <port>6667</port>
- <channel>#drools</channel>
- </configuration>
- </notifier>
- </notifiers>
- </ciManagement>
- <inceptionYear>2001</inceptionYear>
+ <notifier>
+ <type>irc</type>
+ <configuration>
+ <host>irc.codehaus.org</host>
+ <port>6667</port>
+ <channel>#drools</channel>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2001</inceptionYear>
- <mailingLists>
- <mailingList>
- <name>announce</name>
- <subscribe>announce-subscribe at drools.codehaus.org</subscribe>
- <unsubscribe>announce-unsubscribe at drools.codehaus.org</unsubscribe>
- <archive>http://archive.drools.codehaus.org/announce/</archive>
- </mailingList>
- <mailingList>
- <name>user</name>
- <subscribe>user-subscribe at drools.codehaus.org</subscribe>
- <unsubscribe>user-unsubscribe at drools.codehaus.org</unsubscribe>
- <archive>http://archive.drools.codehaus.org/user/</archive>
- </mailingList>
- <mailingList>
- <name>dev</name>
- <subscribe>dev-subscribe at drools.codehaus.org</subscribe>
- <unsubscribe>dev-unsubscribe at drools.codehaus.org</unsubscribe>
- <archive>http://archive.drools.codehaus.org/dev/</archive>
- </mailingList>
- <mailingList>
- <name>drools cvs messages</name>
- <subscribe>scm-subscribe at drools.codehaus.org</subscribe>
- <unsubscribe>scm-unsubscribe at drools.codehaus.org</unsubscribe>
- <archive>http://archive.drools.codehaus.org/scm/</archive>
- </mailingList>
- </mailingLists>
+ <mailingLists>
+ <mailingList>
+ <name>announce</name>
+ <subscribe>announce-subscribe at drools.codehaus.org</subscribe>
+ <unsubscribe>announce-unsubscribe at drools.codehaus.org</unsubscribe>
+ <archive>http://archive.drools.codehaus.org/announce/</archive>
+ </mailingList>
+ <mailingList>
+ <name>user</name>
+ <subscribe>user-subscribe at drools.codehaus.org</subscribe>
+ <unsubscribe>user-unsubscribe at drools.codehaus.org</unsubscribe>
+ <archive>http://archive.drools.codehaus.org/user/</archive>
+ </mailingList>
+ <mailingList>
+ <name>dev</name>
+ <subscribe>dev-subscribe at drools.codehaus.org</subscribe>
+ <unsubscribe>dev-unsubscribe at drools.codehaus.org</unsubscribe>
+ <archive>http://archive.drools.codehaus.org/dev/</archive>
+ </mailingList>
+ <mailingList>
+ <name>drools cvs messages</name>
+ <subscribe>scm-subscribe at drools.codehaus.org</subscribe>
+ <unsubscribe>scm-unsubscribe at drools.codehaus.org</unsubscribe>
+ <archive>http://archive.drools.codehaus.org/scm/</archive>
+ </mailingList>
+ </mailingLists>
- <developers>
- <developer>
- <name>Mark Proctor</name>
- <id>mark</id>
- <email>mark.proctor at jboss.com</email>
- <organization>JBoss Inc.</organization>
- <roles>
- <role>Project Lead</role>
- </roles>
- <timezone>0</timezone>
- </developer>
+ <developers>
+ <developer>
+ <name>Mark Proctor</name>
+ <id>mark</id>
+ <email>mark.proctor at jboss.com</email>
+ <organization>JBoss Inc.</organization>
+ <roles>
+ <role>Project Lead</role>
+ </roles>
+ <timezone>0</timezone>
+ </developer>
- <developer>
- <name>Michael Neale</name>
- <id>mic</id>
- <email>michael.neale at gmail.com</email>
- <roles>
- <role>Developer</role>
- </roles>
- <timezone>+10</timezone>
- <organization>JBoss Inc.</organization>
- </developer>
+ <developer>
+ <name>Michael Neale</name>
+ <id>mic</id>
+ <email>michael.neale at gmail.com</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ <timezone>+10</timezone>
+ <organization>JBoss Inc.</organization>
+ </developer>
- <developer>
- <name>Kris Verlaenen</name>
- <id>kris</id>
- <email>kris.verlaenen at gmail.com</email>
- <organization>JBoss Inc.</organization>
- <roles>
- <role>Developer</role>
- </roles>
- <timezone>+1</timezone>
- </developer>
+ <developer>
+ <name>Kris Verlaenen</name>
+ <id>kris</id>
+ <email>kris.verlaenen at gmail.com</email>
+ <organization>JBoss Inc.</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
- <developer>
- <name>Bob McWhirter</name>
- <id>bob</id>
- <email>bob at werken.com</email>
- <organization>The Werken Company</organization>
- <roles>
- <role>Founder</role>
- </roles>
- <timezone>-5</timezone>
- </developer>
+ <developer>
+ <name>Bob McWhirter</name>
+ <id>bob</id>
+ <email>bob at werken.com</email>
+ <organization>The Werken Company</organization>
+ <roles>
+ <role>Founder</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
- <developer>
- <name>Edson Tirelli</name>
- <id>tirelli</id>
- <email>tirelli at post.com</email>
- <roles>
- <role>Developer</role>
- </roles>
- <timezone>-3</timezone>
- </developer>
+ <developer>
+ <name>Edson Tirelli</name>
+ <id>tirelli</id>
+ <email>tirelli at post.com</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ <timezone>-3</timezone>
+ </developer>
- <developer>
- <name>Fernando Meyer</name>
- <id>fmeyer</id>
- <email>fmcamargo at gmail.com</email>
- <organization>Red Hat/JBoss </organization>
- <roles>
- <role>Developer</role>
- </roles>
- <timezone>-3</timezone>
- </developer>
+ <developer>
+ <name>Fernando Meyer</name>
+ <id>fmeyer</id>
+ <email>fmcamargo at gmail.com</email>
+ <organization>Red Hat/JBoss</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ <timezone>-3</timezone>
+ </developer>
- <developer>
- <id>ge0ffrey</id>
- <name>Geoffrey De Smet</name>
- <email>ge0ffrey.spam AT gmail DOT com</email>
- <roles>
- <role>Developer</role>
- </roles>
- <timezone>+1</timezone>
- </developer>
- </developers>
+ <developer>
+ <id>ge0ffrey</id>
+ <name>Geoffrey De Smet</name>
+ <email>ge0ffrey.spam AT gmail DOT com</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ </developers>
- <contributors/>
+ <contributors/>
- <licenses>
- <license>
- <name>The Apache Software License, Version 2.0</name>
- <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
- <distribution>repo</distribution>
- </license>
- </licenses>
- <scm>
- <connection>scm:svn:http://anonsvn.labs.jboss.com/labs/jbossrules/trunk/</connection>
- <!-- TODO developerConnection-->
- <url>http://anonsvn.labs.jboss.com/labs/jbossrules/trunk/</url>
- </scm>
- <organization>
- <name>JBoss Inc.</name>
- <url>http://www.jboss.org/</url>
- </organization>
+ <licenses>
+ <license>
+ <name>The Apache Software License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+ <scm>
+ <connection>scm:svn:http://anonsvn.labs.jboss.com/labs/jbossrules/trunk/</connection>
+ <!-- TODO developerConnection-->
+ <url>http://anonsvn.labs.jboss.com/labs/jbossrules/trunk/</url>
+ </scm>
+ <organization>
+ <name>JBoss Inc.</name>
+ <url>http://www.jboss.org/</url>
+ </organization>
- <repositories>
- <repository>
- <id>jboss</id>
- <url>http://repository.jboss.com/maven2/</url>
- </repository>
- <repository>
- <id>jboss-snapshot</id>
- <url>http://snapshots.jboss.org/maven2</url>
- </repository>
+ <repositories>
+ <repository>
+ <id>jboss</id>
+ <url>http://repository.jboss.com/maven2/</url>
+ </repository>
+ <repository>
+ <id>jboss-snapshot</id>
+ <url>http://snapshots.jboss.org/maven2</url>
+ </repository>
+ <repository>
+ <id>codehaus-snapshot</id>
+ <url>http://snapshots.repository.codehaus.org/</url>
+ </repository>
+ <!-- this is needed for Seam which is not in the jboss repo or the maven one in a useful form
+ <repository>
+ <id>softeu-repo</id>
+ <url>http://maven.softeu.cz/</url>
+ </repository>
+ -->
- <!-- this is needed for Seam which is not in the jboss repo or the maven one in a useful form
- <repository>
- <id>softeu-repo</id>
- <url>http://maven.softeu.cz/</url>
- </repository>
- -->
+ <repository>
+ <id>basedir</id>
+ <url>file://${basedir}/m2_repo</url>
+ </repository>
- <repository>
- <id>basedir</id>
- <url>file://${basedir}/m2_repo</url>
- </repository>
-
- <repository>
- <id>Maven Snapshots</id>
- <url>http://snapshots.maven.codehaus.org/maven2/</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <releases>
- <enabled>false</enabled>
- </releases>
- </repository>
+ <repository>
+ <id>Maven Snapshots</id>
+ <url>http://snapshots.maven.codehaus.org/maven2/</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
- <repository>
- <id>apache.org</id>
- <name>Maven Snapshots</name>
- <url>http://people.apache.org/repo/m2-snapshot-repository</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <releases>
- <enabled>false</enabled>
- </releases>
- </repository>
+ <repository>
+ <id>apache.org</id>
+ <name>Maven Snapshots</name>
+ <url>http://people.apache.org/repo/m2-snapshot-repository</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ <repository>
+ <id>apache.org</id>
+ <name>Maven Releases</name>
+ <url>http://people.apache.org/repo/m2-ibiblio-rsync-repository</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ </repository>
+ </repositories>
- <repository>
- <id>apache.org</id>
- <name>Maven Releases</name>
- <url>http://people.apache.org/repo/m2-ibiblio-rsync-repository</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- <releases>
- <enabled>true</enabled>
- </releases>
- </repository>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>basedir</id>
+ <url>file://${basedir}/repository</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <profiles>
+ <profile>
+ <id>ydoc-doclet</id>
+ <activation>
+ <property>
+ <name>ydoc.home</name>
+ </property>
+ </activation>
-
- </repositories>
+ <reporting>
+ <plugins>
- <pluginRepositories>
- <pluginRepository>
- <id>basedir</id>
- <url>file://${basedir}/repository</url>
- </pluginRepository>
- </pluginRepositories>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ </plugin>
- <profiles>
- <profile>
- <id>ydoc-doclet</id>
- <activation>
- <property><name>ydoc.home</name></property>
- </activation>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.3</version>
+ <configuration>
+ <aggregate>true</aggregate>
+ <doclet>ydoc.doclets.YStandard</doclet>
+ <docletPath>
+ ${ydoc.home}/lib/ydoc.jar${path.separator}${ydoc.home}/lib/class2svg.jar${path.separator}${ydoc.home}/resources
+ </docletPath>
+ <author>false</author>
+ <bottom>true</bottom>
+ <header>JBoss Rules</header>
+ <minmemory>128m</minmemory>
+ <maxmemory>512</maxmemory>
+ <packagenames>org.drools.*</packagenames>
+ <use>true</use>
+ <version>true</version>
+ <windowtitle>${project.name} ${project.version} API</windowtitle>
+ <breakiterator>true</breakiterator>
+ <excludePackageNames>org.drools.asm*,org.drools.objenesis.*,org.drools.commons.jci.*
+ </excludePackageNames>
+ <overview>drools-core/target/classes/overview.html</overview>
+ <groups>
+ <group title="Runtime Core API" packages="org.drools:org.drools.rule"/>
+ <group title="Compiler Core API" packages="org.drools.compiler"/>
+ <group title="Compiler Utilities" packages="org.drools.lang:org.drools.xml"/>
+ <group title="Runtime Utilities"
+ packages="org.drools.audit:org.drools.event:org.drools.visualize"/>
+ <group title="Decision Tables" packages="org.drools.decisiontable"/>
+ <group title="Internal" packages="org.drools*"/>
+ </groups>
+ <additionalparam>-umlautogen -tag y.precondition -tag y.postcondition -tag y.complexity -tag
+ param -tag return -tag see -tag y.uml
+ </additionalparam>
+ </configuration>
+ </plugin>
- <reporting>
- <plugins>
+ </plugins>
+ </reporting>
+ </profile>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>cobertura-maven-plugin</artifactId>
- </plugin>
+ <profile>
+ <id>documentation</id>
+ <activation>
+ <property>
+ <name>documentation</name>
+ </property>
+ </activation>
+ <modules>
+ <module>drools-docs</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>build-eclipse</id>
+ <activation>
+ <property>
+ <name>eclipse</name>
+ </property>
+ </activation>
+ <modules>
+ <module>drools-eclipse</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>solver</id>
+ <modules>
+ <module>drools-solver</module>
+ </modules>
+ </profile>
+ </profiles>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.3</version>
- <configuration>
- <aggregate>true</aggregate>
- <doclet>ydoc.doclets.YStandard</doclet>
- <docletPath>${ydoc.home}/lib/ydoc.jar${path.separator}${ydoc.home}/lib/class2svg.jar${path.separator}${ydoc.home}/resources</docletPath>
- <author>false</author>
- <bottom>true</bottom>
- <header>JBoss Rules</header>
- <minmemory>128m</minmemory>
- <maxmemory>512</maxmemory>
- <packagenames>org.drools.*</packagenames>
- <use>true</use>
- <version>true</version>
- <windowtitle>${project.name} ${project.version} API</windowtitle>
- <breakiterator>true</breakiterator>
- <excludePackageNames>org.drools.asm*,org.drools.objenesis.*,org.drools.commons.jci.*</excludePackageNames>
- <overview>drools-core/target/classes/overview.html</overview>
- <groups>
- <group title="Runtime Core API" packages="org.drools:org.drools.rule"/>
- <group title="Compiler Core API" packages="org.drools.compiler"/>
- <group title="Compiler Utilities" packages="org.drools.lang:org.drools.xml"/>
- <group title="Runtime Utilities" packages="org.drools.audit:org.drools.event:org.drools.visualize"/>
- <group title="Decision Tables" packages="org.drools.decisiontable"/>
- <group title="Internal" packages="org.drools*"/>
- </groups>
- <additionalparam>-umlautogen -tag y.precondition -tag y.postcondition -tag y.complexity -tag param -tag return -tag see -tag y.uml</additionalparam>
- </configuration>
- </plugin>
- </plugins>
- </reporting>
- </profile>
+ <build>
- <profile>
- <id>documentation</id>
- <activation>
- <property><name>documentation</name></property>
- </activation>
- <modules>
- <module>drools-docs</module>
- </modules>
- </profile>
- <profile>
- <id>build-eclipse</id>
- <activation>
- <property><name>eclipse</name></property>
- </activation>
- <modules>
- <module>drools-eclipse</module>
- </modules>
- </profile>
- <profile>
- <id>solver</id>
- <modules>
- <module>drools-solver</module>
- </modules>
- </profile>
- </profiles>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav</artifactId>
+ <version>1.0-beta-2</version>
+ </extension>
+ </extensions>
+ <pluginManagement>
+ <plugins>
+ <!--
+ Last time synchronized with the latest plugin releases:
+ 2006-12-03
+ See http://news.gmane.org/gmane.comp.apache.maven.announce
+ -->
- <build>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <configuration>
+ <instrumentation>
+ <excludes>
+ <exclude>org/drools/**/*Test.class</exclude>
+ </excludes>
+ </instrumentation>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
- <extensions>
- <extension>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-webdav</artifactId>
- <version>1.0-beta-2</version>
- </extension>
- </extensions>
- <pluginManagement>
- <plugins>
- <!--
- Last time synchronized with the latest plugin releases:
- 2006-12-03
- See http://news.gmane.org/gmane.comp.apache.maven.announce
- -->
+ <!-- Building -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-help-plugin</artifactId>
+ <version>2.0.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>2.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2</version>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.4.2</version>
+ <configuration>
+ <includes>
+ <include>**/*Test.java</include>
+ </includes>
+ <excludes>
+ <exclude>**/*AbstractTest.java</exclude>
+ </excludes>
+ <argLine>-Xmx1024m</argLine>
+ </configuration>
+ </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>cobertura-maven-plugin</artifactId>
- <configuration>
- <instrumentation>
- <excludes>
- <exclude>org/drools/**/*Test.class</exclude>
- </excludes>
- </instrumentation>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>clean</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
+ <!-- Packaging -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <archive>
+ <manifest>
+ <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>2.0.4</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>jar</goal>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>2.1-alpha-1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>2.0-alpha-4</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.2-beta-2</version>
+ <configuration>
+ <descriptors>
+ <descriptor>src/main/assembly/bin.xml</descriptor>
+ <!--descriptor>src/main/assembly/src.xml</descriptor>
+ <descriptor>src/main/assembly/brms.xml</descriptor>
+ <descriptor>src/main/assembly/eclipse.xml</descriptor>
+ <descriptor>src/main/assembly/examples.xml</descriptor-->
+ </descriptors>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-archetype-plugin</artifactId>
+ <version>1.0-alpha-7</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>2.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.3</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>2.0-beta-7</version>
+ <configuration>
+ <tagBase>
+ http://anonsvn.labs.jboss.com/labs/jbossrules/tags
+ </tagBase>
+ </configuration>
+ </plugin>
- <!-- Building -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-help-plugin</artifactId>
- <version>2.0.2</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-clean-plugin</artifactId>
- <version>2.2</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.2</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>2.0.2</version>
- <configuration>
- <source>1.5</source>
- <target>1.5</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.4.2</version>
- <configuration>
- <includes>
- <include>**/*Test.java</include>
- </includes>
- <excludes>
- <exclude>**/*AbstractTest.java</exclude>
- </excludes>
- <argLine>-Xmx1024m</argLine>
- </configuration>
- </plugin>
+ <!-- IDE -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-eclipse-plugin</artifactId>
+ <version>2.4</version>
+ <configuration>
+ <!--<downloadSources>true</downloadSources>-->
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-idea-plugin</artifactId>
+ <version>2.1</version>
+ <configuration>
+ <downloadSources>true</downloadSources>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>1.1-beta-1</version>
+ </plugin>
- <!-- Packaging -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>2.2</version>
- <executions>
- <execution>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <archive>
- <manifest>
- <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
- <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
- </manifest>
- </archive>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <version>2.0.4</version>
- <executions>
- <execution>
- <goals>
- <goal>jar</goal>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>2.1-alpha-1</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>2.0-alpha-4</version>
- </plugin>
+ <!--Site -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>2.0-beta-6</version>
+ </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>2.2-beta-2</version>
- <configuration>
- <descriptors>
- <descriptor>src/main/assembly/bin.xml</descriptor>
- <!--descriptor>src/main/assembly/src.xml</descriptor>
- <descriptor>src/main/assembly/brms.xml</descriptor>
- <descriptor>src/main/assembly/eclipse.xml</descriptor>
- <descriptor>src/main/assembly/examples.xml</descriptor-->
- </descriptors>
- </configuration>
- </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <!-- Entry needed to create, install and deploy sources jars -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-archetype-plugin</artifactId>
- <version>1.0-alpha-7</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-install-plugin</artifactId>
- <version>2.2</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>2.3</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-release-plugin</artifactId>
- <version>2.0-beta-7</version>
- <configuration>
- <tagBase>
- http://anonsvn.labs.jboss.com/labs/jbossrules/tags
- </tagBase>
- </configuration>
- </plugin>
+ <reporting>
+ <plugins>
- <!-- IDE -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-eclipse-plugin</artifactId>
- <version>2.4</version>
- <configuration>
- <!--<downloadSources>true</downloadSources>-->
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-idea-plugin</artifactId>
- <version>2.1</version>
- <configuration>
- <downloadSources>true</downloadSources>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.1-beta-1</version>
- </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <configuration>
+ <formats>
+ <format>html</format>
+ <format>xml</format>
+ </formats>
+ </configuration>
+ </plugin>
- <!--Site -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-site-plugin</artifactId>
- <version>2.0-beta-6</version>
- </plugin>
+ <!-- Note: It's not possible to configure reporting plugins in pluginManagement in m2.0.4 -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-project-info-reports-plugin</artifactId>
+ <version>2.0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.3</version>
+ <configuration>
+ <aggregate>true</aggregate>
+ <links>
+ <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
+ </links>
+ <minmemory>128m</minmemory>
+ <maxmemory>512</maxmemory>
+ </configuration>
+ </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <!-- Entry needed to create, install and deploy sources jars -->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <reporting>
- <plugins>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>cobertura-maven-plugin</artifactId>
- <configuration>
- <formats>
- <format>html</format>
- <format>xml</format>
- </formats>
- </configuration>
- </plugin>
-
- <!-- Note: It's not possible to configure reporting plugins in pluginManagement in m2.0.4 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-project-info-reports-plugin</artifactId>
- <version>2.0.1</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.3</version>
- <configuration>
- <aggregate>true</aggregate>
- <links>
- <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
- </links>
- <minmemory>128m</minmemory>
- <maxmemory>512</maxmemory>
- </configuration>
- </plugin>
-
- <!--
- TODO Changelog is unfinished:
- - has also a problem with the netbeans (cvs)lib dependency
- - is moving from mojo.codehaus.org to maven.apache.org
- -->
- <!--<plugin>-->
- <!--<groupId>org.apache.maven.plugins</groupId>-->
- <!--<artifactId>maven-changelog-plugin</artifactId>-->
- <!--<version>2.0-beta-1</version>-->
- <!--</plugin>-->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-report-plugin</artifactId>
- <version>2.4.2</version>
- <reportSets>
- <reportSet>
- <reports>
- <report>report-only</report>
- </reports>
- </reportSet>
- </reportSets>
- </plugin>
- <!--<plugin>-->
- <!--<groupId>org.apache.maven.plugins</groupId>-->
- <!--<artifactId>maven-clover-plugin</artifactId>-->
- <!--<configuration/>-->
- <!--<executions>-->
- <!--<execution>-->
+ <!--
+ TODO Changelog is unfinished:
+ - has also a problem with the netbeans (cvs)lib dependency
+ - is moving from mojo.codehaus.org to maven.apache.org
+ -->
+ <!--<plugin>-->
+ <!--<groupId>org.apache.maven.plugins</groupId>-->
+ <!--<artifactId>maven-changelog-plugin</artifactId>-->
+ <!--<version>2.0-beta-1</version>-->
+ <!--</plugin>-->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ <version>2.4.2</version>
+ <reportSets>
+ <reportSet>
+ <reports>
+ <report>report-only</report>
+ </reports>
+ </reportSet>
+ </reportSets>
+ </plugin>
+ <!--<plugin>-->
+ <!--<groupId>org.apache.maven.plugins</groupId>-->
+ <!--<artifactId>maven-clover-plugin</artifactId>-->
+ <!--<configuration/>-->
+ <!--<executions>-->
+ <!--<execution>-->
<!--<phase>pre-site</phase>-->
<!--<goals>-->
- <!--<goal>instrument</goal>-->
- <!--<goal>aggregate</goal>-->
+ <!--<goal>instrument</goal>-->
+ <!--<goal>aggregate</goal>-->
<!--</goals>-->
- <!--</execution>-->
- <!--</executions>-->
- <!--</plugin>-->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>taglist-maven-plugin</artifactId>
- <version>2.1</version>
- </plugin>
- <!--<plugin>-->
- <!--<groupId>org.codehaus.mojo</groupId>-->
- <!--<artifactId>findbugs-maven-plugin</artifactId>-->
- <!--<version>1.0-beta-1</version>-->
- <!--</plugin>-->
- <!--<plugin>-->
- <!--<groupId>org.apache.maven.plugins</groupId>-->
- <!--<artifactId>maven-pmd-plugin</artifactId>-->
- <!--<version>2.0</version>-->
- <!--</plugin>-->
- <!--<plugin>-->
- <!--<groupId>org.apache.maven.plugins</groupId>-->
- <!--<artifactId>maven-checkstyle-plugin</artifactId>-->
- <!--<version>2.1</version>-->
- <!--</plugin>-->
- <!--<plugin>-->
- <!--<groupId>org.codehaus.mojo</groupId>-->
- <!--<artifactId>jdepend-maven-plugin</artifactId>-->
- <!--<version>2.0-beta-1</version>-->
- <!--</plugin>-->
- <plugin>
- <!-- In 2.0-beta-1 an aggegate works after running "mvn site" twice -->
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>javancss-maven-plugin</artifactId>
- <version>2.0-beta-2</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jxr-plugin</artifactId>
- <version>2.1</version>
- </plugin>
- </plugins>
- </reporting>
+ <!--</execution>-->
+ <!--</executions>-->
+ <!--</plugin>-->
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>taglist-maven-plugin</artifactId>
+ <version>2.1</version>
+ </plugin>
+ <!--<plugin>-->
+ <!--<groupId>org.codehaus.mojo</groupId>-->
+ <!--<artifactId>findbugs-maven-plugin</artifactId>-->
+ <!--<version>1.0-beta-1</version>-->
+ <!--</plugin>-->
+ <!--<plugin>-->
+ <!--<groupId>org.apache.maven.plugins</groupId>-->
+ <!--<artifactId>maven-pmd-plugin</artifactId>-->
+ <!--<version>2.0</version>-->
+ <!--</plugin>-->
+ <!--<plugin>-->
+ <!--<groupId>org.apache.maven.plugins</groupId>-->
+ <!--<artifactId>maven-checkstyle-plugin</artifactId>-->
+ <!--<version>2.1</version>-->
+ <!--</plugin>-->
+ <!--<plugin>-->
+ <!--<groupId>org.codehaus.mojo</groupId>-->
+ <!--<artifactId>jdepend-maven-plugin</artifactId>-->
+ <!--<version>2.0-beta-1</version>-->
+ <!--</plugin>-->
+ <plugin>
+ <!-- In 2.0-beta-1 an aggegate works after running "mvn site" twice -->
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>javancss-maven-plugin</artifactId>
+ <version>2.0-beta-2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ <version>2.1</version>
+ </plugin>
+ </plugins>
+ </reporting>
- <modules>
- <module>drools-core</module>
- <module>drools-compiler</module>
- <module>drools-jsr94</module>
- <module>drools-decisiontables</module>
- <!-- TODO enable these or create a profile in which they are enabled (to avoid making the build slow) -->
- <!--module>drools-server</module-->
- <module>drools-analytics</module>
- <module>drools-ant</module>
- <module>drools-repository</module>
- <module>drools-jbrms</module>
- <module>drools-clips</module>
- <!--module>drools-examples</module-->
- <!--module>drools-solver</module--><!-- Use the profile solver to add it -->
- </modules>
+ <modules>
+ <module>drools-core</module>
+ <module>drools-compiler</module>
+ <module>drools-jsr94</module>
+ <module>drools-decisiontables</module>
+ <!-- TODO enable these or create a profile in which they are enabled (to avoid making the build slow) -->
+ <!--module>drools-server</module-->
+ <module>drools-analytics</module>
+ <module>drools-ant</module>
+ <module>drools-repository</module>
+ <module>drools-jbrms</module>
+ <module>drools-clips</module>
+ <!--module>drools-examples</module-->
+ <!--module>drools-solver</module--><!-- Use the profile solver to add it -->
+ </modules>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <dependencyManagement>
<dependencies>
- <!--
- Declare all dependency versions and default scopes here, but not optional.
- Each module should declare it's direct dependency and possibily overwrite scope/optional.
- -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
- <!-- Internal dependencies -->
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-core</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-core</artifactId>
- <type>test-jar</type>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-compiler</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-compiler</artifactId>
- <type>test-jar</type>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-jsr94</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-jsr94</artifactId>
- <type>test-jar</type>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-decisiontables</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-decisiontables</artifactId>
- <type>test-jar</type>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-docs</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-server</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-ant</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-ant</artifactId>
- <type>test-jar</type>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
+ <dependencyManagement>
+ <dependencies>
+ <!--
+ Declare all dependency versions and default scopes here, but not optional.
+ Each module should declare it's direct dependency and possibily overwrite scope/optional.
+ -->
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-analytics</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-analytics</artifactId>
- <type>test-jar</type>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
+ <!-- Internal dependencies -->
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-core</artifactId>
+ <type>test-jar</type>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-compiler</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-compiler</artifactId>
+ <type>test-jar</type>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-jsr94</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-jsr94</artifactId>
+ <type>test-jar</type>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-decisiontables</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-decisiontables</artifactId>
+ <type>test-jar</type>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-docs</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-server</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-ant</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-ant</artifactId>
+ <type>test-jar</type>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-analytics</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-analytics</artifactId>
+ <type>test-jar</type>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-server</artifactId>
- <type>test-jar</type>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-repository</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-repository</artifactId>
- <type>test-jar</type>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-jbrms</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-jbrms</artifactId>
- <type>test-jar</type>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.drools.solver</groupId>
- <artifactId>drools-solver-core</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.drools.solver</groupId>
- <artifactId>drools-solver-examples</artifactId>
- <version>${project.version}</version>
- </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-server</artifactId>
+ <type>test-jar</type>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-repository</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-repository</artifactId>
+ <type>test-jar</type>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-jbrms</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-jbrms</artifactId>
+ <type>test-jar</type>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
- <!-- External dependencies -->
- <!-- drools-core -->
- <dependency>
- <groupId>com.thoughtworks.xstream</groupId>
- <artifactId>xstream</artifactId>
- <version>1.2.2</version>
- </dependency>
- <dependency><!-- TODO remove me as xstream brings in xpp3_min -->
- <groupId>xpp3</groupId>
- <artifactId>xpp3</artifactId>
- <version>1.1.3.4.O</version>
- </dependency>
- <dependency><!-- TODO deploy mvel to the jboss repo or snapshot repo, instead of the dir m2_repo hack -->
- <groupId>org.mvel</groupId>
- <artifactId>mvel</artifactId>
- <version>2.0-alpha2-dp3-java1.5</version>
- </dependency>
+ <dependency>
+ <groupId>org.drools.solver</groupId>
+ <artifactId>drools-solver-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.drools.solver</groupId>
+ <artifactId>drools-solver-examples</artifactId>
+ <version>${project.version}</version>
+ </dependency>
- <!-- drools-compiler -->
- <dependency>
- <groupId>org.antlr</groupId>
- <artifactId>antlr-runtime</artifactId>
- <version>3.0</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jdt</groupId>
- <artifactId>core</artifactId>
- <version>3.2.3.v_686_R32x</version>
- </dependency>
- <dependency>
- <groupId>janino</groupId>
- <artifactId>janino</artifactId>
- <version>2.5.10</version>
- </dependency>
- <dependency>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- <version>2.4.0</version>
- </dependency>
- <dependency>
- <groupId>xml-apis</groupId>
- <artifactId>xml-apis</artifactId>
- <version>1.0.b2</version>
- </dependency>
+ <!-- External dependencies -->
+ <!-- drools-core -->
+ <dependency>
+ <groupId>com.thoughtworks.xstream</groupId>
+ <artifactId>xstream</artifactId>
+ <version>1.2.2</version>
+ </dependency>
+ <dependency><!-- TODO remove me as xstream brings in xpp3_min -->
+ <groupId>xpp3</groupId>
+ <artifactId>xpp3</artifactId>
+ <version>1.1.3.4.O</version>
+ </dependency>
+ <dependency><!-- TODO deploy mvel to the jboss repo or snapshot repo, instead of the dir m2_repo hack -->
+ <groupId>org.mvel</groupId>
+ <artifactId>mvel</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ </dependency>
- <!-- drools-jsr94 -->
- <dependency>
- <groupId>jsr94</groupId>
- <artifactId>jsr94</artifactId>
- <version>1.1</version>
- </dependency>
- <dependency>
- <groupId>jsr94</groupId>
- <artifactId>jsr94-tck</artifactId>
- <version>1.0.3</version>
- </dependency>
- <dependency>
- <groupId>jsr94</groupId>
- <artifactId>jsr94-sigtest</artifactId>
- <version>1.1</version>
- </dependency>
+ <!-- drools-compiler -->
+ <dependency>
+ <groupId>org.antlr</groupId>
+ <artifactId>antlr-runtime</artifactId>
+ <version>3.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jdt</groupId>
+ <artifactId>core</artifactId>
+ <version>3.2.3.v_686_R32x</version>
+ </dependency>
+ <dependency>
+ <groupId>janino</groupId>
+ <artifactId>janino</artifactId>
+ <version>2.5.10</version>
+ </dependency>
+ <dependency>
+ <groupId>xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ <version>2.4.0</version>
+ </dependency>
+ <dependency>
+ <groupId>xml-apis</groupId>
+ <artifactId>xml-apis</artifactId>
+ <version>1.0.b2</version>
+ </dependency>
- <!-- drools-decisiontables -->
- <dependency>
- <groupId>jexcelapi</groupId>
- <artifactId>jxl</artifactId>
- <version>2.4.2</version>
- </dependency>
+ <!-- drools-jsr94 -->
+ <dependency>
+ <groupId>jsr94</groupId>
+ <artifactId>jsr94</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>jsr94</groupId>
+ <artifactId>jsr94-tck</artifactId>
+ <version>1.0.3</version>
+ </dependency>
+ <dependency>
+ <groupId>jsr94</groupId>
+ <artifactId>jsr94-sigtest</artifactId>
+ <version>1.1</version>
+ </dependency>
- <!-- drools-server -->
- <dependency>
- <groupId>jboss</groupId>
- <artifactId>jboss-remoting</artifactId>
- <version>1.4.1_final</version>
- </dependency>
+ <!-- drools-decisiontables -->
+ <dependency>
+ <groupId>jexcelapi</groupId>
+ <artifactId>jxl</artifactId>
+ <version>2.4.2</version>
+ </dependency>
- <!-- Logging for drools-repository and drools-solver -->
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>1.3.0</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>1.3.0</version>
- <!--<scope>runtime</scope> TODO default me on runtime-->
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.13</version>
- <!--<scope>runtime</scope> TODO default me on runtime-->
- </dependency>
+ <!-- drools-server -->
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-remoting</artifactId>
+ <version>1.4.1_final</version>
+ </dependency>
- <!-- drools-repository -->
- <dependency>
- <groupId>org.apache.jackrabbit</groupId>
- <artifactId>jackrabbit-core</artifactId>
- <version>1.4.1</version>
- <!-- and getting rid of some annoying transitive junk not really needed for us -->
- <exclusions>
- <exclusion>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
- </exclusion>
- <exclusion>
- <groupId>pdfbox</groupId>
- <artifactId>pdfbox</artifactId>
- </exclusion>
- <exclusion>
- <groupId>poi</groupId>
- <artifactId>poi</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.textmining</groupId>
- <artifactId>tm-extractors</artifactId>
- </exclusion>
- <exclusion>
- <groupId>nekohtml</groupId>
- <artifactId>nekohtml</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
+ <!-- Logging for drools-repository and drools-solver -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.3.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>1.3.0</version>
+ <!--<scope>runtime</scope> TODO default me on runtime-->
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.13</version>
+ <!--<scope>runtime</scope> TODO default me on runtime-->
+ </dependency>
- <dependency>
- <groupId>javax.jcr</groupId>
- <artifactId>jcr</artifactId>
- <version>1.0</version>
- </dependency>
+ <!-- drools-repository -->
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-core</artifactId>
+ <version>1.4.1</version>
+ <!-- and getting rid of some annoying transitive junk not really needed for us -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>pdfbox</groupId>
+ <artifactId>pdfbox</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>poi</groupId>
+ <artifactId>poi</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.textmining</groupId>
+ <artifactId>tm-extractors</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>nekohtml</groupId>
+ <artifactId>nekohtml</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
- <dependency>
- <groupId>org.tmatesoft</groupId>
- <artifactId>svnkit</artifactId>
- <version>1.1.2</version>
- </dependency>
-
- <dependency>
- <groupId>hsqldb</groupId>
- <artifactId>hsqldb</artifactId>
- <version>1.8.0.2</version>
- </dependency>
+ <dependency>
+ <groupId>javax.jcr</groupId>
+ <artifactId>jcr</artifactId>
+ <version>1.0</version>
+ </dependency>
- <!-- drools-jbrms -->
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.3</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-servlet</artifactId>
- <version>1.4.60</version>
- </dependency>
- <dependency>
- <groupId>commons-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>com.gwtext</groupId>
- <artifactId>gwtext</artifactId>
- <version>2.0.1</version>
- </dependency>
+ <dependency>
+ <groupId>org.tmatesoft</groupId>
+ <artifactId>svnkit</artifactId>
+ <version>1.1.2</version>
+ </dependency>
- <!-- drools-examples -->
- <dependency>
- <groupId>foxtrot</groupId>
- <artifactId>foxtrot</artifactId>
- <version>2.0</version>
- </dependency>
- <dependency>
- <groupId>com.jgoodies</groupId>
- <artifactId>forms</artifactId>
- <version>1.0.7</version><!-- TODO test that the upgrade from 1.0.4 isn't a problem -->
- </dependency>
+ <dependency>
+ <groupId>hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <version>1.8.0.2</version>
+ </dependency>
- <!-- drools-solver -->
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.3</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-io</artifactId>
- <version>1.3.2</version>
- </dependency>
+ <!-- drools-jbrms -->
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.3</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-servlet</artifactId>
+ <version>1.4.60</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-fileupload</groupId>
+ <artifactId>commons-fileupload</artifactId>
+ <version>1.1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.gwtext</groupId>
+ <artifactId>gwtext</artifactId>
+ <version>2.0.1</version>
+ </dependency>
- <!--
- TODO looks like jsr170:jcr:1.0 isn't used any more, remove it from /repository/jsr170/jcr/1.0
- It's also in the central repo: http://www.mvnrepository.com/artifact/javax.jcr/jcr
- -->
- </dependencies>
- </dependencyManagement>
+ <!-- drools-examples -->
+ <dependency>
+ <groupId>foxtrot</groupId>
+ <artifactId>foxtrot</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.jgoodies</groupId>
+ <artifactId>forms</artifactId>
+ <version>1.0.7</version>
+ <!-- TODO test that the upgrade from 1.0.4 isn't a problem -->
+ </dependency>
- <distributionManagement>
- <site>
- <id>rules-site.jboss.org</id>
- <url>${rules.site.deploy.dir}</url>
- </site>
+ <!-- drools-solver -->
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>2.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.3.2</version>
+ </dependency>
- <snapshotRepository>
- <id>snapshots.jboss.org</id>
- <name>JBoss Snapshot Repository</name>
- <url>dav:https://snapshots.jboss.org/maven2</url>
- </snapshotRepository>
+ <!--
+ TODO looks like jsr170:jcr:1.0 isn't used any more, remove it from /repository/jsr170/jcr/1.0
+ It's also in the central repo: http://www.mvnrepository.com/artifact/javax.jcr/jcr
+ -->
+ </dependencies>
+ </dependencyManagement>
- <!-- TODO configure this if it's needed -->
- <!--<repository>-->
- <!--<id>shell.jboss.org?</id>-->
- <!--<url>scp://???.jboss.org/???/maven2</url>-->
- <!--</repository>-->
-<!-- <snapshotRepository>
- <id>snapshots.jboss.org</id>
- </snapshotRepository> -->
- <!--<site>-->
- <!--<id>shell.jboss.org?</id>-->
- <!--<url>scp://???/???/</url>-->
- <!--</site>-->
- </distributionManagement>
+ <distributionManagement>
+ <site>
+ <id>rules-site.jboss.org</id>
+ <url>${rules.site.deploy.dir}</url>
+ </site>
+ <snapshotRepository>
+ <id>snapshots.jboss.org</id>
+ <name>JBoss Snapshot Repository</name>
+ <url>dav:https://snapshots.jboss.org/maven2</url>
+ </snapshotRepository>
+
+ <!-- TODO configure this if it's needed -->
+ <!--<repository>-->
+ <!--<id>shell.jboss.org?</id>-->
+ <!--<url>scp://???.jboss.org/???/maven2</url>-->
+ <!--</repository>-->
+ <!-- <snapshotRepository>
+ <id>snapshots.jboss.org</id>
+ </snapshotRepository> -->
+ <!--<site>-->
+ <!--<id>shell.jboss.org?</id>-->
+ <!--<url>scp://???/???/</url>-->
+ <!--</site>-->
+ </distributionManagement>
+
</project>
More information about the jboss-svn-commits
mailing list