[jboss-svn-commits] JBL Code SVN: r18922 - in labs/jbossrules/branches/ming-serialization: drools-compiler/src/test/java/org/drools/integrationtests and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Mar 13 08:48:51 EDT 2008


Author: mingjin
Date: 2008-03-13 08:48:50 -0400 (Thu, 13 Mar 2008)
New Revision: 18922

Modified:
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/DynamicRulesTest.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/SerializationHelper.java
   labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/common/DroolsObjectInputStream.java
   labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/CompositePackageClassLoader.java
   labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/DialectDatas.java
   labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/JavaDialectData.java
Log:
Serializing classloader is working as expected now.

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java	2008-03-13 12:30:24 UTC (rev 18921)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java	2008-03-13 12:48:50 UTC (rev 18922)
@@ -226,7 +226,7 @@
 
         ruleDescr.setConsequence( "map.put(\"value\", new Integer(1) );" );
         //check that packageDescr is serializable
-        final PackageDescr back = (PackageDescr) SerializationHelper.serializeObject( packageDescr, null );
+        final PackageDescr back = (PackageDescr) SerializationHelper.serializeObject( packageDescr );
         assertNotNull( back );
         assertEquals( "p1",
                       back.getName() );
@@ -238,8 +238,7 @@
         assertLength( 0,
                       builder.getErrors().getErrors() );
 
-        final Package newPkg = SerializationHelper.serializeObject( pkg,
-                                                                    pkg.getDialectDatas().getClassLoader() );
+        final Package newPkg = SerializationHelper.serializeObject( pkg );
 
         final Rule newRule = newPkg.getRule( "rule-1" );
 

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/DynamicRulesTest.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/DynamicRulesTest.java	2008-03-13 12:30:24 UTC (rev 18921)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/DynamicRulesTest.java	2008-03-13 12:48:50 UTC (rev 18922)
@@ -5,9 +5,7 @@
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.ObjectInput;
-import java.io.ObjectInputStream;
 import java.io.ObjectOutput;
-import java.io.ObjectOutputStream;
 import java.io.Reader;
 import java.net.URL;
 import java.net.URLClassLoader;

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java	2008-03-13 12:30:24 UTC (rev 18921)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java	2008-03-13 12:48:50 UTC (rev 18922)
@@ -30,7 +30,7 @@
 
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( reader );
-        final Package pkg = SerializationHelper.serializeObject( builder.getPackage(), builder.getPackage().getDialectDatas().getClassLoader());
+        final Package pkg = SerializationHelper.serializeObject( builder.getPackage());
 
         assertEquals( 0,
                       builder.getErrors().getErrors().length );
@@ -42,7 +42,7 @@
         Map map = new HashMap();
         map.put( "x",
                  ruleBase );
-        map = SerializationHelper.serializeObject( map, pkg.getDialectDatas().getClassLoader() );
+        map = SerializationHelper.serializeObject( map );
         ruleBase = (RuleBase) map.get( "x" );
         final Rule[] rules = ruleBase.getPackages()[0].getRules();
         assertEquals( 4,
@@ -99,7 +99,7 @@
 
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( reader );
-        final Package pkg = SerializationHelper.serializeObject( builder.getPackage(), builder.getPackage().getDialectDatas().getClassLoader());
+        final Package pkg = SerializationHelper.serializeObject( builder.getPackage() );
 
         assertEquals( 0,
                       builder.getErrors().getErrors().length );
@@ -119,7 +119,7 @@
         workingMemory = ruleBase.newStatefulSession( new ByteArrayInputStream( wm ) );
 
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         workingMemory.setGlobal( "list",
                                  new ArrayList() );
@@ -172,7 +172,7 @@
 
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( reader );
-        final Package pkg = SerializationHelper.serializeObject( builder.getPackage(), builder.getPackage().getDialectDatas().getClassLoader());
+        final Package pkg = SerializationHelper.serializeObject( builder.getPackage() );
 
         assertEquals( 0,
                       builder.getErrors().getErrors().length );
@@ -183,7 +183,7 @@
         Map map = new HashMap();
         map.put( "x",
                  ruleBase );
-        map = SerializationHelper.serializeObject( map, pkg.getDialectDatas().getClassLoader() );
+        map = SerializationHelper.serializeObject( map );
         ruleBase = (RuleBase) map.get( "x" );
 
         WorkingMemory workingMemory = ruleBase.newStatefulSession();
@@ -244,7 +244,7 @@
 
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( reader );
-        final Package pkg = SerializationHelper.serializeObject( builder.getPackage(), builder.getPackage().getDialectDatas().getClassLoader());
+        final Package pkg = SerializationHelper.serializeObject( builder.getPackage());
 
         assertEquals( 0,
                       builder.getErrors().getErrors().length );
@@ -264,7 +264,7 @@
         Map map = new HashMap();
         map.put( "x",
                  ruleBase );
-        map = SerializationHelper.serializeObject( map, pkg.getDialectDatas().getClassLoader() );
+        map = SerializationHelper.serializeObject( map );
         ruleBase = (RuleBase) map.get( "x" );
 
         // now try serialising with a fully populated wm from a serialised rulebase
@@ -315,7 +315,7 @@
         RuleBase ruleBase = RuleBaseFactory.newRuleBase( );
         PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1.drl" ) ) );
-        Package pkg = SerializationHelper.serializeObject( builder.getPackage(), builder.getPackage().getDialectDatas().getClassLoader());
+        Package pkg = SerializationHelper.serializeObject( builder.getPackage());
         ruleBase.addPackage( pkg );
 
         StatefulSession session = ruleBase.newStatefulSession();
@@ -344,7 +344,7 @@
 
         builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic3.drl" ) ) );
-        pkg = SerializationHelper.serializeObject( builder.getPackage(), builder.getPackage().getDialectDatas().getClassLoader());
+        pkg = SerializationHelper.serializeObject( builder.getPackage());
         ruleBase.addPackage( pkg );
 
         InternalFactHandle stilton2 = (InternalFactHandle) session.insert( new Cheese( "stilton", 10 ) );
@@ -378,7 +378,7 @@
         Map map = new HashMap();
         map.put( "x",
                  ruleBase );
-        map = SerializationHelper.serializeObject( map, pkg.getDialectDatas().getClassLoader() );
+        map = SerializationHelper.serializeObject( map );
         ruleBase = (RuleBase) map.get( "x" );
         final Rule[] rules = ruleBase.getPackages()[0].getRules();
         assertEquals( 3,

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-03-13 12:30:24 UTC (rev 18921)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-03-13 12:48:50 UTC (rev 18922)
@@ -137,7 +137,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -165,7 +165,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -208,7 +208,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final Map map = new HashMap();
@@ -258,7 +258,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final Map map = new HashMap();
@@ -324,7 +324,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory wm = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -395,7 +395,7 @@
         // add the package to a rulebase
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
@@ -431,7 +431,7 @@
         // add the package to a rulebase
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         WorkingMemory workingMemory = ruleBase.newStatefulSession();
         List list = new ArrayList();
@@ -458,7 +458,7 @@
         // add the package to a rulebase
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
@@ -493,7 +493,7 @@
         // add the package to a rulebase
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         // load up the rulebase
         return ruleBase;
     }
@@ -554,7 +554,7 @@
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "MVEL_soundex.drl" ) );
         RuleBase ruleBase = loadRuleBase( reader );
 
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, null);
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         Cheese c = new Cheese( "fubar",
@@ -574,7 +574,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -599,7 +599,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -663,7 +663,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -702,7 +702,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -737,8 +737,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( builder.getPackage() );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase,
-                                                          builder.getPackage().getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         WorkingMemory memory = ruleBase.newStatefulSession();
         memory.insert( cell1 );
@@ -791,8 +790,7 @@
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( builder.getPackage() );
 
-        ruleBase    = SerializationHelper.serializeObject(ruleBase,
-                                                          builder.getPackage().getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         WorkingMemory memory = ruleBase.newStatefulSession();
 
         memory.insert( p );
@@ -808,7 +806,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
         final List list = new ArrayList();
         workingMemory.setGlobal( "list",
@@ -850,7 +848,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final Cheese stilton = new Cheese( "stinky",
@@ -897,7 +895,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         workingMemory.setGlobal( "five",
@@ -923,7 +921,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -945,7 +943,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         workingMemory.setGlobal( "two",
@@ -979,7 +977,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         workingMemory.setGlobal( "two",
@@ -1013,7 +1011,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final PersonInterface p1 = new Person( "michael",
@@ -1036,7 +1034,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
         final List foo = new ArrayList();
         workingMemory.setGlobal( "messages",
@@ -1094,7 +1092,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
         final List list1 = new ArrayList();
@@ -1153,7 +1151,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
         final List list = new ArrayList();
@@ -1242,7 +1240,7 @@
             assertNotNull( e.getMessage() );
             runtime = e;
         }
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         assertTrue( builder.getErrors().getErrors().length > 0 );
 
         final String pretty = builder.getErrors().toString();
@@ -1305,7 +1303,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -1330,7 +1328,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -1360,7 +1358,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final Cheese mussarela = new Cheese( "Mussarela",
@@ -1457,7 +1455,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final Cheese brie = new Cheese( "brie",
@@ -1480,7 +1478,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final Cheese brie = new Cheese( "brie",
@@ -1503,7 +1501,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final Cheese brie = new Cheese( "brie",
@@ -1526,7 +1524,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final Cheese brie = new Cheese( "brie",
@@ -1548,7 +1546,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list1 = new ArrayList();
@@ -1625,8 +1623,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( builder.getPackage() );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase,
-                                                          builder.getPackage().getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         List list = new ArrayList();
@@ -1711,7 +1708,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -1781,8 +1778,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( builder.getPackage() );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase,
-                                                          builder.getPackage().getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DuplicateRuleName2.drl" ) ) );
@@ -1802,7 +1798,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg1 );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg1.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         // Adding person with null name and likes attributes
@@ -1835,7 +1831,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -1855,7 +1851,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -1876,7 +1872,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -1909,8 +1905,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg1 );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase,
-                                                          builder.getPackage().getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List orderedFacts = new ArrayList();
@@ -1946,8 +1941,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( builder.getPackage() );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase,
-                                                          builder.getPackage().getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
         workingMemory.fireAllRules();
@@ -1965,8 +1959,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( builder.getPackage() );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase,
-                                                          builder.getPackage().getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
         workingMemory.fireAllRules();
@@ -2008,7 +2001,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final Cheese stilton = new Cheese( "stinky",
@@ -2150,7 +2143,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final Person p1 = new Person( "p1",
@@ -2236,7 +2229,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -2261,7 +2254,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List matchlist = new ArrayList();
@@ -2303,7 +2296,7 @@
 
         RuleBase ruleBase = getRuleBase( config );
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List sensors = new ArrayList();
@@ -2334,7 +2327,7 @@
 
             RuleBase ruleBase = getRuleBase();
             ruleBase.addPackage( pkg );
-            ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+            ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
             Assert.fail( "Should have thrown an InvalidRulePackage" );
         } catch ( final InvalidRulePackage e ) {
@@ -2353,7 +2346,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -2390,7 +2383,7 @@
 
             RuleBase ruleBase = getRuleBase();
             ruleBase.addPackage( pkg );
-            ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+            ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
             fail( "Should have trown an exception" );
         } catch ( final InvalidRulePackage e ) {
@@ -2408,7 +2401,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         final WorkingMemory wm = ruleBase.newStatefulSession();
 
@@ -2438,7 +2431,7 @@
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ImportConflict.drl" ) ) );
         final Package pkg = builder.getPackage();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
     }
 
     public void testPrimitiveArray() throws Exception {
@@ -2448,7 +2441,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-//        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+//        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
         final List result = new ArrayList();
         workingMemory.setGlobal( "result",
@@ -2479,7 +2472,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
         final List result = new ArrayList();
         workingMemory.setGlobal( "results",
@@ -2504,7 +2497,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
         final Map result = new HashMap();
         workingMemory.setGlobal( "results",
@@ -2562,7 +2555,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         workingMemory.insert( new Child( "gp" ) );
@@ -2577,7 +2570,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -2615,7 +2608,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -2673,7 +2666,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -2703,7 +2696,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory wm = ruleBase.newStatefulSession();
 
         final List agendaList = new ArrayList();
@@ -2793,7 +2786,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -2818,7 +2811,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         workingMemory.setGlobal( "value",
@@ -2834,7 +2827,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -2873,7 +2866,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -2902,7 +2895,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -2930,7 +2923,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -2964,7 +2957,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -2991,7 +2984,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final AbstractWorkingMemory workingMemory = (AbstractWorkingMemory) ruleBase.newStatefulSession();
 
         final Cheese stilton = new Cheese( "stilton",
@@ -3023,7 +3016,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -3086,7 +3079,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -3144,7 +3137,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -3182,7 +3175,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -3212,7 +3205,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -3283,7 +3276,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -3315,7 +3308,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -3340,7 +3333,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -3392,7 +3385,7 @@
         conf.setAssertBehaviour( RuleBaseConfiguration.AssertBehaviour.EQUALITY );
         RuleBase ruleBase = getRuleBase( conf );
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -3421,7 +3414,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -3461,7 +3454,7 @@
         conf.setShareAlphaNodes( false );
         RuleBase ruleBase = getRuleBase( conf );
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -3494,7 +3487,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -3520,7 +3513,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -3543,7 +3536,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -3593,8 +3586,7 @@
             RuleBase ruleBase = getRuleBase();
             ruleBase.addPackage( pkg1 );
             ruleBase.addPackage( pkg2 );
-            ruleBase    = SerializationHelper.serializeObject(ruleBase,
-                                                              ((ReteooRuleBase)ruleBase).getCompositePackageClassLoader());
+            ruleBase    = SerializationHelper.serializeObject(ruleBase);
             final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
             final List results = new ArrayList();
@@ -3635,7 +3627,7 @@
 
             RuleBase ruleBase = getRuleBase();
             ruleBase.addPackage( pkg1 );
-            ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg1.getDialectDatas().getClassLoader());
+            ruleBase    = SerializationHelper.serializeObject(ruleBase);
             final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
             final List results = new ArrayList();
@@ -3678,7 +3670,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -3705,7 +3697,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -3738,7 +3730,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -3765,7 +3757,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -3879,7 +3871,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -3916,7 +3908,7 @@
         conf.setShadowProxy( true );
         RuleBase rb = RuleBaseFactory.newRuleBase( conf );
         rb.addPackage( builder.getPackage() );
-        rb    = SerializationHelper.serializeObject(rb, builder.getPackage().getDialectDatas().getClassLoader());
+        rb    = SerializationHelper.serializeObject(rb);
         StatefulSession session = rb.newStatefulSession();
 
         List list1 = new ArrayList();
@@ -3977,7 +3969,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -4007,7 +3999,7 @@
         conf.setSequential( true );
         RuleBase ruleBase = getRuleBase( conf );
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         StatelessSession session = ruleBase.newStatelessSession();
         List list = new ArrayList();
@@ -4026,7 +4018,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         StatefulSession session = ruleBase.newStatefulSession();
         List list = new ArrayList();
@@ -4060,7 +4052,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -4165,7 +4157,7 @@
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
         ruleBase.addPackage( pkg2 );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
@@ -4184,7 +4176,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -4208,7 +4200,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List results = new ArrayList();
@@ -4234,8 +4226,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( builder.getPackage() );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase,
-                                                          builder.getPackage().getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
         workingMemory.fireAllRules();
@@ -4257,8 +4248,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( builder.getPackage() );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase,
-                                                          builder.getPackage().getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
@@ -4317,7 +4307,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         final WorkingMemory wm = ruleBase.newStatefulSession();
 
@@ -4348,8 +4338,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( builder.getPackage() );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase,
-                                                          builder.getPackage().getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
@@ -4387,8 +4376,7 @@
 
         try {
             ruleBase.addPackage( builder.getPackage() );
-            ruleBase    = SerializationHelper.serializeObject(ruleBase,
-                                                              builder.getPackage().getDialectDatas().getClassLoader());
+            ruleBase    = SerializationHelper.serializeObject(ruleBase);
         } catch ( Exception e ) {
             e.printStackTrace();
             fail( "Should not raise any exception!" );
@@ -4402,8 +4390,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( builder.getPackage() );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase,
-                                                          builder.getPackage().getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
@@ -4439,7 +4426,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -4481,7 +4468,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -4526,7 +4513,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -4585,7 +4572,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -4613,7 +4600,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -4641,7 +4628,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -4673,7 +4660,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -4698,7 +4685,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -4724,7 +4711,7 @@
         conf.setAssertBehaviour( RuleBaseConfiguration.AssertBehaviour.EQUALITY );
         RuleBase ruleBase = RuleBaseFactory.newRuleBase( conf );
 
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, null);
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final StatefulSession session = ruleBase.newStatefulSession();
 
         CheeseEqual cheese = new CheeseEqual( "stilton",
@@ -4740,7 +4727,7 @@
         conf.setAssertBehaviour( RuleBaseConfiguration.AssertBehaviour.IDENTITY );
         RuleBase ruleBase = RuleBaseFactory.newRuleBase( conf );
 
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, null);
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final StatefulSession session = ruleBase.newStatefulSession();
 
         CheeseEqual cheese = new CheeseEqual( "stilton",
@@ -4760,7 +4747,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -4785,7 +4772,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final StatefulSession session = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/SerializationHelper.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/SerializationHelper.java	2008-03-13 12:30:24 UTC (rev 18921)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/SerializationHelper.java	2008-03-13 12:48:50 UTC (rev 18922)
@@ -11,8 +11,8 @@
  * Marshalling helper class to perform serialize/de-serialize a given object
  */
 public class SerializationHelper {
-    public static <T> T serializeObject(T obj, ClassLoader classLoader) throws IOException, ClassNotFoundException {
-        return (T)serializeIn(serializeOut(obj), classLoader);
+    public static <T> T serializeObject(T obj) throws IOException, ClassNotFoundException {
+        return (T)serializeIn(serializeOut(obj));
     }
 
     public static byte[] serializeOut(Object obj) throws IOException {
@@ -22,8 +22,8 @@
         return out.toByteArray();
     }
 
-    public static Object serializeIn(byte[] bytes, ClassLoader classLoader)
+    public static Object serializeIn(byte[] bytes)
             throws IOException, ClassNotFoundException {
-        return new DroolsObjectInputStream(new ByteArrayInputStream(bytes), classLoader).readObject();
+        return new DroolsObjectInputStream(new ByteArrayInputStream(bytes)).readObject();
     }
 }

Modified: labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/common/DroolsObjectInputStream.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/common/DroolsObjectInputStream.java	2008-03-13 12:30:24 UTC (rev 18921)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/common/DroolsObjectInputStream.java	2008-03-13 12:48:50 UTC (rev 18922)
@@ -26,6 +26,7 @@
 import org.drools.base.ClassFieldExtractorCache;
 import org.drools.rule.DialectDatas;
 import org.drools.rule.Package;
+import org.drools.rule.CompositePackageClassLoader;
 
 public class DroolsObjectInputStream
         implements DroolsObjectInput, DroolsObjectStreamConstants {
@@ -119,7 +120,7 @@
         }
 
         protected Class resolveClass(ObjectStreamClass desc) throws IOException,
-                                                                  ClassNotFoundException {
+                                                                    ClassNotFoundException {
             if ( getClassLoader() == null ) {
                 return super.resolveClass( desc );
             } else {
@@ -198,7 +199,10 @@
                 classLoader = getClass().getClassLoader();
             }
         }
-        this.classLoader    = classLoader;
+        if (this.classLoader instanceof CompositePackageClassLoader)
+            ((CompositePackageClassLoader)this.classLoader).addClassLoader(classLoader);
+        else
+            this.classLoader    = classLoader;
     }
 
     protected void readStreamHeader() throws IOException {

Modified: labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/CompositePackageClassLoader.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/CompositePackageClassLoader.java	2008-03-13 12:30:24 UTC (rev 18921)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/CompositePackageClassLoader.java	2008-03-13 12:48:50 UTC (rev 18922)
@@ -21,7 +21,15 @@
     }
 
     public void addClassLoader(final ClassLoader classLoader) {
-        this.classLoaders.add( classLoader );
+        if (classLoader instanceof CompositePackageClassLoader) {
+            for (Object object : ((CompositePackageClassLoader)classLoader).classLoaders) {
+               if (!this.classLoaders.contains(object)) {
+                   this.classLoaders.add(object);
+               }
+            }
+        } else {
+            this.classLoaders.add( classLoader );
+        }
     }
 
     public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {

Modified: labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/DialectDatas.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/DialectDatas.java	2008-03-13 12:30:24 UTC (rev 18921)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/DialectDatas.java	2008-03-13 12:48:50 UTC (rev 18922)
@@ -39,10 +39,10 @@
      *
      */
     public void writeExternal(final ObjectOutput stream) throws IOException {
+        stream.writeObject(this.dialects);
         stream.writeObject(this.classLoader);
         stream.writeObject(this.parentClassLoader instanceof DroolsClassLoader ? this.parentClassLoader : null);
         stream.writeObject( this.lineMappings );
-        stream.writeObject(this.dialects);
     }
 
     /**
@@ -53,6 +53,7 @@
      */
     public void readExternal(final ObjectInput stream) throws IOException,
                                                               ClassNotFoundException {
+        this.dialects     = (Map<String, DialectData>)stream.readObject();
         this.classLoader    = (CompositePackageClassLoader)stream.readObject();
         setParentClassLoader((ClassLoader)stream.readObject());
         if (stream instanceof DroolsObjectInput) {
@@ -60,7 +61,6 @@
             ((DroolsObjectInput)stream).setDialectDatas(this);
         }
         this.lineMappings = (Map) stream.readObject();
-        this.dialects     = (Map<String, DialectData>)stream.readObject();
     }
 
     public void addDialectData(String dialect, DialectData dialectData) {

Modified: labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/JavaDialectData.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/JavaDialectData.java	2008-03-13 12:30:24 UTC (rev 18921)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/JavaDialectData.java	2008-03-13 12:48:50 UTC (rev 18922)
@@ -22,7 +22,6 @@
 import java.io.InputStream;
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
-import java.net.URL;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.security.ProtectionDomain;
@@ -33,7 +32,6 @@
 import java.util.Map;
 import java.util.Map.Entry;
 
-import org.drools.CheckedDroolsException;
 import org.drools.RuntimeDroolsException;
 import org.drools.base.accumulators.JavaAccumulatorFunctionExecutor;
 import org.drools.common.DroolsObjectInputStream;
@@ -85,7 +83,6 @@
      * will result in an invalid state for the instance.
      */
     public JavaDialectData() {
-
     }
 
     public JavaDialectData(final DialectDatas datas) {
@@ -136,6 +133,8 @@
         this.AST = stream.readObject();
         if (droolsStream.getClassLoader() instanceof CompositePackageClassLoader) {
             ((CompositePackageClassLoader)droolsStream.getClassLoader()).addClassLoader(classLoader);
+        } else {
+            droolsStream.setClassLoader(classLoader);
         }
         this.invokerLookups = (Map) droolsStream.readObject();
         this.dirty  = droolsStream.readBoolean();




More information about the jboss-svn-commits mailing list