[jboss-svn-commits] JBL Code SVN: r15497 - in labs/jbossrules/trunk/drools-compiler/src: main/java/org/drools/rule/builder and 6 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 1 21:32:03 EDT 2007


Author: mark.proctor at jboss.com
Date: 2007-10-01 21:32:03 -0400 (Mon, 01 Oct 2007)
New Revision: 15497

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DialectRegistry.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuildContext.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/JavaDialectConfiguration.java
   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/MVELDialectConfiguration.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELExprAnalyzer.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/PackageBuilderThreadSafetyTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaAccumulateBuilderTest.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-1240 JBRULES-1240

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DialectRegistry.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DialectRegistry.java	2007-10-02 01:31:42 UTC (rev 15496)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DialectRegistry.java	2007-10-02 01:32:03 UTC (rev 15497)
@@ -24,8 +24,8 @@
      * @param name
      * @param dialect
      */
-    public void addDialectConfiguration(final String name,
-                                        final DialectConfiguration dialect) {
+    public void addDialect(final String name,
+                                        final Dialect dialect) {
         this.map.put( name,
                       dialect );
     }
@@ -35,8 +35,8 @@
      * @param name
      * @return
      */
-    public DialectConfiguration getDialectConfiguration(final String name) {
-        return (DialectConfiguration) this.map.get( name );
+    public Dialect getDialect(final String name) {
+        return (Dialect) this.map.get( name );
     }
 
     /**
@@ -45,8 +45,8 @@
      */
     public void initAll(PackageBuilder builder) {
         for ( Iterator it = this.map.values().iterator(); it.hasNext(); ) {
-            DialectConfiguration dialect = (DialectConfiguration) it.next();
-            dialect.getDialect().init( builder );
+        	Dialect dialect = (Dialect) it.next();
+            dialect.init( builder );
         }
     }
 
@@ -56,8 +56,8 @@
      */
     public void compileAll() {
         for ( Iterator it = this.map.values().iterator(); it.hasNext(); ) {
-            DialectConfiguration dialect = (DialectConfiguration) it.next();
-            dialect.getDialect().compileAll();
+        	Dialect dialect = (Dialect) it.next();
+            dialect.compileAll();
         }
     }
 
@@ -79,8 +79,8 @@
             list = new ArrayList();
         }
         for ( Iterator it = this.map.values().iterator(); it.hasNext(); ) {
-            DialectConfiguration dialect = (DialectConfiguration) it.next();
-            List results = dialect.getDialect().getResults();
+        	Dialect dialect = (Dialect) it.next();
+            List results = dialect.getResults();
             if ( results != null ) {
                 list.addAll( results );
             }
@@ -94,8 +94,8 @@
      */
     public void addImport(String importEntry) {
         for ( Iterator it = this.map.values().iterator(); it.hasNext(); ) {
-            DialectConfiguration dialect = (DialectConfiguration) it.next();
-            dialect.getDialect().addImport( importEntry );
+        	Dialect dialect = (Dialect) it.next();
+            dialect.addImport( importEntry );
         }
     }
 
@@ -105,8 +105,8 @@
      */    
     public void addStaticImport(String staticImportEntry) {
         for ( Iterator it = this.map.values().iterator(); it.hasNext(); ) {
-            DialectConfiguration dialect = (DialectConfiguration) it.next();
-            dialect.getDialect().addStaticImport( staticImportEntry );
+        	Dialect dialect = (Dialect) it.next();
+            dialect.addStaticImport( staticImportEntry );
         }
     }
 

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-10-02 01:31:42 UTC (rev 15496)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java	2007-10-02 01:32:03 UTC (rev 15497)
@@ -77,6 +77,8 @@
 
     private Dialect                     dialect;
 
+    private DialectRegistry             dialectRegistry;
+    
     private ProcessBuilder              processBuilder;
 
     /**
@@ -98,6 +100,10 @@
     /**
      * Pass a specific configuration for the PackageBuilder
      * 
+	 * PackageBuilderConfiguration is not thread safe and it also contains state. Once it is created and used 
+	 * in one or more PackageBuilders it should be considered immutable. Do not modify its 
+	 * properties while it is being used by a PackageBuilder.
+     * 
      * @param configuration
      */
     public PackageBuilder(final PackageBuilderConfiguration configuration) {
@@ -123,7 +129,7 @@
         this.configuration = configuration;
         this.results = new ArrayList();
         this.pkg = pkg;
-        this.classFieldExtractorCache = ClassFieldExtractorCache.getInstance();
+        this.classFieldExtractorCache = ClassFieldExtractorCache.getInstance();        
         
         if ( this.pkg != null ) {
             this.typeResolver = new ClassTypeResolver( this.pkg.getImports(),
@@ -134,12 +140,17 @@
             this.typeResolver = new ClassTypeResolver( new HashSet(),
                                                        this.configuration.getClassLoader() );
         }
-        this.configuration.getDialectRegistry().initAll( this );
+        
+        this.dialectRegistry = this.configuration.buildDialectRegistry();
+        
+        this.dialect = this.dialectRegistry.getDialect( this.configuration.getDefaultDialect() );
+        
+        this.dialectRegistry.initAll( this );
         if ( this.pkg != null ) {
             initDialectPackage( pkg );            
-        }
+        }        
         
-        this.dialect = this.configuration.getDefaultDialect();
+        
 
     }
 
@@ -240,14 +251,14 @@
 //        }
         
         // The Package does not have a default dialect, so set it
-        if ( dialectName == null && this.dialect == null ) {
-                this.dialect = this.configuration.getDefaultDialect();
+        if ( dialectName == null && this.dialect == null ) {        	
+                this.dialect = this.dialectRegistry.getDialect( this.configuration.getDefaultDialect() );
         } 
             
-        if ( dialectName != null ) {
-            this.dialect = this.configuration.getDialectRegistry().getDialectConfiguration( dialectName ).getDialect();
+        if ( dialectName != null ) {        	
+            this.dialect = this.dialectRegistry.getDialect( dialectName );
         } else if ( this.dialect == null ) {
-            this.dialect = this.configuration.getDefaultDialect();
+            this.dialect = this.dialectRegistry.getDialect( this.configuration.getDefaultDialect() );
         }
                    
         if ( this.pkg != null ) {
@@ -281,12 +292,12 @@
 	            }
             
 	            // We need to compile all the functions, so scripting languages like mvel can find them
-	            this.configuration.getDialectRegistry().compileAll();
+	            this.dialectRegistry.compileAll();
 	            
 	            for ( final Iterator it = packageDescr.getFunctions().iterator(); it.hasNext(); ) {
 	                FunctionDescr functionDescr = (FunctionDescr) it.next();
 	                final String functionClassName = this.pkg.getName() + "." + ucFirst( functionDescr.getName() );
-	                this.configuration.getDialectRegistry().addStaticImport(functionClassName + "." + functionDescr.getName());
+	                this.dialectRegistry.addStaticImport(functionClassName + "." + functionDescr.getName());
 	            }	            
             }
 
@@ -296,13 +307,13 @@
             }
         }
 
-        this.configuration.getDialectRegistry().compileAll();
+        this.dialectRegistry.compileAll();
         
         // some of the rules and functions may have been redefined
         if ( this.pkg.getPackageCompilationData().isDirty() ) {
             this.pkg.getPackageCompilationData().reload();
         }
-        this.results = this.configuration.getDialectRegistry().addResults( this.results );
+        this.results = this.dialectRegistry.addResults( this.results );
     }
 
     private void validatePackageName(final PackageDescr packageDescr) {
@@ -345,8 +356,8 @@
     }
     
     private void initDialectPackage(Package pkg) {
-        for ( Iterator it = this.configuration.getDialectRegistry().iterator(); it.hasNext(); ) {
-            Dialect dialect = (( DialectConfiguration ) it.next()).getDialect();
+        for ( Iterator it = this.dialectRegistry.iterator(); it.hasNext(); ) {
+            Dialect dialect = ( Dialect) it.next();
             dialect.init( pkg );
         }
         
@@ -365,12 +376,12 @@
             String importEntry = ((ImportDescr) it.next()).getTarget();
             pkg.addImport( importEntry );
             this.typeResolver.addImport( importEntry );            
-            this.configuration.getDialectRegistry().addImport( importEntry );
+            this.dialectRegistry.addImport( importEntry );
         }
 
         for ( final Iterator it = packageDescr.getFunctionImports().iterator(); it.hasNext(); ) {
             String importEntry = ((FunctionImportDescr) it.next()).getTarget();
-            this.configuration.getDialectRegistry().addStaticImport( importEntry );
+            this.dialectRegistry.addStaticImport( importEntry );
             pkg.addStaticImport( importEntry );
         }
 
@@ -432,7 +443,7 @@
         RuleBuildContext context = new RuleBuildContext( this.configuration,
                                                          pkg,
                                                          ruleDescr,
-                                                         this.configuration.getDialectRegistry(),
+                                                         this.dialectRegistry,
                                                          this.dialect );
         this.builder.build( context );
 
@@ -480,6 +491,14 @@
         return this.configuration;
     }
 
+    public DialectRegistry getDialectRegistry() {
+    	return this.dialectRegistry;
+    }
+    
+    public Dialect getDefaultDialect() {
+    	return this.dialect;
+    }
+    
     private void addRuleFlowsToPackage(ProcessBuilder processBuilder,
                                        Package pkg) {
         if ( processBuilder != null ) {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java	2007-10-02 01:31:42 UTC (rev 15496)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java	2007-10-02 01:32:03 UTC (rev 15497)
@@ -32,6 +32,10 @@
  * Dialects and their DialectConfigurations  are handled by the DialectRegistry
  * Normally you will not need to look at this class, unless you want to override the defaults.
  * 
+ * This class is not thread safe and it also contains state. Once it is created and used 
+ * in one or more PackageBuilders it should be considered immutable. Do not modify its 
+ * properties while it is being used by a PackageBuilder.
+ * 
  * drools.dialect.default = <String>
  * drools.accumulate.function.<function name> = <qualified class>
  * 
@@ -46,11 +50,9 @@
 public class PackageBuilderConfiguration {
 
     private static final String ACCUMULATE_FUNCTION_PREFIX = "drools.accumulate.function.";
+    
+    private Map                 dialectConfigurations;
 
-    private Map                 dialects;
-
-    private DialectRegistry     dialectRegistry;
-
     private String              defaultDialect;
 
     private ClassLoader         classLoader;
@@ -109,15 +111,11 @@
         if ( properties != null ) {
             this.chainedProperties.addProperties( properties );
         }
+        
+        this.dialectConfigurations = new HashMap();
+        
+        buildDialectConfigurationMap();
 
-        this.dialects = new HashMap();
-        this.chainedProperties.mapStartsWith( this.dialects,
-                                              "drools.dialect",
-                                              false );
-        setDefaultDialect( (String) this.dialects.remove( "drools.dialect.default" ) );
-
-        this.dialectRegistry = buildDialectRegistry();
-
         buildAccumulateFunctionsMap();
     }
 
@@ -125,34 +123,54 @@
         return this.chainedProperties;
     }
 
-    public DialectRegistry buildDialectRegistry() {
-        DialectRegistry registry = new DialectRegistry();
+    private void buildDialectConfigurationMap() {
+        //DialectRegistry registry = new DialectRegistry();
+        Map dialectProperties = new HashMap();
+        this.chainedProperties.mapStartsWith( dialectProperties,
+                                              "drools.dialect",
+                                              false );
+        setDefaultDialect( (String) dialectProperties.remove( "drools.dialect.default" ) );
+        
         ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
-        for ( Iterator it = this.dialects.entrySet().iterator(); it.hasNext(); ) {
+        for ( Iterator it = dialectProperties.entrySet().iterator(); it.hasNext(); ) {
             Entry entry = (Entry) it.next();
             String str = (String) entry.getKey();
             String dialectName = str.substring( str.lastIndexOf( "." ) + 1 );
             String dialectClass = (String) entry.getValue();
-            try {
-                Class cls = classLoader.loadClass( dialectClass );
-                DialectConfiguration dialectConf = (DialectConfiguration) cls.newInstance();
-                dialectConf.init( this );
-                registry.addDialectConfiguration( dialectName,
-                                                  dialectConf );
-            } catch ( Exception e ) {
-                throw new RuntimeDroolsException( "Unable to load dialect '" + dialectClass + ":" + dialectName + "'",
-                                                  e );
-            }
+            addDialect( dialectName, dialectClass);
         }
-        return registry;
     }
+    
+    public void addDialect(String dialectName, String dialectClass) {
+        try {
+            Class cls = classLoader.loadClass( dialectClass );
+            DialectConfiguration dialectConf = (DialectConfiguration) cls.newInstance();
+            dialectConf.init( this );
+            addDialect( dialectName, 
+            		    dialectConf);
+        } catch ( Exception e ) {
+            throw new RuntimeDroolsException( "Unable to load dialect '" + dialectClass + ":" + dialectName + "'",
+                                              e );
+        }    	
+    }
 
-    public DialectRegistry getDialectRegistry() {
-        return this.dialectRegistry;
+    public void addDialect(String dialectName, DialectConfiguration dialectConf) {
+        dialectConfigurations.put( dialectName,
+                				   dialectConf );    	
     }
+    
+    public DialectRegistry buildDialectRegistry() {
+    	DialectRegistry registry = new DialectRegistry();
+    	for ( Iterator it = this.dialectConfigurations.values().iterator(); it.hasNext(); ) {
+    		DialectConfiguration conf = ( DialectConfiguration ) it.next();
+    		Dialect dialect = conf.getDialect();
+    		registry.addDialect( conf.getDialect().getId(), dialect );
+    	}
+        return registry;
+    }
 
-    public Dialect getDefaultDialect() {
-        return this.dialectRegistry.getDialectConfiguration( this.defaultDialect ).getDialect();
+    public String getDefaultDialect() {
+        return this.defaultDialect;
     }
 
     public void setDefaultDialect(String defaultDialect) {
@@ -160,13 +178,13 @@
     }
 
     public DialectConfiguration getDialectConfiguration(String name) {
-        return (DialectConfiguration) this.dialectRegistry.getDialectConfiguration( name );
+        return (DialectConfiguration) this.dialectConfigurations.get( name );
     }
 
     public void setDialectConfiguration(String name,
                                         DialectConfiguration configuration) {
-        this.dialectRegistry.addDialectConfiguration( name,
-                                                      configuration );
+        this.dialectConfigurations.put( name,
+                                        configuration );
     }
 
     public ClassLoader getClassLoader() {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuildContext.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuildContext.java	2007-10-02 01:31:42 UTC (rev 15496)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuildContext.java	2007-10-02 01:32:03 UTC (rev 15497)
@@ -121,7 +121,7 @@
                        ruleDescr.getAttributes() );
 
         this.dialectRegistry = dialectRegistry;
-        this.dialect = (this.rule.getDialect() != null) ? this.dialectRegistry.getDialectConfiguration( this.rule.getDialect() ).getDialect() : defaultDialect;
+        this.dialect = (this.rule.getDialect() != null) ? this.dialectRegistry.getDialect( this.rule.getDialect() ) : defaultDialect;
 
         getDialect().init( ruleDescr );
     }
@@ -138,7 +138,7 @@
     }
 
     public Dialect getDialect(String dialectName) {
-        return ( (DialectConfiguration) this.dialectRegistry.getDialectConfiguration( dialectName ) ).getDialect();
+        return (Dialect) this.dialectRegistry.getDialect( dialectName );
     }
 
     /**

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-10-02 01:31:42 UTC (rev 15496)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java	2007-10-02 01:32:03 UTC (rev 15497)
@@ -64,7 +64,7 @@
     implements
     Dialect {
 
-    public static final String ID = "JavaDialect";
+    public static final String ID = "java";
 
     private final static String            EXPRESSION_DIALECT_NAME = "MVEL";
     // builders

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialectConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialectConfiguration.java	2007-10-02 01:31:42 UTC (rev 15496)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialectConfiguration.java	2007-10-02 01:32:03 UTC (rev 15497)
@@ -45,8 +45,6 @@
 
     private int                         compiler;
 
-    private JavaDialect                 dialect;
-
     public JavaDialectConfiguration() {
     }
 
@@ -63,10 +61,7 @@
     }
 
     public Dialect getDialect() {
-        if ( this.dialect == null ) {
-            this.dialect = new JavaDialect();
-        }
-        return this.dialect;
+        return new JavaDialect();
     }
 
     public String getJavaLanguageLevel() {

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-10-02 01:31:42 UTC (rev 15496)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java	2007-10-02 01:32:03 UTC (rev 15497)
@@ -66,7 +66,7 @@
     implements
     Dialect {
 
-    public final static String                ID 					  = "MVELDialect";
+    public final static String                ID 					  = "mvel";
 
     private final static String               EXPRESSION_DIALECT_NAME = "MVEL";
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialectConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialectConfiguration.java	2007-10-02 01:31:42 UTC (rev 15496)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialectConfiguration.java	2007-10-02 01:32:03 UTC (rev 15497)
@@ -18,16 +18,12 @@
     implements
     DialectConfiguration {
 
-    private MVELDialect                 dialect;
     private PackageBuilderConfiguration conf;
 
     private boolean                     strict;
 
     public Dialect getDialect() {
-        if ( this.dialect == null ) {
-            this.dialect = new MVELDialect();
-        }
-        return this.dialect;
+        return new MVELDialect();
     }
 
     public void init(PackageBuilderConfiguration conf) {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELExprAnalyzer.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELExprAnalyzer.java	2007-10-02 01:31:42 UTC (rev 15496)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELExprAnalyzer.java	2007-10-02 01:32:03 UTC (rev 15497)
@@ -71,11 +71,13 @@
                                                                    null,
                                                                    context.getPkg().getName() + "." + context.getRuleDescr().getClassName() );
 
-            for ( Iterator it = dialect.getPackgeImports().values().iterator(); it.hasNext(); ) {
-                String packageImport = (String) it.next();
-                parserContext.addPackageImport( packageImport );
+            if ( dialect.getPackgeImports() != null && !dialect.getPackgeImports().isEmpty() ) {
+	            for ( Iterator it = dialect.getPackgeImports().values().iterator(); it.hasNext(); ) {
+	                String packageImport = (String) it.next();
+	                parserContext.addPackageImport( packageImport );
+	            }
             }
-
+            
             parserContext.setStrictTypeEnforcement( false );
 
             parserContext.setInterceptors( dialect.getInterceptors() );

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java	2007-10-02 01:31:42 UTC (rev 15496)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java	2007-10-02 01:32:03 UTC (rev 15497)
@@ -123,13 +123,13 @@
 
     public void testProgrammaticProperties() {
         PackageBuilderConfiguration cfg = new PackageBuilderConfiguration();
-        assertTrue( cfg.getDefaultDialect() instanceof JavaDialect );
+        assertTrue( cfg.getDefaultDialect().equals( "java") );
 
         Properties properties = new Properties();
         properties.setProperty( "drools.dialect.default",
                                 "mvel" );
         PackageBuilderConfiguration cfg1 = new PackageBuilderConfiguration( properties );
-        assertTrue( cfg1.getDefaultDialect() instanceof MVELDialect );
+        assertEquals("mvel", cfg1.getDefaultDialect() );
 
         final PackageBuilderConfiguration cfg2 = new PackageBuilderConfiguration( properties );
         assertEquals( cfg1.getDefaultDialect().getClass(),
@@ -163,14 +163,16 @@
 
         PackageBuilderConfiguration cfg1 = new PackageBuilderConfiguration();
         MockDialectConfiguration mockConf = new MockDialectConfiguration();
-        cfg1.getDialectRegistry().addDialectConfiguration( "mock",
-                                                           mockConf );
+//        cfg1.buildDialectRegistry().addDialect( "mock",
+//                                                mockConf.getDialect() );
+        
+        cfg1.addDialect("mock", mockConf );
         cfg1.setDefaultDialect( "mock" );
 
         PackageBuilder builder = new PackageBuilder( pkg,
                                                      cfg1 );
 
-        MockDialect mockDialect2 = (MockDialect) builder.getPackageBuilderConfiguration().getDefaultDialect();
+        MockDialect mockDialect2 = (MockDialect) builder.getDialectRegistry().getDialect( cfg1.getDefaultDialect() );
         assertSame( mockConf.getDialect(),
                     mockDialect2 );
 
@@ -405,8 +407,7 @@
         }
 
         public String getId() {
-            // TODO Auto-generated method stub
-            return null;
+            return "mock";
         }
     }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/PackageBuilderThreadSafetyTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/PackageBuilderThreadSafetyTest.java	2007-10-02 01:31:42 UTC (rev 15496)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/PackageBuilderThreadSafetyTest.java	2007-10-02 01:32:03 UTC (rev 15497)
@@ -32,12 +32,13 @@
     }
 
     public void execute(int compiler) {
+        final PackageBuilderConfiguration packageBuilderConfig = new PackageBuilderConfiguration();
+        ((JavaDialectConfiguration) packageBuilderConfig.getDialectConfiguration( "java" )).setCompiler( compiler );        	
+        
         final List errors = new ArrayList();
         final List exceptions = new ArrayList();
         Thread[] threads = new Thread[_NUMBER_OF_THREADS];
         for ( int i = 0; i < _NUMBER_OF_THREADS; i++ ) {
-            final PackageBuilderConfiguration packageBuilderConfig = new PackageBuilderConfiguration();
-            ((JavaDialectConfiguration) packageBuilderConfig.getDialectConfiguration( "java" )).setCompiler( compiler );        	
             final int ID = i;
             Thread testThread = new Thread() {
                 public void run() {

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaAccumulateBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaAccumulateBuilderTest.java	2007-10-02 01:31:42 UTC (rev 15496)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaAccumulateBuilderTest.java	2007-10-02 01:32:03 UTC (rev 15497)
@@ -45,11 +45,11 @@
         org.drools.rule.Package pkg = new org.drools.rule.Package( "org.drools" );
         final PackageBuilder pkgBulider = new PackageBuilder(pkg);
         final PackageBuilderConfiguration conf = pkgBulider.getPackageBuilderConfiguration();
-        Dialect dialect = pkgBulider.getPackageBuilderConfiguration().getDialectRegistry().getDialectConfiguration( "java" ).getDialect();
+        Dialect dialect = pkgBulider.getDialectRegistry().getDialect( "java" );
         
         
         RuleDescr ruleDescr = new RuleDescr("test rule");
-        RuleBuildContext context = new RuleBuildContext( conf, pkg, ruleDescr, conf.getDialectRegistry(), dialect);
+        RuleBuildContext context = new RuleBuildContext( conf, pkg, ruleDescr, conf.buildDialectRegistry(), dialect);
         
         Accumulate accumulate = (Accumulate) builder.build( context, accumDescr );
         

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-10-02 01:31:42 UTC (rev 15496)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/RuleBuilderTest.java	2007-10-02 01:32:03 UTC (rev 15497)
@@ -88,11 +88,11 @@
 
         final RuleBuilder builder = new RuleBuilder( );                
         
-        final PackageBuilder pkgBulider = new PackageBuilder(pkg);
-        final PackageBuilderConfiguration conf = pkgBulider.getPackageBuilderConfiguration();
-        Dialect dialect = pkgBulider.getPackageBuilderConfiguration().getDialectRegistry().getDialectConfiguration( "java" ).getDialect();
+        final PackageBuilder pkgBuilder = new PackageBuilder(pkg);
+        final PackageBuilderConfiguration conf = pkgBuilder.getPackageBuilderConfiguration();
+        Dialect dialect = pkgBuilder.getDialectRegistry().getDialect( "java" );
         
-        RuleBuildContext context = new RuleBuildContext(conf, pkg, ruleDescr, conf.getDialectRegistry(), dialect);
+        RuleBuildContext context = new RuleBuildContext(conf, pkg, ruleDescr, pkgBuilder.getDialectRegistry(), dialect);
       
         builder.build( context );
 

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-10-02 01:31:42 UTC (rev 15496)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java	2007-10-02 01:32:03 UTC (rev 15497)
@@ -52,12 +52,12 @@
 
         PackageBuilder pkgBuilder = new PackageBuilder( pkg );
         final PackageBuilderConfiguration conf = pkgBuilder.getPackageBuilderConfiguration();
-        MVELDialect mvelDialect = ( MVELDialect ) ( (DialectConfiguration) conf.getDialectConfiguration( "mvel" ) ).getDialect();
+        MVELDialect mvelDialect = ( MVELDialect ) pkgBuilder.getDialectRegistry().getDialect( "mvel" );
 
         final InstrumentedBuildContent context = new InstrumentedBuildContent( conf,
                                                                                pkg,
                                                                                ruleDescr,
-                                                                               conf.getDialectRegistry(),
+                                                                               pkgBuilder.getDialectRegistry(),
                                                                                mvelDialect );
 
         final InstrumentedDeclarationScopeResolver declarationResolver = new InstrumentedDeclarationScopeResolver();
@@ -117,13 +117,15 @@
         properties.setProperty( "drools.dialect.default",
                                 "mvel" );
         PackageBuilderConfiguration cfg1 = new PackageBuilderConfiguration( properties );
-        MVELDialect mvelDialect = ( MVELDialect) cfg1.getDefaultDialect();
-        final PackageBuilderConfiguration conf = new PackageBuilderConfiguration();
+        
+        PackageBuilder pkgBuilder = new PackageBuilder( pkg, cfg1 );
+        final PackageBuilderConfiguration conf = pkgBuilder.getPackageBuilderConfiguration();
+        MVELDialect mvelDialect = ( MVELDialect ) pkgBuilder.getDefaultDialect();
 
         final InstrumentedBuildContent context = new InstrumentedBuildContent( conf,
                                                                                pkg,
                                                                                ruleDescr,
-                                                                               conf.getDialectRegistry(),
+                                                                               pkgBuilder.getDialectRegistry(),
                                                                                mvelDialect );
 
         final InstrumentedDeclarationScopeResolver declarationResolver = new InstrumentedDeclarationScopeResolver();
@@ -228,12 +230,12 @@
 
             final PackageBuilder pkgBuilder = new PackageBuilder( pkg );
             final PackageBuilderConfiguration conf = pkgBuilder.getPackageBuilderConfiguration();
-            Dialect dialect = pkgBuilder.getPackageBuilderConfiguration().getDialectRegistry().getDialectConfiguration( "mvel" ).getDialect();
+            Dialect dialect = pkgBuilder.getDialectRegistry().getDialect( "mvel" );
 
             RuleBuildContext context = new RuleBuildContext( conf,
                                                              pkg,
                                                              ruleDescr,
-                                                             conf.getDialectRegistry(),
+                                                             pkgBuilder.getDialectRegistry(),
                                                              dialect );
 
             builder.build( context );

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-10-02 01:31:42 UTC (rev 15496)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilderTest.java	2007-10-02 01:32:03 UTC (rev 15497)
@@ -38,12 +38,12 @@
 
         PackageBuilder pkgBuilder = new PackageBuilder( pkg );
         final PackageBuilderConfiguration conf = pkgBuilder.getPackageBuilderConfiguration();
-        MVELDialect mvelDialect = (MVELDialect) ((DialectConfiguration) conf.getDialectConfiguration( "mvel" )).getDialect();
+        MVELDialect mvelDialect = ( MVELDialect ) pkgBuilder.getDialectRegistry().getDialect( "mvel" );
 
         final InstrumentedBuildContent context = new InstrumentedBuildContent( conf,
                                                                                pkg,
                                                                                ruleDescr,
-                                                                               conf.getDialectRegistry(),
+                                                                               pkgBuilder.getDialectRegistry(),
                                                                                mvelDialect );
 
         final InstrumentedDeclarationScopeResolver declarationResolver = new InstrumentedDeclarationScopeResolver();

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-10-02 01:31:42 UTC (rev 15496)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilderTest.java	2007-10-02 01:32:03 UTC (rev 15497)
@@ -40,12 +40,12 @@
 
         PackageBuilder pkgBuilder = new PackageBuilder( pkg );
         final PackageBuilderConfiguration conf = pkgBuilder.getPackageBuilderConfiguration();
-        MVELDialect mvelDialect = (MVELDialect) ((DialectConfiguration) conf.getDialectConfiguration( "mvel" )).getDialect();
+        MVELDialect mvelDialect = ( MVELDialect ) pkgBuilder.getDialectRegistry().getDialect( "mvel" );
 
         final InstrumentedBuildContent context = new InstrumentedBuildContent( conf,
                                                                                pkg,
                                                                                ruleDescr,
-                                                                               conf.getDialectRegistry(),
+                                                                               pkgBuilder.getDialectRegistry(),
                                                                                mvelDialect );
 
         final InstrumentedDeclarationScopeResolver declarationResolver = new InstrumentedDeclarationScopeResolver();

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-10-02 01:31:42 UTC (rev 15496)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueBuilderTest.java	2007-10-02 01:32:03 UTC (rev 15497)
@@ -42,12 +42,12 @@
 
         PackageBuilder pkgBuilder = new PackageBuilder( pkg );
         final PackageBuilderConfiguration conf = pkgBuilder.getPackageBuilderConfiguration();
-        MVELDialect mvelDialect = ( MVELDialect ) ( (DialectConfiguration) conf.getDialectConfiguration( "mvel" ) ).getDialect();
+        MVELDialect mvelDialect = ( MVELDialect ) pkgBuilder.getDialectRegistry().getDialect( "mvel" );
 
         final InstrumentedBuildContent context = new InstrumentedBuildContent( conf,
                                                                                pkg,
                                                                                ruleDescr,
-                                                                               conf.getDialectRegistry(),
+                                                                               pkgBuilder.getDialectRegistry(),
                                                                                mvelDialect );
         
         final InstrumentedDeclarationScopeResolver declarationResolver = new InstrumentedDeclarationScopeResolver();

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-10-02 01:31:42 UTC (rev 15496)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELSalienceBuilderTest.java	2007-10-02 01:32:03 UTC (rev 15497)
@@ -33,12 +33,12 @@
 
         PackageBuilder pkgBuilder = new PackageBuilder( pkg );
         final PackageBuilderConfiguration conf = pkgBuilder.getPackageBuilderConfiguration();
-        MVELDialect mvelDialect = ( MVELDialect ) ( (DialectConfiguration) conf.getDialectConfiguration( "mvel" ) ).getDialect();
+        MVELDialect mvelDialect = ( MVELDialect ) pkgBuilder.getDialectRegistry().getDialect( "mvel" );
 
         final InstrumentedBuildContent context = new InstrumentedBuildContent( conf,
                                                                                pkg,
                                                                                ruleDescr,
-                                                                               conf.getDialectRegistry(),
+                                                                               pkgBuilder.getDialectRegistry(),
                                                                                mvelDialect );
 
         final InstrumentedDeclarationScopeResolver declarationResolver = new InstrumentedDeclarationScopeResolver();




More information about the jboss-svn-commits mailing list