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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Mar 13 14:00:23 EDT 2008


Author: mingjin
Date: 2008-03-13 14:00:23 -0400 (Thu, 13 Mar 2008)
New Revision: 18931

Modified:
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Precondition.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/DslTest.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/DynamicRulesTest.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/reteoo/EmptyObjectSinkAdapter.java
   labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/reteoo/ObjectSource.java
Log:
Updated DynamicRuylesTest with more serialized rulebase.

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Precondition.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Precondition.java	2008-03-13 17:24:13 UTC (rev 18930)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Precondition.java	2008-03-13 18:00:23 UTC (rev 18931)
@@ -1,6 +1,8 @@
 package org.drools;
 
-public class Precondition {
+import java.io.Serializable;
+
+public class Precondition implements Serializable {
     private String code;
     private String value;
 

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/DslTest.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/DslTest.java	2008-03-13 17:24:13 UTC (rev 18930)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/DslTest.java	2008-03-13 18:00:23 UTC (rev 18931)
@@ -50,10 +50,11 @@
         assertEquals( 0,
                       builder.getErrors().getErrors().length );
 
-        final RuleBase ruleBase = getRuleBase();
+        RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
+        WorkingMemory wm = ruleBase.newStatefulSession();
         wm.insert( new Person( "Bob",
                                "http://foo.bar" ) );
         wm.insert( new Cheese( "stilton",
@@ -62,6 +63,7 @@
         final List messages = new ArrayList();
         wm.setGlobal( "messages",
                       messages );
+//        wm  = SerializationHelper.serializeObject(wm);
         wm.fireAllRules();
 
         // should have fired
@@ -89,10 +91,11 @@
         assertEquals( 0,
                       builder.getErrors().getErrors().length );
 
-        final RuleBase ruleBase = getRuleBase();
+        RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
+        WorkingMemory wm = ruleBase.newStatefulSession();
         wm.insert( new Person( "rage" ) );
         wm.insert( new Cheese( "cheddar",
                                15 ) );
@@ -100,6 +103,7 @@
         final List messages = new ArrayList();
         wm.setGlobal( "messages",
                       messages );
+//        wm  = SerializationHelper.serializeObject(wm);
         wm.fireAllRules();
 
         // should have NONE, as both conditions should be false.
@@ -131,8 +135,9 @@
 
         builder.addPackageFromDrl( drlReader,
                                    dslReader );
-        final Package pkg = builder.getPackage();
+        Package pkg = builder.getPackage();
 
+        pkg = SerializationHelper.serializeObject(pkg);
         assertFalse( pkg.isValid() );
     }
 
@@ -154,10 +159,11 @@
         assertEquals( 0,
                       builder.getErrors().getErrors().length );
 
-        final RuleBase ruleBase = getRuleBase();
+        RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
+        WorkingMemory wm = ruleBase.newStatefulSession();
         List results = new ArrayList();
         wm.setGlobal( "results",
                       results );
@@ -165,6 +171,7 @@
                                     42 );
         wm.insert( cheese );
 
+//        wm  = SerializationHelper.serializeObject(wm);
         wm.fireAllRules();
 
         // should have fired

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 17:24:13 UTC (rev 18930)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/DynamicRulesTest.java	2008-03-13 18:00:23 UTC (rev 18931)
@@ -1,11 +1,6 @@
 package org.drools.integrationtests;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
 import java.io.InputStreamReader;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
 import java.io.Reader;
 import java.net.URL;
 import java.net.URLClassLoader;
@@ -29,8 +24,6 @@
 import org.drools.StatefulSession;
 import org.drools.WorkingMemory;
 import org.drools.common.InternalFactHandle;
-import org.drools.common.DroolsObjectOutputStream;
-import org.drools.common.DroolsObjectInputStream;
 import org.drools.compiler.PackageBuilder;
 import org.drools.compiler.PackageBuilderConfiguration;
 import org.drools.rule.Package;
@@ -53,10 +46,11 @@
 
         PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( reader );
-        final Package pkg1 = serialisePackage( builder.getPackage() );
+        final Package pkg1 = SerializationHelper.serializeObject( builder.getPackage() );
 
-        final RuleBase ruleBase = getRuleBase();
+        RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg1 );
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
         workingMemory.setGlobal( "total",
                                  new Integer( 0 ) );
@@ -91,9 +85,10 @@
         reader = new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic2.drl" ) );
         builder = new PackageBuilder();
         builder.addPackageFromDrl( reader );
-        final Package pkg2 = serialisePackage( builder.getPackage() );
+        final Package pkg2 = SerializationHelper.serializeObject( builder.getPackage() );
         ruleBase.addPackage( pkg2 );
 
+//        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         assertEquals( 3,
                       list.size() );
 
@@ -109,8 +104,9 @@
         reader = new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic3.drl" ) );
         builder = new PackageBuilder();
         builder.addPackageFromDrl( reader );
-        final Package pkg3 = serialisePackage( builder.getPackage() );
+        final Package pkg3 = SerializationHelper.serializeObject( builder.getPackage() );
         ruleBase.addPackage( pkg3 );
+//        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         // Package 3 has a rule working on Person instances.
         // As we added person instance in advance, rule should fire now
@@ -128,8 +124,9 @@
         reader = new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic4.drl" ) );
         builder = new PackageBuilder();
         builder.addPackageFromDrl( reader );
-        final Package pkg4 = serialisePackage( builder.getPackage() );
+        final Package pkg4 = SerializationHelper.serializeObject( builder.getPackage() );
         ruleBase.addPackage( pkg4 );
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         Assert.assertEquals( "Rule from package 4 should have been fired",
                              "Who likes Stilton ok",
@@ -149,16 +146,18 @@
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1.drl" ) ) );
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic3.drl" ) ) );
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic4.drl" ) ) );
-        final Package pkg = serialisePackage( builder.getPackage() );
+        final Package pkg = SerializationHelper.serializeObject( builder.getPackage() );
 
         org.drools.reteoo.ReteooRuleBase reteooRuleBase = null;
         // org.drools.leaps.LeapsRuleBase leapsRuleBase = null;
-        final RuleBase ruleBase = getRuleBase();
+        RuleBase ruleBase = getRuleBase();
         reteooRuleBase = (org.drools.reteoo.ReteooRuleBase) ruleBase;
         ruleBase.addPackage( pkg );
+//        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final PackageBuilder builder2 = new PackageBuilder();
         builder2.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic2.drl" ) ) );
-        ruleBase.addPackage( serialisePackage( builder2.getPackage() ) );
+        ruleBase.addPackage( SerializationHelper.serializeObject( builder2.getPackage() ) );
+//        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
@@ -212,6 +211,7 @@
                       workingMemory.getAgenda().getActivations().length );
 
         reteooRuleBase.removePackage( "org.drools.test" );
+        reteooRuleBase    = SerializationHelper.serializeObject(reteooRuleBase);
 
         assertEquals( 0,
                       workingMemory.getAgenda().getActivations().length );
@@ -228,10 +228,11 @@
 
         org.drools.reteoo.ReteooRuleBase reteooRuleBase = null;
 
-        final RuleBase ruleBase = getRuleBase();
+        RuleBase ruleBase = getRuleBase();
         reteooRuleBase = (org.drools.reteoo.ReteooRuleBase) ruleBase;
 
         ruleBase.addPackage( pkg );
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
@@ -262,11 +263,12 @@
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicFunction1.drl" ) ) );
 
         //FIXME JBRULES-1258 serialising a package breaks function removal -- left the serialisation commented out for now
-        //final Package pkg = serialisePackage( builder.getPackage() );
+        //final Package pkg = SerializationHelper.serializeObject( builder.getPackage() );
         final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
+        RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -301,7 +303,7 @@
         builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicFunction2.drl" ) ) );
 
-        ruleBase.addPackage( serialisePackage( builder.getPackage() ) );
+        ruleBase.addPackage( SerializationHelper.serializeObject( builder.getPackage() ) );
 
         final Cheese brie = new Cheese( "brie",
                                         5 );
@@ -315,7 +317,7 @@
         builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicFunction3.drl" ) ) );
 
-        ruleBase.addPackage( serialisePackage( builder.getPackage() ) );
+        ruleBase.addPackage( SerializationHelper.serializeObject( builder.getPackage() ) );
 
         final Cheese feta = new Cheese( "feta",
                                         5 );
@@ -331,33 +333,36 @@
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RemovePackage.drl" ) ) );
 
-        final RuleBase ruleBase = getRuleBase();
+        RuleBase ruleBase = getRuleBase();
         final String packageName = builder.getPackage().getName();
-        ruleBase.addPackage( serialisePackage( builder.getPackage() ) );
+        ruleBase.addPackage( SerializationHelper.serializeObject( builder.getPackage() ) );
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         workingMemory.insert( new Precondition( "genericcode",
                                                 "genericvalue" ) );
         workingMemory.fireAllRules();
 
-        final RuleBase ruleBaseWM = workingMemory.getRuleBase();
+        RuleBase ruleBaseWM = workingMemory.getRuleBase();
         ruleBaseWM.removePackage( packageName );
         final PackageBuilder builder1 = new PackageBuilder();
         builder1.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RemovePackage.drl" ) ) );
-        ruleBaseWM.addPackage( serialisePackage( builder1.getPackage() ) );
+        ruleBaseWM.addPackage( SerializationHelper.serializeObject( builder1.getPackage() ) );
+        ruleBaseWM    = SerializationHelper.serializeObject(ruleBaseWM);
+        workingMemory = SerializationHelper.serializeObject(workingMemory);
         workingMemory.fireAllRules();
 
         ruleBaseWM.removePackage( packageName );
-        ruleBaseWM.addPackage( serialisePackage( builder1.getPackage() ) );
+        ruleBaseWM.addPackage( SerializationHelper.serializeObject( builder1.getPackage() ) );
 
         ruleBaseWM.removePackage( packageName );
-        ruleBaseWM.addPackage( serialisePackage( builder1.getPackage() ) );
+        ruleBaseWM.addPackage( SerializationHelper.serializeObject( builder1.getPackage() ) );
     }
 
     public void testDynamicRules() throws Exception {
-        final RuleBase ruleBase = getRuleBase();
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        RuleBase ruleBase = getRuleBase();
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
         final Cheese a = new Cheese( "stilton",
                                      10 );
         final Cheese b = new Cheese( "stilton",
@@ -371,14 +376,16 @@
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRules.drl" ) ) );
         final Package pkg = builder.getPackage();
-        ruleBase.addPackage( serialisePackage( pkg ) );
+        ruleBase.addPackage( SerializationHelper.serializeObject( pkg ) );
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
+        workingMemory    = SerializationHelper.serializeObject(workingMemory);
 
         workingMemory.fireAllRules();
     }
 
     public void testDynamicRules2() throws Exception {
-        final RuleBase ruleBase = getRuleBase();
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        RuleBase ruleBase = getRuleBase();
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         // Assert some simple facts
         final FactA a = new FactA( "hello",
@@ -392,8 +399,10 @@
 
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRules2.drl" ) ) );
-        final Package pkg = serialisePackage( builder.getPackage() );
+        final Package pkg = SerializationHelper.serializeObject( builder.getPackage() );
         ruleBase.addPackage( pkg );
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
+        workingMemory    = SerializationHelper.serializeObject(workingMemory);
 
         workingMemory.fireAllRules();
     }
@@ -404,15 +413,17 @@
         //add and remove
         PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1.drl" ) ) );
-        Package pkg = serialisePackage( builder.getPackage() );
+        Package pkg = SerializationHelper.serializeObject( builder.getPackage() );
         ruleBase.addPackage( pkg );
         ruleBase.removePackage( pkg.getName() );
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         //add and remove again
         builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1.drl" ) ) );
-        pkg = serialisePackage( builder.getPackage() );
+        pkg = SerializationHelper.serializeObject( builder.getPackage() );
         ruleBase.addPackage( pkg );
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         ruleBase.removePackage( pkg.getName() );
     }
 
@@ -430,8 +441,9 @@
             // must set the classloader for rulebase conf too
             RuleBaseConfiguration rbconf = new RuleBaseConfiguration( loader1 );
             RuleBase ruleBase = RuleBaseFactory.newRuleBase( rbconf );
-            Package pkg = serialisePackage( builder.getPackage() );
+            Package pkg = SerializationHelper.serializeObject( builder.getPackage() );
             ruleBase.addPackage( pkg );
+//            ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
             StatefulSession wm = ruleBase.newStatefulSession();
             wm.insert( cheeseClass.newInstance() );
@@ -448,8 +460,9 @@
 
             rbconf = new RuleBaseConfiguration( loader2 );
             ruleBase = RuleBaseFactory.newRuleBase( rbconf );
-            pkg = serialisePackage( builder.getPackage() );
+            pkg = SerializationHelper.serializeObject( builder.getPackage() );
             ruleBase.addPackage( pkg );
+//            ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
             wm = ruleBase.newStatefulSession();
             wm.insert( cheeseClass.newInstance() );
@@ -474,7 +487,7 @@
             builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1.drl" ) ) );
 
             RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-            Package pkg = serialisePackage( builder.getPackage() );
+            Package pkg = SerializationHelper.serializeObject( builder.getPackage() );
             ruleBase.addPackage( pkg );
 
             StatefulSession wm = ruleBase.newStatefulSession();
@@ -491,7 +504,7 @@
             builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1.drl" ) ) );
 
             ruleBase = RuleBaseFactory.newRuleBase();
-            pkg = serialisePackage( builder.getPackage() );
+            pkg = SerializationHelper.serializeObject( builder.getPackage() );
             ruleBase.addPackage( pkg );
 
             wm = ruleBase.newStatefulSession();
@@ -510,7 +523,7 @@
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_CollectDynamicRules1.drl" ) ) );
         final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
+        RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
         List list = new ArrayList();
@@ -530,6 +543,7 @@
         builder2.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_CollectDynamicRules2.drl" ) ) );
         final Package pkg2 = builder2.getPackage();
         ruleBase.addPackage( pkg2 );
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         // fire all rules is automatic
         assertEquals( 1,
@@ -607,7 +621,7 @@
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRulesWithSubnetwork1.drl" ) ) );
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRulesWithSubnetwork.drl" ) ) );
-        final Package pkg = serialisePackage( builder.getPackage() );
+        final Package pkg = SerializationHelper.serializeObject( builder.getPackage() );
 
         org.drools.reteoo.ReteooRuleBase reteooRuleBase = null;
         final RuleBase ruleBase = getRuleBase();
@@ -615,7 +629,7 @@
         ruleBase.addPackage( pkg );
         final PackageBuilder builder2 = new PackageBuilder();
         builder2.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRulesWithSubnetwork2.drl" ) ) );
-        ruleBase.addPackage( serialisePackage( builder2.getPackage() ) );
+        ruleBase.addPackage( SerializationHelper.serializeObject( builder2.getPackage() ) );
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
@@ -716,7 +730,7 @@
 
         final RuleBase ruleBase = getRuleBase();
         final String packageName = builder.getPackage().getName();
-        ruleBase.addPackage( serialisePackage( builder.getPackage() ) );
+        ruleBase.addPackage( SerializationHelper.serializeObject( builder.getPackage() ) );
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
         List results = new ArrayList();
@@ -746,20 +760,20 @@
         ruleBaseWM.removePackage( packageName );
         final PackageBuilder builder1 = new PackageBuilder();
         builder1.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRulesWithSubnetwork.drl" ) ) );
-        ruleBaseWM.addPackage( serialisePackage( builder1.getPackage() ) );
+        ruleBaseWM.addPackage( SerializationHelper.serializeObject( builder1.getPackage() ) );
         workingMemory.fireAllRules();
         assertEquals( 1, results.size() );
         assertEquals( 3, ((List) results.get(0)).size() );
         results.clear();
 
         ruleBaseWM.removePackage( packageName );
-        ruleBaseWM.addPackage( serialisePackage( builder1.getPackage() ) );
+        ruleBaseWM.addPackage( SerializationHelper.serializeObject( builder1.getPackage() ) );
         assertEquals( 1, results.size() );
         assertEquals( 3, ((List) results.get(0)).size() );
         results.clear();
 
         ruleBaseWM.removePackage( packageName );
-        ruleBaseWM.addPackage( serialisePackage( builder1.getPackage() ) );
+        ruleBaseWM.addPackage( SerializationHelper.serializeObject( builder1.getPackage() ) );
         assertEquals( 1, results.size() );
         assertEquals( 3, ((List) results.get(0)).size() );
         results.clear();
@@ -773,14 +787,14 @@
             //add and remove
             PackageBuilder builder = new PackageBuilder();
             builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRulesWithSubnetwork.drl" ) ) );
-            Package pkg = serialisePackage( builder.getPackage() );
+            Package pkg = SerializationHelper.serializeObject( builder.getPackage() );
             ruleBase.addPackage( pkg );
             ruleBase.removePackage( pkg.getName() );
 
             //add and remove again
             builder = new PackageBuilder();
             builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRulesWithSubnetwork.drl" ) ) );
-            pkg = serialisePackage( builder.getPackage() );
+            pkg = SerializationHelper.serializeObject( builder.getPackage() );
             ruleBase.addPackage( pkg );
             ruleBase.removePackage( pkg.getName() );
         } catch ( Exception e ) {
@@ -815,35 +829,4 @@
             return c;
         }
     }
-
-    protected Package serialisePackage(Package pkg) {
-        try {
-            byte[] bytes = serializeOut( pkg );
-            return (Package) serializeIn( bytes, pkg.getDialectDatas().getClassLoader() );
-        } catch ( Exception e ) {
-            throw new RuntimeException( "trouble serialising package.",
-                                        e );
-        }
-    }
-
-    protected Object serializeIn(final byte[] bytes, ClassLoader classLoader) throws IOException,
-                                                    ClassNotFoundException {
-        final ObjectInput in = new DroolsObjectInputStream( new ByteArrayInputStream( bytes ), classLoader );
-        final Object obj = in.readObject();
-        in.close();
-        return obj;
-    }
-
-    protected byte[] serializeOut(final Object obj) throws IOException {
-        // Serialize to a byte array
-        final ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        final ObjectOutput out = new DroolsObjectOutputStream( bos );
-        out.writeObject( obj );
-        out.close();
-
-        // Get the bytes of the serialized object
-        final byte[] bytes = bos.toByteArray();
-        return bytes;
-    }
-
 }

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 17:24:13 UTC (rev 18930)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/reteoo/ClassObjectTypeConf.java	2008-03-13 18:00:23 UTC (rev 18931)
@@ -100,6 +100,28 @@
         defineShadowProxyData( clazz );
     }
 
+    public void readExternal(ObjectInput stream) throws IOException,
+                                                     ClassNotFoundException {
+        ruleBase = (InternalRuleBase)stream.readObject();
+        cls = (Class)stream.readObject();
+        objectTypeNodes = (ObjectTypeNode[])stream.readObject();
+        shadowEnabled = stream.readBoolean();
+        shadowClass = (Class)stream.readObject();
+        concreteObjectTypeNode = (ObjectTypeNode)stream.readObject();
+        entryPoint = (EntryPoint)stream.readObject();
+        defineShadowProxyData(cls);
+    }
+
+    public void writeExternal(ObjectOutput stream) throws IOException {
+        stream.writeObject(ruleBase);
+        stream.writeObject(cls);
+        stream.writeObject(objectTypeNodes);
+        stream.writeBoolean(shadowEnabled);
+        stream.writeObject(shadowClass);
+        stream.writeObject(concreteObjectTypeNode);
+        stream.writeObject(entryPoint);
+    }
+
     public boolean isAssignableFrom(Object object) {
         return this.cls.isAssignableFrom( (Class) object );
     }
@@ -227,29 +249,6 @@
         return ret;
     }
 
-    public void readExternal(ObjectInput stream) throws IOException,
-                                                     ClassNotFoundException {
-        this.ruleBase = (InternalRuleBase)stream.readObject();
-
-        cls = (Class)stream.readObject();
-        objectTypeNodes = (ObjectTypeNode[])stream.readObject();
-        shadowEnabled = stream.readBoolean();
-        shadowClass = (Class)stream.readObject();
-        concreteObjectTypeNode = (ObjectTypeNode)stream.readObject();
-        entryPoint = (EntryPoint)stream.readObject();
-        defineShadowProxyData(cls);
-    }
-
-    public void writeExternal(ObjectOutput stream) throws IOException {
-        stream.writeObject(ruleBase);
-        stream.writeObject(cls);
-        stream.writeObject(objectTypeNodes);
-        stream.writeBoolean(shadowEnabled);
-        stream.writeObject(shadowClass);
-        stream.writeObject(concreteObjectTypeNode);
-        stream.writeObject(entryPoint);
-    }
-
     /**
      *
      */

Modified: labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/reteoo/EmptyObjectSinkAdapter.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/reteoo/EmptyObjectSinkAdapter.java	2008-03-13 17:24:13 UTC (rev 18930)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/reteoo/EmptyObjectSinkAdapter.java	2008-03-13 18:00:23 UTC (rev 18931)
@@ -51,4 +51,8 @@
         return 0;
     }
 
+    public boolean equals(Object obj) {
+        return obj instanceof EmptyObjectSinkAdapter;
+    }
+
 }

Modified: labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/reteoo/ObjectSource.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/reteoo/ObjectSource.java	2008-03-13 17:24:13 UTC (rev 18930)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/reteoo/ObjectSource.java	2008-03-13 18:00:23 UTC (rev 18931)
@@ -113,7 +113,7 @@
      *            <code>FactHandleImpl</code>.
      */
     protected void addObjectSink(final ObjectSink objectSink) {
-        if ( this.sink == EmptyObjectSinkAdapter.getInstance() ) {
+        if ( EmptyObjectSinkAdapter.getInstance().equals(this.sink) ) {
             this.sink = new SingleObjectSinkAdapter( objectSink );
         } else if ( this.sink instanceof SingleObjectSinkAdapter ) {
             final CompositeObjectSinkAdapter sinkAdapter = new CompositeObjectSinkAdapter( this.alphaNodeHashingThreshold );




More information about the jboss-svn-commits mailing list