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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Mar 13 11:31:52 EDT 2008


Author: mingjin
Date: 2008-03-13 11:31:52 -0400 (Thu, 13 Mar 2008)
New Revision: 18925

Modified:
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Address.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Cell.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/FactA.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/FactB.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/FactC.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Func.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/GrandParent.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Guess.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/IndexedNumber.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/InsertedObject.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Message.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Order.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/OrderEvent.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/State.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
   labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/common/AbstractRuleBase.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/reteoo/ClassObjectTypeConf.java
   labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/JavaDialectData.java
Log:
Making fact classes serializable and setting classloader to stream in rulebase

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Address.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Address.java	2008-03-13 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Address.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -1,18 +1,20 @@
 package org.drools;
 
-public class Address {
+import java.io.Serializable;
 
+public class Address implements Serializable {
+
     private String street;
     private String suburb;
-    
+
     public Address() {
-        
+
     }
-    
+
     public Address(String street) {
         this.street = street;
     }
-    
+
     public String getStreet() {
         return street;
     }
@@ -25,5 +27,5 @@
     public void setSuburb(String suburb) {
         this.suburb = suburb;
     }
-    
+
 }

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Cell.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Cell.java	2008-03-13 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Cell.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -1,5 +1,7 @@
 package org.drools;
 
+import java.io.Serializable;
+
 /*
  * Copyright 2005 JBoss Inc
  * 
@@ -16,7 +18,7 @@
  * limitations under the License.
  */
 
-public class Cell {
+public class Cell implements Serializable {
 
     int value = 0;
 

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/FactA.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/FactA.java	2008-03-13 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/FactA.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -1,6 +1,8 @@
 package org.drools;
 
-public class FactA {
+import java.io.Serializable;
+
+public class FactA implements Serializable {
     String  field1;
     Integer field2;
     Float   field3;

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/FactB.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/FactB.java	2008-03-13 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/FactB.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -1,6 +1,8 @@
 package org.drools;
 
-public class FactB {
+import java.io.Serializable;
+
+public class FactB implements Serializable {
     String  f1;
     Integer f2;
     Float   f3;

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/FactC.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/FactC.java	2008-03-13 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/FactC.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -1,6 +1,8 @@
 package org.drools;
 
-public class FactC {
+import java.io.Serializable;
+
+public class FactC implements Serializable {
     String  f1;
     Integer f2;
     Float   f3;

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Func.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Func.java	2008-03-13 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Func.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -1,6 +1,8 @@
 package org.drools;
 
-public class Func {
+import java.io.Serializable;
+
+public class Func implements Serializable {
     public static void func() {
 
     }

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/GrandParent.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/GrandParent.java	2008-03-13 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/GrandParent.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -1,10 +1,12 @@
 package org.drools;
 
+import java.io.Serializable;
+
 /**
  * A grand parent class
  * @author etirelli
  */
-public class GrandParent {
+public class GrandParent implements Serializable {
     private String name;
 
     public GrandParent() {

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Guess.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Guess.java	2008-03-13 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Guess.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -1,7 +1,9 @@
 package org.drools;
 
-public class Guess {
+import java.io.Serializable;
 
+public class Guess implements Serializable {
+
     private Integer value;
 
     public void setValue(final Integer guess) {

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/IndexedNumber.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/IndexedNumber.java	2008-03-13 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/IndexedNumber.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -16,6 +16,8 @@
 
 package org.drools;
 
+import java.io.Serializable;
+
 /**
  * IndexedNumber
  *
@@ -25,7 +27,7 @@
  * @version $Id$
  */
 
-public class IndexedNumber {
+public class IndexedNumber implements Serializable {
 
     private int     number = 0;
 

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/InsertedObject.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/InsertedObject.java	2008-03-13 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/InsertedObject.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -1,6 +1,8 @@
 package org.drools;
 
-public class InsertedObject {
+import java.io.Serializable;
+
+public class InsertedObject implements Serializable {
     private String value;
 
     public String getValue() {
@@ -24,7 +26,7 @@
         result = PRIME * result + ((value == null) ? 0 : value.hashCode());
         return result;
     }
-    
+
     public boolean equals(Object obj) {
         if ( this == obj ) return true;
         if ( obj == null ) return false;
@@ -35,7 +37,7 @@
         } else if ( !value.equals( other.value ) ) return false;
         return true;
     }
-    
-    
 
+
+
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Message.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Message.java	2008-03-13 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Message.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -6,8 +6,9 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.io.Serializable;
 
-public class Message {
+public class Message implements Serializable {
 
     private String          message1 = "One";
     private String          message2 = "Two";
@@ -24,15 +25,15 @@
     private List    list     = new ArrayList();
     private int     number   = 0;
     private Date    birthday = new Date();
-    private boolean fired    = false;    
-    
+    private boolean fired    = false;
+
     public Message() {
     }
-    
+
     public Message(final String msg) {
         this.message = msg;
-    }    
-    
+    }
+
     public String getMessage() {
         return this.message;
     }
@@ -80,7 +81,7 @@
     public void setMessage4(final String message4) {
         this.message4 = message4;
     }
-    
+
     public boolean isFired() {
         return this.fired;
     }
@@ -115,5 +116,5 @@
 
     public void addToList(final String s) {
         this.list.add( s );
-    }    
+    }
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Order.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Order.java	2008-03-13 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Order.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -20,12 +20,13 @@
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
+import java.io.Serializable;
 
 /**
  * @author etirelli
  *
  */
-public class Order {
+public class Order implements Serializable {
 
     private int number;
 
@@ -34,7 +35,7 @@
     private Map items;
 
     private OrderStatus status;
-    
+
     private Date date;
 
     public Order() {

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/OrderEvent.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/OrderEvent.java	2008-03-13 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/OrderEvent.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -17,17 +17,19 @@
  */
 package org.drools;
 
+import java.io.Serializable;
+
 /**
  * A simple order event POJO
  * 
  * @author etirelli
  */
-public class OrderEvent {
-    
+public class OrderEvent implements Serializable {
+
     private String id;
     private String customer;
     private double total;
-    
+
     public OrderEvent(String id,
                       String customer,
                       double total) {

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/State.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/State.java	2008-03-13 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/State.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -2,8 +2,9 @@
 
 import java.beans.PropertyChangeListener;
 import java.beans.PropertyChangeSupport;
+import java.io.Serializable;
 
-public class State {
+public class State implements Serializable {
     private final PropertyChangeSupport changes = new PropertyChangeSupport( this );
 
     private String                      state;

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 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -129,6 +129,25 @@
                                             config );
     }
 
+    public void testMVELSoundex() throws Exception {
+
+        // read in the source
+        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "MVEL_soundex.drl" ) );
+        RuleBase ruleBase = loadRuleBase( reader );
+
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        Cheese c = new Cheese( "fubar",
+                               2 );
+
+        workingMemory.insert( c );
+//        workingMemory    = SerializationHelper.serializeObject(workingMemory);
+        workingMemory.fireAllRules();
+        assertEquals( 42,
+                      c.getPrice() );
+    }
+
     public void testGlobals() throws Exception {
 
         final PackageBuilder builder = new PackageBuilder();
@@ -349,7 +368,7 @@
         // add the package to a rulebase
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-//        ruleBase    = SerializationHelper.serializeObject(ruleBase);
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List events = new ArrayList();
@@ -548,25 +567,6 @@
 
     }
 
-    public void testMVELSoundex() throws Exception {
-
-        // read in the source
-        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "MVEL_soundex.drl" ) );
-        RuleBase ruleBase = loadRuleBase( reader );
-
-        ruleBase    = SerializationHelper.serializeObject(ruleBase);
-        WorkingMemory workingMemory = ruleBase.newStatefulSession();
-
-        Cheese c = new Cheese( "fubar",
-                               2 );
-
-        workingMemory.insert( c );
-//        workingMemory    = SerializationHelper.serializeObject(workingMemory);
-        workingMemory.fireAllRules();
-        assertEquals( 42,
-                      c.getPrice() );
-    }
-
     public void testLiteral() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "literal_rule_test.drl" ) ) );
@@ -663,7 +663,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase);
+//        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -794,7 +794,7 @@
         WorkingMemory memory = ruleBase.newStatefulSession();
 
         memory.insert( p );
-//        memory    = SerializationHelper.serializeObject(memory);
+        memory    = SerializationHelper.serializeObject(memory);
         memory.fireAllRules();
 
     }
@@ -807,7 +807,7 @@
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
         ruleBase    = SerializationHelper.serializeObject(ruleBase);
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
         final List list = new ArrayList();
         workingMemory.setGlobal( "list",
                                  list );
@@ -833,6 +833,7 @@
 
         workingMemory.insert( new Cheese( "stilton",
                                           5 ) );
+//        workingMemory    = SerializationHelper.serializeObject(workingMemory);
         workingMemory.fireAllRules();
 
         // now have one more
@@ -849,11 +850,12 @@
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
         ruleBase    = SerializationHelper.serializeObject(ruleBase);
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final Cheese stilton = new Cheese( "stinky",
                                            5 );
         workingMemory.insert( stilton );
+        workingMemory    = SerializationHelper.serializeObject(workingMemory);
         final QueryResults results = workingMemory.getQueryResults( "simple query" );
         assertEquals( 1,
                       results.size() );
@@ -866,7 +868,7 @@
 
         final RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         workingMemory.setGlobal( "five",
                                  new Integer( 5 ) );
@@ -878,6 +880,7 @@
         final Cheese stilton = new Cheese( "stilton",
                                            5 );
         workingMemory.insert( stilton );
+//        workingMemory    = SerializationHelper.serializeObject(workingMemory);
         workingMemory.fireAllRules();
 
         assertEquals( stilton,
@@ -896,7 +899,7 @@
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
         ruleBase    = SerializationHelper.serializeObject(ruleBase);
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         workingMemory.setGlobal( "five",
                                  new Integer( 5 ) );
@@ -908,6 +911,7 @@
         final Cheese stilton = new Cheese( "stilton",
                                            5 );
         workingMemory.insert( stilton );
+//        workingMemory    = SerializationHelper.serializeObject(workingMemory);
         workingMemory.fireAllRules();
 
         assertEquals( stilton,
@@ -922,7 +926,7 @@
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
         ruleBase    = SerializationHelper.serializeObject(ruleBase);
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
         workingMemory.setGlobal( "list",
@@ -930,6 +934,7 @@
 
         final Person foo = new Person( "foo" );
         workingMemory.insert( foo );
+//        workingMemory    = SerializationHelper.serializeObject(workingMemory);
         workingMemory.fireAllRules();
 
         assertEquals( foo,
@@ -944,7 +949,7 @@
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
         ruleBase    = SerializationHelper.serializeObject(ruleBase);
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         workingMemory.setGlobal( "two",
                                  new Integer( 2 ) );
@@ -962,6 +967,7 @@
                                                  10 );
         workingMemory.insert( jane );
 
+//        workingMemory    = SerializationHelper.serializeObject(workingMemory);
         workingMemory.fireAllRules();
 
         assertEquals( jane,
@@ -1012,7 +1018,7 @@
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
         ruleBase    = SerializationHelper.serializeObject(ruleBase);
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final PersonInterface p1 = new Person( "michael",
                                                "food",
@@ -1023,8 +1029,8 @@
         workingMemory.insert( p1 );
         workingMemory.insert( p2 );
 
+        workingMemory    = SerializationHelper.serializeObject(workingMemory);
         workingMemory.fireAllRules();
-
     }
 
     public void testNullConstraint() throws Exception {
@@ -1035,7 +1041,7 @@
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
         ruleBase    = SerializationHelper.serializeObject(ruleBase);
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
         final List foo = new ArrayList();
         workingMemory.setGlobal( "messages",
                                  foo );
@@ -1049,6 +1055,7 @@
         workingMemory.insert( p1 );
         workingMemory.insert( p2 );
 
+//        workingMemory    = SerializationHelper.serializeObject(workingMemory);
         workingMemory.fireAllRules();
         assertEquals( 2,
                       foo.size() );

Modified: labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java	2008-03-13 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -240,6 +240,7 @@
 
         Map store = (Map) droolsStream.readObject();
         this.packageClassLoader = new CompositePackageClassLoader( droolsStream.getClassLoader() );
+        droolsStream.setClassLoader(packageClassLoader);
         this.classLoader = new MapBackedClassLoader( this.packageClassLoader, store );
         this.packageClassLoader.addClassLoader( this.classLoader );
         this.objenesis = createObjenesis();

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 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/common/DroolsObjectInputStream.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -199,10 +199,7 @@
                 classLoader = getClass().getClassLoader();
             }
         }
-        if (this.classLoader instanceof CompositePackageClassLoader)
-            ((CompositePackageClassLoader)this.classLoader).addClassLoader(classLoader);
-        else
-            this.classLoader    = classLoader;
+        this.classLoader    = classLoader;
     }
 
     protected void readStreamHeader() throws IOException {

Modified: labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/reteoo/ClassObjectTypeConf.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/reteoo/ClassObjectTypeConf.java	2008-03-13 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/reteoo/ClassObjectTypeConf.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -229,7 +229,7 @@
 
     public void readExternal(ObjectInput stream) throws IOException,
                                                      ClassNotFoundException {
-        this.ruleBase = ((DroolsObjectInput) stream).getRuleBase();
+        this.ruleBase = (InternalRuleBase)stream.readObject();
 
         cls = (Class)stream.readObject();
         objectTypeNodes = (ObjectTypeNode[])stream.readObject();
@@ -241,6 +241,7 @@
     }
 
     public void writeExternal(ObjectOutput stream) throws IOException {
+        stream.writeObject(ruleBase);
         stream.writeObject(cls);
         stream.writeObject(objectTypeNodes);
         stream.writeBoolean(shadowEnabled);

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 15:25:54 UTC (rev 18924)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/JavaDialectData.java	2008-03-13 15:31:52 UTC (rev 18925)
@@ -129,13 +129,10 @@
         this.datas = (DialectDatas)droolsStream.readObject();
         this.classLoader = (PackageClassLoader)droolsStream.readObject();
         this.datas.addClassLoader( this.classLoader );
+        droolsStream.setClassLoader(this.classLoader);
+        droolsStream.setDialectDatas(this.datas);
         this.store = (Map) stream.readObject();
         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();
     }
@@ -208,7 +205,7 @@
     public byte[] read(final String resourceName) {
         byte[] bytes = null;
 
-        if ( this.store != null ) {
+        if ( this.store != null && !this.store.isEmpty()) {
             bytes = (byte[]) this.store.get( resourceName );
         }
         return bytes;




More information about the jboss-svn-commits mailing list