[jboss-svn-commits] JBL Code SVN: r12167 - in labs/jbossrules/trunk/drools-compiler/src: main/java/org/drools/rule/builder/dialect/java and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun May 27 20:27:31 EDT 2007
Author: mark.proctor at jboss.com
Date: 2007-05-27 20:27:31 -0400 (Sun, 27 May 2007)
New Revision: 12167
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.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/mvel/MVELDialect.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/RuleBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELSalienceBuilderTest.java
Log:
JBRULES-713 Make Dialects Pluggeable
-Dialects now takesw "Package" as a constructor
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java 2007-05-28 00:09:44 UTC (rev 12166)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java 2007-05-28 00:27:31 UTC (rev 12167)
@@ -123,29 +123,17 @@
// make an automatic import for the current package
this.typeResolver.addImport( this.pkg.getName() + ".*" );
this.dialects.addDialect( "java",
- new JavaDialect( pkg,
- configuration,
- getTypeResolver(),
- this.classFieldExtractorCache ) );
+ new JavaDialect( this ) );
this.dialects.addDialect( "mvel",
- new MVELDialect( pkg,
- configuration,
- getTypeResolver(),
- this.classFieldExtractorCache ) );
+ new MVELDialect( this ) );
this.dialect = this.dialects.getDialect( "java" ); // TODO this should from the package
} else {
this.typeResolver = new ClassTypeResolver( new ArrayList(), configuration.getClassLoader() );
this.dialects.addDialect( "java",
- new JavaDialect( pkg,
- configuration,
- getTypeResolver(),
- this.classFieldExtractorCache ) );
+ new JavaDialect( this ) );
this.dialects.addDialect( "mvel",
- new MVELDialect( pkg,
- configuration,
- getTypeResolver(),
- this.classFieldExtractorCache ) );
+ new MVELDialect( this ) );
this.dialects.addDialect( "default", this.dialects.getDialect( configuration.getDialect() ) );
this.dialect = this.dialects.getDialect( configuration.getDialect() );
}
@@ -374,7 +362,7 @@
* @return a Type resolver, lazily. If one does not exist yet, it will be
* initialised.
*/
- private TypeResolver getTypeResolver() {
+ public TypeResolver getTypeResolver() {
return this.typeResolver;
}
@@ -393,7 +381,15 @@
}
return this.pkg;
}
+
+ public PackageBuilderConfiguration getPackageBuilderConfiguration() {
+ return this.configuration;
+ }
+
+ public ClassFieldExtractorCache getClassFieldExtractorCache() {
+ return this.classFieldExtractorCache;
+ }
/**
* This will return true if there were errors in the package building and
* compiling phase
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 2007-05-28 00:09:44 UTC (rev 12166)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java 2007-05-28 00:27:31 UTC (rev 12167)
@@ -19,6 +19,7 @@
import org.drools.RuntimeDroolsException;
import org.drools.base.ClassFieldExtractorCache;
import org.drools.base.TypeResolver;
+import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.compiler.RuleError;
import org.drools.compiler.PackageBuilder.ErrorHandler;
@@ -56,6 +57,7 @@
import org.drools.rule.builder.RuleBuildContext;
import org.drools.rule.builder.RuleClassBuilder;
import org.drools.rule.builder.SalienceBuilder;
+import org.drools.rule.builder.dialect.mvel.MVELExprAnalyzer;
import org.drools.rule.builder.dialect.mvel.MVELFromBuilder;
import org.drools.rule.builder.dialect.mvel.MVELSalienceBuilder;
import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
@@ -100,16 +102,12 @@
// a map of registered builders
private Map builders;
- public JavaDialect(final Package pkg,
- final PackageBuilderConfiguration configuration,
- final TypeResolver typeResolver,
- final ClassFieldExtractorCache classFieldExtractorCache) {
- this.pkg = pkg;
- this.configuration = configuration;
- loadCompiler();
-
- this.typeResolver = typeResolver;
- this.classFieldExtractorCache = classFieldExtractorCache;
+ public JavaDialect(final PackageBuilder builder) {
+ this.pkg = builder.getPackage();
+ this.configuration = builder.getPackageBuilderConfiguration();
+ this.typeResolver = builder.getTypeResolver();
+ this.classFieldExtractorCache = builder.getClassFieldExtractorCache();
+
this.knowledgeHelperFixer = new KnowledgeHelperFixer();
this.typeFixer = new DeclarationTypeFixer();
this.analyzer = new JavaExprAnalyzer();
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 2007-05-28 00:09:44 UTC (rev 12166)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java 2007-05-28 00:27:31 UTC (rev 12167)
@@ -9,6 +9,7 @@
import org.drools.base.ClassFieldExtractorCache;
import org.drools.base.TypeResolver;
+import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.compiler.RuleError;
import org.drools.lang.descr.AccumulateDescr;
@@ -83,17 +84,12 @@
// a map of registered builders
private Map builders;
- public MVELDialect(final Package pkg,
- final PackageBuilderConfiguration configuration,
- final TypeResolver typeResolver,
- final ClassFieldExtractorCache classFieldExtractorCache) {
- this.pkg = pkg;
- this.configuration = configuration;
- //loadCompiler();
-
- this.typeResolver = typeResolver;
- this.classFieldExtractorCache = classFieldExtractorCache;
-
+ public MVELDialect(final PackageBuilder builder) {
+ this.pkg = builder.getPackage();
+ this.configuration = builder.getPackageBuilderConfiguration();
+ this.typeResolver = builder.getTypeResolver();
+ this.classFieldExtractorCache = builder.getClassFieldExtractorCache();
+
this.analyzer = new MVELExprAnalyzer();
if ( pkg != null ) {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/RuleBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/RuleBuilderTest.java 2007-05-28 00:09:44 UTC (rev 12166)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/RuleBuilderTest.java 2007-05-28 00:27:31 UTC (rev 12167)
@@ -30,6 +30,7 @@
import org.drools.base.TypeResolver;
import org.drools.compiler.DialectRegistry;
import org.drools.compiler.DrlParser;
+import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.lang.descr.AttributeDescr;
import org.drools.lang.descr.PackageDescr;
@@ -86,10 +87,7 @@
final RuleBuilder builder = new RuleBuilder( );
- JavaDialect dialect = new JavaDialect( pkg,
- new PackageBuilderConfiguration(),
- typeResolver,
- new ClassFieldExtractorCache() ) ;
+ JavaDialect dialect = new JavaDialect( new PackageBuilder(pkg) ) ;
DialectRegistry registry = new DialectRegistry();
registry.addDialect( "java", dialect );
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java 2007-05-28 00:09:44 UTC (rev 12166)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java 2007-05-28 00:27:31 UTC (rev 12167)
@@ -16,6 +16,7 @@
import org.drools.common.AgendaItem;
import org.drools.common.InternalFactHandle;
import org.drools.compiler.DialectRegistry;
+import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.lang.descr.RuleDescr;
import org.drools.reteoo.ReteTuple;
@@ -40,10 +41,7 @@
DialectRegistry registry = new DialectRegistry();
registry.addDialect( "default",
- new MVELDialect( pkg,
- new PackageBuilderConfiguration(),
- new ClassTypeResolver(),
- new ClassFieldExtractorCache() ) );
+ new MVELDialect( new PackageBuilder( pkg ) ) );
final InstrumentedBuildContent context = new InstrumentedBuildContent( pkg,
ruleDescr,
registry );
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilderTest.java 2007-05-28 00:09:44 UTC (rev 12166)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilderTest.java 2007-05-28 00:27:31 UTC (rev 12167)
@@ -15,6 +15,7 @@
import org.drools.base.ClassTypeResolver;
import org.drools.common.InternalFactHandle;
import org.drools.compiler.DialectRegistry;
+import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.lang.descr.EvalDescr;
import org.drools.lang.descr.RuleDescr;
@@ -40,10 +41,7 @@
DialectRegistry registry = new DialectRegistry();
registry.addDialect( "default",
- new MVELDialect( pkg,
- new PackageBuilderConfiguration(),
- new ClassTypeResolver(),
- new ClassFieldExtractorCache() ) );
+ new MVELDialect( new PackageBuilder( pkg ) ) );
final InstrumentedBuildContent context = new InstrumentedBuildContent( pkg,
ruleDescr,
registry );
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilderTest.java 2007-05-28 00:09:44 UTC (rev 12166)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilderTest.java 2007-05-28 00:27:31 UTC (rev 12167)
@@ -17,6 +17,7 @@
import org.drools.common.InternalFactHandle;
import org.drools.common.InternalWorkingMemory;
import org.drools.compiler.DialectRegistry;
+import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.lang.descr.PredicateDescr;
import org.drools.lang.descr.RuleDescr;
@@ -43,10 +44,7 @@
DialectRegistry registry = new DialectRegistry();
registry.addDialect( "default",
- new MVELDialect( pkg,
- new PackageBuilderConfiguration(),
- new ClassTypeResolver(),
- new ClassFieldExtractorCache() ) );
+ new MVELDialect( new PackageBuilder( pkg ) ) );
final InstrumentedBuildContent context = new InstrumentedBuildContent( pkg,
ruleDescr,
registry );
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueBuilderTest.java 2007-05-28 00:09:44 UTC (rev 12166)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueBuilderTest.java 2007-05-28 00:27:31 UTC (rev 12167)
@@ -19,6 +19,7 @@
import org.drools.common.InternalFactHandle;
import org.drools.common.InternalWorkingMemory;
import org.drools.compiler.DialectRegistry;
+import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.lang.descr.ReturnValueRestrictionDescr;
import org.drools.lang.descr.RuleDescr;
@@ -47,10 +48,7 @@
DialectRegistry registry = new DialectRegistry();
registry.addDialect( "default",
- new MVELDialect( pkg,
- new PackageBuilderConfiguration(),
- new ClassTypeResolver(),
- new ClassFieldExtractorCache() ) );
+ new MVELDialect( new PackageBuilder( pkg ) ));
final InstrumentedBuildContent context = new InstrumentedBuildContent( pkg,
ruleDescr,
registry );
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELSalienceBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELSalienceBuilderTest.java 2007-05-28 00:09:44 UTC (rev 12166)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELSalienceBuilderTest.java 2007-05-28 00:27:31 UTC (rev 12167)
@@ -21,6 +21,7 @@
import org.drools.common.AgendaItem;
import org.drools.common.InternalFactHandle;
import org.drools.compiler.DialectRegistry;
+import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.lang.descr.RuleDescr;
import org.drools.reteoo.ReteTuple;
@@ -55,10 +56,7 @@
DialectRegistry registry = new DialectRegistry();
registry.addDialect( "default",
- new MVELDialect( pkg,
- new PackageBuilderConfiguration(),
- new ClassTypeResolver(),
- new ClassFieldExtractorCache() ) );
+ new MVELDialect( new PackageBuilder( pkg ) ) );
final InstrumentedBuildContent context = new InstrumentedBuildContent( pkg,
ruleDescr,
registry );
More information about the jboss-svn-commits
mailing list