[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