[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