[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