[jboss-svn-commits] JBL Code SVN: r18902 - in labs/jbossrules/branches/ming-serialization/drools-compiler/src: main/java/org/drools/brms/client/modeldriven/brl and 11 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Mar 12 17:22:08 EDT 2008
Author: mingjin
Date: 2008-03-12 17:22:07 -0400 (Wed, 12 Mar 2008)
New Revision: 18902
Added:
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/SerializationHelper.java
Modified:
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/SuggestionCompletionEngine.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ActionFieldValue.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ActionInsertFact.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ActionRetractFact.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ActionSetField.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/CompositeFactPattern.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/CompositeFieldConstraint.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/DSLSentence.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/FactPattern.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ISingleFieldConstraint.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/PortableObject.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/RuleAttribute.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/RuleModel.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/ActionCol.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/ConditionCol.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/GuidedDecisionTable.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/ExecutionTrace.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FactData.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FieldData.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/RetractFact.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/Scenario.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyFact.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyField.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyRuleFired.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/descr/AccumulateDescr.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/descr/BaseDescr.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/descr/PackageDescr.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/testframework/TestingEventListener.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Cheese.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/CheeseEqual.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Cheesery.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/OrderItem.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Person.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Primitives.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/bpel/instance/BPELProcessInstanceFactory.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/brms/server/util/BRLPersitenceTest.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/DynamicRulesTest.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MVELTest.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/waltz/Stage.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/testframework/MockFactHandle.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/testframework/MockRuleBase.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java
Log:
serialization on rulebase is mostly working: except AccumulateTest and FirstOrderLogicTest
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/SuggestionCompletionEngine.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/SuggestionCompletionEngine.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/SuggestionCompletionEngine.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -4,6 +4,9 @@
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
+import java.io.ObjectOutput;
+import java.io.IOException;
+import java.io.ObjectInput;
import org.drools.brms.client.modeldriven.brl.ActionFieldList;
import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
@@ -103,6 +106,26 @@
public DSLSentence[] conditionDSLSentences = new DSLSentence[0];
public DSLSentence[] actionDSLSentences = new DSLSentence[0];
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ factTypes = (String[])in.readObject();
+ fieldsForType = (Map)in.readObject();
+ fieldTypes = (Map)in.readObject();
+ globalTypes = (Map)in.readObject();
+ dataEnumLists = (Map)in.readObject();
+ conditionDSLSentences = (DSLSentence[])in.readObject();
+ actionDSLSentences = (DSLSentence[])in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(factTypes);
+ out.writeObject(fieldsForType);
+ out.writeObject(fieldTypes);
+ out.writeObject(globalTypes);
+ out.writeObject(dataEnumLists);
+ out.writeObject(conditionDSLSentences);
+ out.writeObject(actionDSLSentences);
+ }
+
/**
* This is used to calculate what fields an enum list may depend on. Optional.
*/
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ActionFieldValue.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ActionFieldValue.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ActionFieldValue.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,8 +1,12 @@
package org.drools.brms.client.modeldriven.brl;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.io.IOException;
+
/**
* Holds field and value for "action" parts of the rule.
- *
+ *
* @author Michael Neale
*/
public class ActionFieldValue
@@ -11,7 +15,7 @@
public String field;
public String value;
-
+
/**
* This is the datatype archectype (eg String, Numeric etc).
*/
@@ -28,13 +32,25 @@
public ActionFieldValue() {
}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ field = (String)in.readObject();
+ value = (String)in.readObject();
+ type = (String)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(field);
+ out.writeObject(value);
+ out.writeObject(type);
+ }
+
/**
- * This will return true if the value is really a "formula" - in
+ * This will return true if the value is really a "formula" - in
* the sense of like an excel spreadsheet.
- *
- * If it IS a formula, then the value should never be turned into a
+ *
+ * If it IS a formula, then the value should never be turned into a
* string, always left as-is.
- *
+ *
*/
public boolean isFormula() {
if ( this.value == null ) {
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ActionInsertFact.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ActionInsertFact.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ActionInsertFact.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,5 +1,9 @@
package org.drools.brms.client.modeldriven.brl;
+import java.io.ObjectInput;
+import java.io.IOException;
+import java.io.ObjectOutput;
+
/**
* This is used when asserting a new fact.
* @author Michael Neale
@@ -17,4 +21,11 @@
public ActionInsertFact() {
}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ factType = (String)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(factType);
+ }
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ActionRetractFact.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ActionRetractFact.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ActionRetractFact.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,5 +1,9 @@
package org.drools.brms.client.modeldriven.brl;
+import java.io.ObjectOutput;
+import java.io.IOException;
+import java.io.ObjectInput;
+
/**
* This is used to specify that the bound fact should be retracted
* when the rule fires.
@@ -19,4 +23,11 @@
public String variableName;
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ variableName = (String)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(variableName);
+ }
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ActionSetField.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ActionSetField.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ActionSetField.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,10 +1,14 @@
package org.drools.brms.client.modeldriven.brl;
+import java.io.ObjectOutput;
+import java.io.IOException;
+import java.io.ObjectInput;
+
/**
* For setting a field on a bound LHS variable or a global.
- * If setting a field on a fact bound variable, this will
+ * If setting a field on a fact bound variable, this will
* NOT notify the engine of any changes (unless done outside of the engine).
- *
+ *
* @author Michael Neale
*/
public class ActionSetField extends ActionFieldList {
@@ -19,4 +23,11 @@
public String variable;
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ variable = (String)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(variable);
+ }
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/CompositeFactPattern.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/CompositeFactPattern.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/CompositeFactPattern.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,8 +1,12 @@
package org.drools.brms.client.modeldriven.brl;
+import java.io.ObjectOutput;
+import java.io.ObjectInput;
+import java.io.IOException;
+
/**
* Represents first order logic like Or, Not, Exists.
- *
+ *
* @author Michael Neale
*/
public class CompositeFactPattern
@@ -16,13 +20,24 @@
* this will one of: [Not, Exist, Or]
*/
public String type;
-
+
/**
* The patterns.
*/
public FactPattern[] patterns;
-
+
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ type = (String)in.readObject();
+ patterns = (FactPattern[])in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(type);
+ out.writeObject(patterns);
+ }
+
+
/**
* This type should be from the contants in this class of course.
*/
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/CompositeFieldConstraint.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/CompositeFieldConstraint.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/CompositeFieldConstraint.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,5 +1,9 @@
package org.drools.brms.client.modeldriven.brl;
+import java.io.ObjectInput;
+import java.io.IOException;
+import java.io.ObjectOutput;
+
/**
* This is a field constraint that may span multiple fields.
*
@@ -35,6 +39,15 @@
*/
public FieldConstraint[] constraints = null;
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ compositeJunctionType = (String)in.readObject();
+ constraints = (FieldConstraint[])in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(compositeJunctionType);
+ out.writeObject(constraints);
+ }
//Note this is a bit ugly, GWT had some early limitations which required this to kind of work this way.
//when generics are available, could probably switch to it, but remember this is persistent stuff
//so don't want to break backwards compat (as XStream is used)
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/DSLSentence.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/DSLSentence.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/DSLSentence.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,5 +1,9 @@
package org.drools.brms.client.modeldriven.brl;
+import java.io.ObjectOutput;
+import java.io.ObjectInput;
+import java.io.IOException;
+
/**
* This represents a DSL sentence.
* @author Michael Neale
@@ -11,6 +15,13 @@
public String sentence;
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ sentence = (String)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(sentence);
+ }
/**
* This will strip off any residual "{" stuff...
*/
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/FactPattern.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/FactPattern.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/FactPattern.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,9 +1,13 @@
package org.drools.brms.client.modeldriven.brl;
+import java.io.IOException;
+import java.io.ObjectOutput;
+import java.io.ObjectInput;
+
/**
* A fact pattern is a declaration of a fact type, and its constraint,
* and perhaps a variable that is it bound to
- * It is the equivalent of a "pattern" in drools terms.
+ * It is the equivalent of a "pattern" in drools terms.
* @author Michael Neale
*
*/
@@ -24,8 +28,19 @@
//this.constraints = new CompositeFieldConstraint();
}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ constraintList = (CompositeFieldConstraint)in.readObject();
+ factType = (String)in.readObject();
+ boundName = (String)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(constraintList);
+ out.writeObject(factType);
+ out.writeObject(boundName);
+ }
/**
- * This will add a top level constraint.
+ * This will add a top level constraint.
*/
public void addConstraint(final FieldConstraint constraint) {
if (constraintList == null) constraintList = new CompositeFieldConstraint();
@@ -46,12 +61,12 @@
return false;
}
}
-
+
/**
* This will return the list of field constraints that are in the root
* CompositeFieldConstraint object.
* If there is no root, then an empty array will be returned.
- *
+ *
* @return an empty array, or the list of constraints (which may be composites).
*/
public FieldConstraint[] getFieldConstraints() {
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ISingleFieldConstraint.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ISingleFieldConstraint.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/ISingleFieldConstraint.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,5 +1,9 @@
package org.drools.brms.client.modeldriven.brl;
+import java.io.IOException;
+import java.io.ObjectOutput;
+import java.io.ObjectInput;
+
/**
* Represents a constraint, which may be part of a direct field constraint or a connective.
* @author Michael Neale
@@ -10,13 +14,13 @@
PortableObject {
/**
- * This is used only when constraint is first created.
+ * This is used only when constraint is first created.
* This means that there is no value yet for the constraint.
*/
public static final int TYPE_UNDEFINED = 0;
/**
- * This may be string, or number, anything really.
+ * This may be string, or number, anything really.
*/
public static final int TYPE_LITERAL = 1;
@@ -37,11 +41,20 @@
public static final int TYPE_ENUM = 4;
/**
- * The fieldName and fieldBinding is not used in the case of a predicate.
+ * The fieldName and fieldBinding is not used in the case of a predicate.
*/
public static final int TYPE_PREDICATE = 5;
public String value;
public int constraintValueType;
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ value = (String)in.readObject();
+ constraintValueType = in.readInt();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(value);
+ out.writeInt(constraintValueType);
+ }
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/PortableObject.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/PortableObject.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/PortableObject.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -5,7 +5,7 @@
/**
* This is the marker interface for portable Ajaxy type objects.
* This is replaced in the BRMS with a GWT specific one, and only used here so the RuleModel
- * can compile. It does nothing, and is strictly a marker interface only.
+ * can compile. It does nothing, and is strictly a marker interface only.
* @author Michael Neale
*
*/
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/RuleAttribute.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/RuleAttribute.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/RuleAttribute.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,5 +1,9 @@
package org.drools.brms.client.modeldriven.brl;
+import java.io.ObjectOutput;
+import java.io.IOException;
+import java.io.ObjectInput;
+
/**
* This holds values for rule attributes (eg salience, agenda-group etc).
* @author Michael Neale
@@ -23,6 +27,16 @@
public RuleAttribute() {
}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ attributeName = (String)in.readObject();
+ value = (String)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(attributeName);
+ out.writeObject(value);
+ }
+
public String toString() {
StringBuffer ret = new StringBuffer();
ret.append( this.attributeName );
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/RuleModel.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/RuleModel.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brl/RuleModel.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -2,6 +2,9 @@
import java.util.ArrayList;
import java.util.List;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
public class RuleModel
implements
@@ -19,6 +22,21 @@
public IPattern[] lhs = new IPattern[0];
public IAction[] rhs = new IAction[0];
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ name = (String)in.readObject();
+ modelVersion = (String)in.readObject();
+ attributes = (RuleAttribute[])in.readObject();
+ lhs = (IPattern[])in.readObject();
+ rhs = (IAction[])in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(name);
+ out.writeObject(modelVersion);
+ out.writeObject(attributes);
+ out.writeObject(lhs);
+ out.writeObject(rhs);
+ }
/**
* This will return the fact pattern that a variable is bound to.
*
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/ActionCol.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/ActionCol.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/ActionCol.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -2,7 +2,19 @@
import org.drools.brms.client.modeldriven.brl.PortableObject;
+import java.io.ObjectOutput;
+import java.io.ObjectInput;
+import java.io.IOException;
+
public class ActionCol implements PortableObject {
- public String header;
+ public String header;
+
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ header = (String)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(header);
+ }
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/ConditionCol.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/ConditionCol.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/ConditionCol.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -2,8 +2,19 @@
import org.drools.brms.client.modeldriven.brl.PortableObject;
+import java.io.ObjectOutput;
+import java.io.IOException;
+import java.io.ObjectInput;
+
public class ConditionCol implements PortableObject {
- public String header;
+ public String header;
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ header = (String)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(header);
+ }
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/GuidedDecisionTable.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/GuidedDecisionTable.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/GuidedDecisionTable.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -2,6 +2,9 @@
import java.util.ArrayList;
import java.util.List;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
import org.drools.brms.client.modeldriven.brl.PortableObject;
@@ -20,4 +23,15 @@
public GuidedDecisionTable() {}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ conditionCols = (List)in.readObject();
+ actionCols = (List)in.readObject();
+ data = (String[][])in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(conditionCols);
+ out.writeObject(actionCols);
+ out.writeObject(data);
+ }
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/ExecutionTrace.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/ExecutionTrace.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/ExecutionTrace.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,6 +1,9 @@
package org.drools.brms.client.modeldriven.testing;
import java.io.Serializable;
+import java.io.IOException;
+import java.io.ObjectOutput;
+import java.io.ObjectInput;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
@@ -35,5 +38,16 @@
public ExecutionTrace() {}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ scenarioSimulatedDate = (Date)in.readObject();
+ executionTimeResult = in.readLong();
+ numberOfRulesFired = in.readLong();
+ }
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(scenarioSimulatedDate);
+ out.writeLong(executionTimeResult);
+ out.writeLong(numberOfRulesFired);
+ }
+
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FactData.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FactData.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FactData.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -2,39 +2,55 @@
import java.util.ArrayList;
import java.util.List;
+import java.io.ObjectOutput;
+import java.io.IOException;
+import java.io.ObjectInput;
public class FactData implements Fixture {
- /**
- * The type (class)
- */
- public String type;
+ /**
+ * The type (class)
+ */
+ public String type;
- /**
- * The name of the "variable"
- */
- public String name;
+ /**
+ * The name of the "variable"
+ */
+ public String name;
- /**
- * @gwt.typeArgs <org.drools.brms.client.modeldriven.testing.FactData>
- */
- public List fieldData = new ArrayList();
+ /**
+ * @gwt.typeArgs <org.drools.brms.client.modeldriven.testing.FactData>
+ */
+ public List fieldData = new ArrayList();
- /**
- * If its a modify, obviously we are modifying existing data in working memory.
- */
- public boolean isModify;
+ /**
+ * If its a modify, obviously we are modifying existing data in working memory.
+ */
+ public boolean isModify;
- public FactData() {}
- public FactData(String type, String name, List fieldData, boolean modify) {
+ public FactData() {}
+ public FactData(String type, String name, List fieldData, boolean modify) {
- this.type = type;
- this.name = name;
- this.fieldData = fieldData;
- this.isModify = modify;
+ this.type = type;
+ this.name = name;
+ this.fieldData = fieldData;
+ this.isModify = modify;
- }
+ }
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ type = (String)in.readObject();
+ name = (String)in.readObject();
+ fieldData = (List)in.readObject();
+ isModify = in.readBoolean();
+ }
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(type);
+ out.writeObject(name);
+ out.writeObject(fieldData);
+ out.writeBoolean(isModify);
+ }
+
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FieldData.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FieldData.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FieldData.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -2,23 +2,36 @@
import org.drools.brms.client.modeldriven.brl.PortableObject;
+import java.io.ObjectOutput;
+import java.io.IOException;
+import java.io.ObjectInput;
+
public class FieldData implements PortableObject {
- /** the name of the field */
- public String name;
+ /** the name of the field */
+ public String name;
- /** The value of the field to be set to.
- * This will either be a literal value (which will be coerced by MVEL).
- * Or if it starts with an "=" then it is an EL that will be evaluated to yield a value.
- */
- public String value;
+ /** The value of the field to be set to.
+ * This will either be a literal value (which will be coerced by MVEL).
+ * Or if it starts with an "=" then it is an EL that will be evaluated to yield a value.
+ */
+ public String value;
- public FieldData() {}
- public FieldData(String name, String value) {
- this.name = name;
- this.value = value;
- }
+ public FieldData() {}
+ public FieldData(String name, String value) {
+ this.name = name;
+ this.value = value;
+ }
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ name = (String)in.readObject();
+ value = (String)in.readObject();
+ }
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(name);
+ out.writeObject(value);
+ }
+
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/RetractFact.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/RetractFact.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/RetractFact.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,5 +1,9 @@
package org.drools.brms.client.modeldriven.testing;
+import java.io.ObjectInput;
+import java.io.IOException;
+import java.io.ObjectOutput;
+
/**
* Retract a named fact.
* @author Michael Neale
@@ -7,11 +11,18 @@
*/
public class RetractFact implements Fixture {
- public RetractFact() {}
- public RetractFact(String s) {
- this.name = s;
- }
+ public RetractFact() {}
+ public RetractFact(String s) {
+ this.name = s;
+ }
- public String name;
+ public String name;
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ name = (String)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(name);
+ }
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/Scenario.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/Scenario.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/Scenario.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,6 +1,9 @@
package org.drools.brms.client.modeldriven.testing;
import java.io.Serializable;
+import java.io.ObjectInput;
+import java.io.IOException;
+import java.io.ObjectOutput;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
@@ -55,7 +58,23 @@
public boolean inclusive = false;
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ maxRuleFirings = in.readInt();
+ globals = (List)in.readObject();
+ fixtures = (List)in.readObject();
+ lastRunResult = (Date)in.readObject();
+ rules = (List)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeInt(maxRuleFirings);
+ out.writeObject(globals);
+ out.writeObject(fixtures);
+ out.writeObject(lastRunResult);
+ out.writeObject(rules);
+ }
+
/**
* Returns true if this was a totally successful scenario, based on the results contained.
*/
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyFact.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyFact.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyFact.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -2,6 +2,9 @@
import java.util.ArrayList;
import java.util.List;
+import java.io.ObjectOutput;
+import java.io.ObjectInput;
+import java.io.IOException;
/**
* This is for making assertions over a specific facts value/state AFTER execution.
@@ -10,29 +13,40 @@
*/
public class VerifyFact implements Expectation {
- /**
- * @gwt.typeArgs <org.drools.brms.client.modeldriven.testing.VerifyField>
- */
- public List fieldValues = new ArrayList();
- public String name;
- public String description;
+ /**
+ * @gwt.typeArgs <org.drools.brms.client.modeldriven.testing.VerifyField>
+ */
+ public List fieldValues = new ArrayList();
+ public String name;
+ public String description;
- public VerifyFact() {}
- public VerifyFact(String factName, List fieldValues) {
- this.name = factName;
- this.fieldValues = fieldValues;
- }
+ public VerifyFact() {}
+ public VerifyFact(String factName, List fieldValues) {
+ this.name = factName;
+ this.fieldValues = fieldValues;
+ }
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ fieldValues = (List)in.readObject();
+ name = (String)in.readObject();
+ description = (String)in.readObject();
+ }
- public boolean wasSuccessful() {
- for (int i = 0; i < fieldValues.size(); i++) {
- VerifyField vf = (VerifyField) fieldValues.get(i);
- if (! vf.successResult.booleanValue()) {
- return false;
- }
- }
- return true;
- }
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(fieldValues);
+ out.writeObject(name);
+ out.writeObject(description);
+ }
+ public boolean wasSuccessful() {
+ for (int i = 0; i < fieldValues.size(); i++) {
+ VerifyField vf = (VerifyField) fieldValues.get(i);
+ if (! vf.successResult.booleanValue()) {
+ return false;
+ }
+ }
+ return true;
+ }
+
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyField.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyField.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyField.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -2,31 +2,48 @@
import org.drools.brms.client.modeldriven.brl.PortableObject;
+import java.io.ObjectOutput;
+import java.io.IOException;
+import java.io.ObjectInput;
+
public class VerifyField implements PortableObject {
- public String fieldName;
- public String expected;
+ public String fieldName;
+ public String expected;
- public String actualResult;
- public Boolean successResult;
+ public String actualResult;
+ public Boolean successResult;
- /**
- * This is a natural language explanation of the outcome for reporting purposes.
- */
- public String explanation;
+ /**
+ * This is a natural language explanation of the outcome for reporting purposes.
+ */
+ public String explanation;
- /**
- * Operator is generally "==" or "!=" - an MVEL operator.
- */
- public String operator = "==";
+ /**
+ * Operator is generally "==" or "!=" - an MVEL operator.
+ */
+ public String operator = "==";
- public VerifyField() {}
+ public VerifyField() {}
- public VerifyField(String fieldName, String expected, String operator) {
- this.fieldName = fieldName;
- this.expected = expected;
- this.operator = operator;
- }
+ public VerifyField(String fieldName, String expected, String operator) {
+ this.fieldName = fieldName;
+ this.expected = expected;
+ this.operator = operator;
+ }
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ fieldName = (String)in.readObject();
+ expected = (String)in.readObject();
+ actualResult = (String)in.readObject();
+ successResult = in.readBoolean();
+ }
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(fieldName);
+ out.writeObject(expected);
+ out.writeObject(actualResult);
+ out.writeBoolean(successResult);
+ }
+
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyRuleFired.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyRuleFired.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyRuleFired.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,37 +1,57 @@
package org.drools.brms.client.modeldriven.testing;
+import java.io.IOException;
+import java.io.ObjectOutput;
+import java.io.ObjectInput;
+
public class VerifyRuleFired implements Expectation {
- public String ruleName;
- public Integer expectedCount;
+ public String ruleName;
+ public Integer expectedCount;
- /**
- * This is a natural language explanation of this verification.
- * For reporting purposes.
- */
- public String explanation;
+ /**
+ * This is a natural language explanation of this verification.
+ * For reporting purposes.
+ */
+ public String explanation;
- /**
- * If this is true, then we expect it to fire at least once.
- * False means it should not fire at all (this is an alternative
- * to specifying an expected count).
- */
- public Boolean expectedFire;
+ /**
+ * If this is true, then we expect it to fire at least once.
+ * False means it should not fire at all (this is an alternative
+ * to specifying an expected count).
+ */
+ public Boolean expectedFire;
+ public Boolean successResult;
+ public Integer actualResult;
- public VerifyRuleFired() {}
- public VerifyRuleFired(String ruleName, Integer expectedCount, Boolean expectedFire) {
- this.ruleName = ruleName;
- this.expectedCount = expectedCount;
- this.expectedFire = expectedFire;
- }
+ public VerifyRuleFired() {}
+ public VerifyRuleFired(String ruleName, Integer expectedCount, Boolean expectedFire) {
+ this.ruleName = ruleName;
+ this.expectedCount = expectedCount;
+ this.expectedFire = expectedFire;
+ }
- public Boolean successResult;
- public Integer actualResult;
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ ruleName = (String)in.readObject();
+ expectedCount = in.readInt();
+ explanation = (String)in.readObject();
+ expectedFire = in.readBoolean();
+ successResult = in.readBoolean();
+ actualResult = in.readInt();
+ }
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(ruleName);
+ out.writeInt(expectedCount);
+ out.writeObject(explanation);
+ out.writeBoolean(expectedFire);
+ out.writeBoolean(successResult);
+ out.writeInt(actualResult);
+ }
+
+ public boolean wasSuccessful() {
+ return successResult.booleanValue();
+ }
- public boolean wasSuccessful() {
- return successResult.booleanValue();
- }
-
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/descr/AccumulateDescr.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/descr/AccumulateDescr.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/descr/AccumulateDescr.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,12 +1,12 @@
/*
* Copyright 2005 JBoss Inc
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -18,6 +18,9 @@
import java.util.Collections;
import java.util.List;
+import java.io.ObjectOutput;
+import java.io.IOException;
+import java.io.ObjectInput;
/**
* A descr class for accumulate node
@@ -40,6 +43,34 @@
private boolean externalFunction = false;
private String functionIdentifier;
private String expression;
+
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ super.readExternal(in);
+ input = (BaseDescr)in.readObject();
+ initCode = (String)in.readObject();
+ actionCode = (String)in.readObject();
+ reverseCode = (String)in.readObject();
+ resultCode = (String)in.readObject();
+ declarations = (String[])in.readObject();
+ className = (String)in.readObject();
+ externalFunction = in.readBoolean();
+ functionIdentifier = (String)in.readObject();
+ expression = (String)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ super.writeExternal(out);
+ out.writeObject(input);
+ out.writeObject(initCode);
+ out.writeObject(actionCode);
+ out.writeObject(reverseCode);
+ out.writeObject(resultCode);
+ out.writeObject(declarations);
+ out.writeObject(className);
+ out.writeBoolean(externalFunction);
+ out.writeObject(functionIdentifier);
+ out.writeObject(expression);
+ }
public int getLine() {
return this.input.getLine();
@@ -92,8 +123,8 @@
public void addDescr(final BaseDescr patternDescr) {
throw new UnsupportedOperationException( "Can't add descriptors to " + this.getClass().getName() );
}
-
- public void insertBeforeLast(final Class clazz ,final BaseDescr baseDescr ) {
+
+ public void insertBeforeLast(final Class clazz ,final BaseDescr baseDescr ) {
throw new UnsupportedOperationException( "Can't add descriptors to " + this.getClass().getName() );
}
@@ -154,19 +185,19 @@
}
public void setInput(BaseDescr input) {
- this.input = input;
+ this.input = input;
}
-
+
public boolean isSinglePattern() {
- return this.input instanceof PatternDescr;
+ return this.input instanceof PatternDescr;
}
public boolean isMultiPattern() {
- return ! ( this.input instanceof PatternDescr );
+ return ! ( this.input instanceof PatternDescr );
}
public boolean hasValidInput() {
- // TODO: need to check that there are no OR occurences
+ // TODO: need to check that there are no OR occurences
return this.input != null;
}
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/descr/BaseDescr.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/descr/BaseDescr.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/descr/BaseDescr.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -2,13 +2,13 @@
/*
* Copyright 2005 JBoss Inc
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -16,14 +16,17 @@
* limitations under the License.
*/
-import java.io.Serializable;
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
/**
* This is the super type for all pattern AST nodes.
*/
public class BaseDescr
implements
- Serializable {
+ Externalizable {
private static final long serialVersionUID = 400L;
private int startCharacter = -1;
@@ -34,6 +37,26 @@
private int endColumn = -1;
private String text = "";
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ startCharacter = in.readInt();
+ endCharacter = in.readInt();
+ line = in.readInt();
+ column = in.readInt();
+ endLine = in.readInt();
+ endColumn = in.readInt();
+ text = (String)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeInt(startCharacter);
+ out.writeInt(endCharacter);
+ out.writeInt(line);
+ out.writeInt(column);
+ out.writeInt(endLine);
+ out.writeInt(endColumn);
+ out.writeObject(text);
+ }
+
public String getText() {
return text;
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/descr/PackageDescr.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/descr/PackageDescr.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/descr/PackageDescr.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -2,13 +2,13 @@
/*
* Copyright 2005 JBoss Inc
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -20,14 +20,17 @@
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
+import java.io.ObjectInput;
+import java.io.IOException;
+import java.io.ObjectOutput;
public class PackageDescr extends BaseDescr {
/**
- *
+ *
*/
private static final long serialVersionUID = 400L;
- private final String name;
- private final String documentation;
+ private String name;
+ private String documentation;
private List imports = Collections.EMPTY_LIST;
private List functionImports = Collections.EMPTY_LIST;
@@ -37,6 +40,9 @@
private List functions = Collections.EMPTY_LIST;
private List rules = Collections.EMPTY_LIST;
+ public PackageDescr() {
+ }
+
public PackageDescr(final String name) {
this( name,
"" );
@@ -48,6 +54,32 @@
this.documentation = documentation;
}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ super.readExternal(in);
+ name = (String)in.readObject();
+ documentation = (String)in.readObject();
+ imports = (List)in.readObject();
+ functionImports = (List)in.readObject();
+ attributes = (List)in.readObject();
+ globals = (List)in.readObject();
+ factTemplates = (List)in.readObject();
+ functions = (List)in.readObject();
+ rules = (List)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ super.writeExternal(out);
+ out.writeObject(name);
+ out.writeObject(documentation);
+ out.writeObject(imports);
+ out.writeObject(functionImports);
+ out.writeObject(attributes);
+ out.writeObject(globals);
+ out.writeObject(factTemplates);
+ out.writeObject(functions);
+ out.writeObject(rules);
+ }
+
public String getName() {
return this.name;
}
@@ -138,7 +170,7 @@
}
if (!overridden) {
rule.addAttribute( at );
- }
+ }
}
this.rules.add( rule );
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -19,6 +19,9 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.io.ObjectOutput;
+import java.io.ObjectInput;
+import java.io.IOException;
import org.drools.compiler.Dialect;
import org.drools.rule.Dialectable;
@@ -41,6 +44,9 @@
private String className;
+ public RuleDescr() {
+ }
+
public RuleDescr(final String name) {
this( name,
"" );
@@ -53,14 +59,44 @@
this.documentation = documentation;
}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ super.readExternal(in);
+ name = (String)in.readObject();
+ dialect = (String)in.readObject();
+ documentation = (String)in.readObject();
+ consequence = in.readObject();
+ lhs = (AndDescr)in.readObject();
+ consequenceLine = in.readInt();
+ consequencePattern = in.readInt();
+ offset = in.readInt();
+ attributes = (List)in.readObject();
+ salience = (String)in.readObject();
+ className = (String)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ super.writeExternal(out);
+ out.writeObject(name);
+ out.writeObject(dialect);
+ out.writeObject(documentation);
+ out.writeObject(consequence);
+ out.writeObject(lhs);
+ out.writeInt(consequenceLine);
+ out.writeInt(consequencePattern);
+ out.writeInt(offset);
+ out.writeObject(attributes);
+ out.writeObject(salience);
+ out.writeObject(className);
+ }
+
public String getName() {
return this.name;
}
-
+
public String getDialect() {
return this.dialect;
}
-
+
public void setDialect(String dialect) {
this.dialect = dialect;
}
@@ -94,12 +130,12 @@
if ( this.attributes == Collections.EMPTY_LIST ) {
this.attributes = new ArrayList();
}
-
+
if ( "dialect".equals( attribute.getName() ) ) {
// set dialect specifically as its to drive the build process.
this.dialect = attribute.getValue();
}
-
+
this.attributes.add( attribute );
}
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/testframework/TestingEventListener.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/testframework/TestingEventListener.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/testframework/TestingEventListener.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -4,6 +4,9 @@
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
+import java.io.IOException;
+import java.io.ObjectOutput;
+import java.io.ObjectInput;
import org.drools.RuleBase;
import org.drools.WorkingMemory;
@@ -161,5 +164,12 @@
public void evaluate(KnowledgeHelper knowledgeHelper, WorkingMemory workingMemory) throws Exception {
}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+
+ }
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Cheese.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Cheese.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Cheese.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,5 +1,8 @@
package org.drools;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
import java.io.Serializable;
import java.util.Date;
@@ -37,12 +40,12 @@
public Cheese() {
}
-
+
public Cheese(final String type) {
super();
this.type = type;
this.price = 0;
- }
+ }
public Cheese(final String type,
final int price) {
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/CheeseEqual.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/CheeseEqual.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/CheeseEqual.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,16 +1,19 @@
package org.drools;
-import java.io.Serializable;
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
/*
* Copyright 2005 JBoss Inc
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -20,9 +23,9 @@
public class CheeseEqual
implements
- Serializable {
+ Externalizable {
/**
- *
+ *
*/
private static final long serialVersionUID = 400L;
protected String type;
@@ -39,6 +42,16 @@
this.price = price;
}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ type = (String)in.readObject();
+ price = in.readInt();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(type);
+ out.writeInt(price);
+ }
+
public int getPrice() {
return this.price;
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Cheesery.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Cheesery.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Cheesery.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -2,13 +2,13 @@
/*
* Copyright 2005 JBoss Inc
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -16,27 +16,44 @@
* limitations under the License.
*/
-import java.io.Serializable;
+import java.io.Externalizable;
+import java.io.ObjectOutput;
+import java.io.IOException;
+import java.io.ObjectInput;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Cheesery
implements
- Serializable {
+ Externalizable {
/**
- *
+ *
*/
private static final long serialVersionUID = 400L;
public final static int MAKING_CHEESE = 0;
public final static int SELLING_CHEESE = 1;
- private final List cheeses = new ArrayList();
+ private List cheeses = new ArrayList();
private int status;
private int totalAmount;
private Maturity maturity;
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ cheeses = (List)in.readObject();
+ status = in.readInt();
+ totalAmount = in.readInt();
+ maturity = (Maturity)in.readObject();
+
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(cheeses);
+ out.writeInt(status);
+ out.writeInt(totalAmount);
+ out.writeObject(maturity);
+ }
public List getCheeses() {
return this.cheeses;
}
@@ -78,16 +95,27 @@
this.totalAmount = totalAmount;
}
- public static class Maturity {
+ public static class Maturity implements Externalizable {
public static final Maturity YOUNG = new Maturity( "young" );
public static final Maturity OLD = new Maturity( "old" );
private String age;
+ public Maturity() {
+ }
+
public Maturity(final String age) {
this.age = age;
}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ age = (String)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(age);
+
+ }
public String toString() {
return "[Maturity age='" + this.age + "']";
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/OrderItem.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/OrderItem.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/OrderItem.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,12 +1,12 @@
/*
* Copyright 2006 JBoss Inc
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -16,16 +16,21 @@
package org.drools;
+import java.io.Externalizable;
+import java.io.ObjectInput;
+import java.io.IOException;
+import java.io.ObjectOutput;
+
/**
* @author etirelli
*
*/
-public class OrderItem implements java.io.Serializable {
+public class OrderItem implements Externalizable {
private static final long serialVersionUID = -7287814895557751224L;
-
+
public static final int TYPE_BOOK = 1;
public static final int TYPE_CD = 2;
-
+
private String name;
private int type;
private int price;
@@ -52,6 +57,22 @@
this.price = price;
}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ name = (String)in.readObject();
+ type = in.readInt();
+ price = in.readInt();
+ seq = in.readInt();
+ order = (Order)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(name);
+ out.writeInt(type);
+ out.writeInt(price);
+ out.writeInt(seq);
+ out.writeObject(order);
+ }
+
public String getName() {
return name;
}
@@ -59,11 +80,11 @@
public void setName(String name) {
this.name = name;
}
-
+
public int getType() {
return type;
}
-
+
public void setType(int type) {
this.type = type;
}
@@ -141,7 +162,7 @@
}
return true;
}
-
+
public String toString() {
return "OrderItem( order="+this.getOrder()+" seq="+this.getSeq()+")";
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Person.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Person.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Person.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,5 +1,9 @@
package org.drools;
+import java.io.Externalizable;
+import java.io.ObjectOutput;
+import java.io.IOException;
+import java.io.ObjectInput;
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigInteger;
@@ -11,7 +15,7 @@
Serializable,
PersonInterface {
/**
- *
+ *
*/
private static final long serialVersionUID = 400L;
private String name;
@@ -30,7 +34,34 @@
private Cheese cheese;
private List addresses = new ArrayList();
-
+
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ name = (String)in.readObject();
+ likes = (String)in.readObject();
+ age = in.readInt();
+ bigDecimal = (BigDecimal)in.readObject();
+ bigInteger = (BigInteger)in.readObject();
+ hair = (String)in.readObject();
+ sex = in.readChar();
+ alive = in.readBoolean();
+ status = (String)in.readObject();
+ cheese = (Cheese)in.readObject();
+ addresses = (List)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(name);
+ out.writeObject(likes);
+ out.writeObject(bigDecimal);
+ out.writeObject(bigInteger);
+ out.writeObject(hair);
+ out.writeChar(sex);
+ out.writeBoolean(alive);
+ out.writeObject(status);
+ out.writeObject(cheese);
+ out.writeObject(addresses);
+ }
+
public List getAddresses() {
return addresses;
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Primitives.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Primitives.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/Primitives.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,16 +1,20 @@
package org.drools;
import java.util.Arrays;
+import java.io.ObjectOutput;
+import java.io.ObjectInput;
+import java.io.IOException;
+import java.io.Serializable;
/*
* Copyright 2005 JBoss Inc
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -18,7 +22,7 @@
* limitations under the License.
*/
-public class Primitives implements java.io.Serializable {
+public class Primitives implements Serializable {
private static final long serialVersionUID = -3006488134941876318L;
@@ -37,9 +41,9 @@
private Object[] arrayAttribute;
private int[] primitiveArrayAttribute;
private String[] stringArray;
-
+
private Boolean booleanWrapper;
-
+
private Object object;
public boolean isBooleanPrimitive() {
@@ -209,7 +213,7 @@
} else if ( !stringAttribute.equals( other.stringAttribute ) ) return false;
return true;
}
-
-
+
+
}
\ No newline at end of file
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/bpel/instance/BPELProcessInstanceFactory.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/bpel/instance/BPELProcessInstanceFactory.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/bpel/instance/BPELProcessInstanceFactory.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,18 +1,26 @@
package org.drools.bpel.instance;
-import java.io.Serializable;
+import java.io.Externalizable;
+import java.io.ObjectOutput;
+import java.io.IOException;
+import java.io.ObjectInput;
import org.drools.process.instance.ProcessInstance;
import org.drools.process.instance.ProcessInstanceFactory;
-public class BPELProcessInstanceFactory implements ProcessInstanceFactory, Serializable {
+public class BPELProcessInstanceFactory implements ProcessInstanceFactory, Externalizable {
private static final long serialVersionUID = 400L;
public ProcessInstance createProcessInstance() {
return new BPELProcessInstance();
}
-
-
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ }
+
+
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/brms/server/util/BRLPersitenceTest.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/brms/server/util/BRLPersitenceTest.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/brms/server/util/BRLPersitenceTest.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -90,21 +90,21 @@
newXML );
}
-
+
public void testCompositeConstraintsRoundTrip() throws Exception {
RuleModel m = new RuleModel();
m.name = "with composite";
-
+
FactPattern p1 = new FactPattern("Person");
p1.boundName = "p1";
m.addLhsItem( p1 );
-
+
FactPattern p = new FactPattern("Goober");
m.addLhsItem( p );
CompositeFieldConstraint comp = new CompositeFieldConstraint();
comp.compositeJunctionType = CompositeFieldConstraint.COMPOSITE_TYPE_OR;
p.addConstraint( comp );
-
+
final SingleFieldConstraint X = new SingleFieldConstraint();
X.fieldName = "goo";
X.constraintValueType = SingleFieldConstraint.TYPE_LITERAL;
@@ -116,7 +116,7 @@
X.connectives[0].operator = "|| ==";
X.connectives[0].value = "bar";
comp.addConstraint( X );
-
+
final SingleFieldConstraint Y = new SingleFieldConstraint();
Y.fieldName = "goo2";
Y.constraintValueType = SingleFieldConstraint.TYPE_LITERAL;
@@ -131,47 +131,47 @@
Q1.operator = "==";
Q1.value = "whee";
Q1.constraintValueType = ISingleFieldConstraint.TYPE_LITERAL;
-
+
comp2.addConstraint( Q1 );
-
+
final SingleFieldConstraint Q2 = new SingleFieldConstraint();
Q2.fieldName = "gabba";
Q2.operator = "==";
Q2.value = "whee";
Q2.constraintValueType = ISingleFieldConstraint.TYPE_LITERAL;
-
+
comp2.addConstraint( Q2 );
-
+
//now nest it
comp.addConstraint( comp2 );
-
-
-
+
+
+
final SingleFieldConstraint Z = new SingleFieldConstraint();
Z.fieldName = "goo3";
Z.constraintValueType = SingleFieldConstraint.TYPE_LITERAL;
Z.value = "foo";
Z.operator = "==";
-
+
p.addConstraint( Z );
-
+
ActionInsertFact ass = new ActionInsertFact("Whee");
m.addRhsItem( ass );
-
+
String xml = BRXMLPersistence.getInstance().marshal( m );
//System.err.println(xml);
-
+
RuleModel m2 = BRXMLPersistence.getInstance().unmarshal( xml );
assertNotNull(m2);
assertEquals("with composite", m2.name);
-
+
assertEquals(m2.lhs.length, m.lhs.length);
assertEquals(m2.rhs.length, m.rhs.length);
-
-
-
-
+
+
+
+
}
/**
@@ -180,17 +180,17 @@
*/
public void testBackwardsCompat() throws Exception {
RuleModel m2 = BRXMLPersistence.getInstance().unmarshal( loadResource( "existing_brl.xml" ) );
-
+
assertNotNull(m2);
assertEquals(3, m2.rhs.length);
}
-
+
private String loadResource(final String name) throws Exception {
// System.err.println( getClass().getResource( name ) );
final InputStream in = getClass().getResourceAsStream( name );
-
+
final Reader reader = new InputStreamReader( in );
final StringBuffer text = new StringBuffer();
@@ -205,7 +205,7 @@
}
return text.toString();
- }
+ }
private RuleModel getComplexModel() {
final RuleModel m = new RuleModel();
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -40,6 +40,7 @@
import org.drools.RuleBaseFactory;
import org.drools.StatefulSession;
import org.drools.WorkingMemory;
+import org.drools.integrationtests.SerializationHelper;
import org.drools.base.DefaultKnowledgeHelper;
import org.drools.common.ActivationGroupNode;
import org.drools.common.DroolsObjectInputStream;
@@ -225,8 +226,7 @@
ruleDescr.setConsequence( "map.put(\"value\", new Integer(1) );" );
//check that packageDescr is serializable
- final byte[] ast = serializeOut( packageDescr );
- final PackageDescr back = (PackageDescr) serializeIn( ast );
+ final PackageDescr back = (PackageDescr) SerializationHelper.serializeObject( packageDescr, null );
assertNotNull( back );
assertEquals( "p1",
back.getName() );
@@ -238,12 +238,9 @@
assertLength( 0,
builder.getErrors().getErrors() );
- final byte[] bytes = serializeOut( pkg );
+ final Package newPkg = SerializationHelper.serializeObject( pkg,
+ pkg.getDialectDatas().getClassLoader() );
- // Deserialize from a byte array
-
- final Package newPkg = (Package) serializeIn( bytes );
-
final Rule newRule = newPkg.getRule( "rule-1" );
final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
@@ -271,26 +268,6 @@
map.get( "value" ) );
}
- private Object serializeIn(final byte[] bytes) throws IOException,
- ClassNotFoundException {
- final ObjectInput in = new DroolsObjectInputStream( new ByteArrayInputStream( bytes ) );
- final Object obj = in.readObject();
- in.close();
- return obj;
- }
-
- private 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;
- }
-
public void testNoPackageName() throws Exception {
final PackageBuilder builder = new PackageBuilder();
try {
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-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/DynamicRulesTest.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -821,16 +821,16 @@
protected Package serialisePackage(Package pkg) {
try {
byte[] bytes = serializeOut( pkg );
- return (Package) serializeIn( bytes );
+ return (Package) serializeIn( bytes, pkg.getDialectDatas().getClassLoader() );
} catch ( Exception e ) {
throw new RuntimeException( "trouble serialising package.",
e );
}
}
- protected Object serializeIn(final byte[] bytes) throws IOException,
+ protected Object serializeIn(final byte[] bytes, ClassLoader classLoader) throws IOException,
ClassNotFoundException {
- final ObjectInput in = new DroolsObjectInputStream( new ByteArrayInputStream( bytes ) );
+ final ObjectInput in = new DroolsObjectInputStream( new ByteArrayInputStream( bytes ), classLoader );
final Object obj = in.readObject();
in.close();
return obj;
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MVELTest.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MVELTest.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MVELTest.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -21,6 +21,7 @@
import org.drools.RuleBase;
import org.drools.RuleBaseFactory;
import org.drools.WorkingMemory;
+import org.drools.reteoo.ReteooRuleBase;
import org.drools.common.DroolsObjectInputStream;
import org.drools.common.DroolsObjectOutputStream;
import org.drools.compiler.DrlParser;
@@ -46,7 +47,8 @@
byte[] buf = out.toByteArray();
- DroolsObjectInputStream in = new DroolsObjectInputStream( new ByteArrayInputStream( buf ) );
+ DroolsObjectInputStream in = new DroolsObjectInputStream( new ByteArrayInputStream( buf ),
+ ((ReteooRuleBase)ruleBase).getCompositePackageClassLoader());
ruleBase = (RuleBase) in.readObject();
// end of serialization block
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -1,13 +1,7 @@
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.ObjectInputStream;
-import java.io.ObjectOutput;
-import java.io.ObjectOutputStream;
import java.io.Reader;
import java.util.ArrayList;
import java.util.HashMap;
@@ -23,8 +17,6 @@
import org.drools.StatefulSession;
import org.drools.WorkingMemory;
import org.drools.common.InternalFactHandle;
-import org.drools.common.DroolsObjectInputStream;
-import org.drools.common.DroolsObjectOutputStream;
import org.drools.compiler.PackageBuilder;
import org.drools.rule.Package;
import org.drools.rule.Rule;
@@ -38,7 +30,7 @@
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( reader );
- final Package pkg = serialisePackage( builder.getPackage() );
+ final Package pkg = SerializationHelper.serializeObject( builder.getPackage(), builder.getPackage().getDialectDatas().getClassLoader());
assertEquals( 0,
builder.getErrors().getErrors().length );
@@ -50,8 +42,7 @@
Map map = new HashMap();
map.put( "x",
ruleBase );
- final byte[] ast = serializeOut( map );
- map = (Map) serializeIn( ast );
+ map = SerializationHelper.serializeObject( map, pkg.getDialectDatas().getClassLoader() );
ruleBase = (RuleBase) map.get( "x" );
final Rule[] rules = ruleBase.getPackages()[0].getRules();
assertEquals( 4,
@@ -74,7 +65,7 @@
final Person bob = new Person( "bob" );
workingMemory.insert( bob );
- final byte[] wm = serializeOut( workingMemory );
+ final byte[] wm = SerializationHelper.serializeOut( workingMemory );
workingMemory = ruleBase.newStatefulSession( new ByteArrayInputStream( wm ) );
@@ -108,7 +99,7 @@
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( reader );
- final Package pkg = serialisePackage( builder.getPackage() );
+ final Package pkg = SerializationHelper.serializeObject( builder.getPackage(), builder.getPackage().getDialectDatas().getClassLoader());
assertEquals( 0,
builder.getErrors().getErrors().length );
@@ -120,15 +111,15 @@
Map map = new HashMap();
map.put( "x",
ruleBase );
- final byte[] ast = serializeOut( map );
- map = (Map) serializeIn( ast );
+// map = SerializationHelper.serializeObject(map);
ruleBase = (RuleBase) map.get( "x" );
- final byte[] wm = serializeOut( workingMemory );
+ final byte[] wm = SerializationHelper.serializeOut( workingMemory );
workingMemory = ruleBase.newStatefulSession( new ByteArrayInputStream( wm ) );
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
workingMemory.setGlobal( "list",
new ArrayList() );
@@ -181,7 +172,7 @@
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( reader );
- final Package pkg = serialisePackage( builder.getPackage() );
+ final Package pkg = SerializationHelper.serializeObject( builder.getPackage(), builder.getPackage().getDialectDatas().getClassLoader());
assertEquals( 0,
builder.getErrors().getErrors().length );
@@ -192,14 +183,13 @@
Map map = new HashMap();
map.put( "x",
ruleBase );
- final byte[] ast = serializeOut( map );
- map = (Map) serializeIn( ast );
+ map = SerializationHelper.serializeObject( map, pkg.getDialectDatas().getClassLoader() );
ruleBase = (RuleBase) map.get( "x" );
WorkingMemory workingMemory = ruleBase.newStatefulSession();
// serialise the working memory before population
- final byte[] wm = serializeOut( workingMemory );
+ final byte[] wm = SerializationHelper.serializeOut( workingMemory );
workingMemory = ruleBase.newStatefulSession( new ByteArrayInputStream( wm ) );
ruleBase.addPackage( pkg );
@@ -254,7 +244,7 @@
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( reader );
- final Package pkg = serialisePackage( builder.getPackage() );
+ final Package pkg = SerializationHelper.serializeObject( builder.getPackage(), builder.getPackage().getDialectDatas().getClassLoader());
assertEquals( 0,
builder.getErrors().getErrors().length );
@@ -274,12 +264,11 @@
Map map = new HashMap();
map.put( "x",
ruleBase );
- final byte[] ast = serializeOut( map );
- map = (Map) serializeIn( ast );
+ map = SerializationHelper.serializeObject( map, pkg.getDialectDatas().getClassLoader() );
ruleBase = (RuleBase) map.get( "x" );
// now try serialising with a fully populated wm from a serialised rulebase
- final byte[] wm = serializeOut( workingMemory );
+ final byte[] wm = SerializationHelper.serializeOut( workingMemory );
workingMemory = ruleBase.newStatefulSession( new ByteArrayInputStream( wm ) );
final Rule[] rules = ruleBase.getPackages()[0].getRules();
@@ -326,7 +315,7 @@
RuleBase ruleBase = RuleBaseFactory.newRuleBase( );
PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1.drl" ) ) );
- Package pkg = serialisePackage( builder.getPackage() );
+ Package pkg = SerializationHelper.serializeObject( builder.getPackage(), builder.getPackage().getDialectDatas().getClassLoader());
ruleBase.addPackage( pkg );
StatefulSession session = ruleBase.newStatefulSession();
@@ -340,13 +329,11 @@
assertEquals( list.size(), 1 );
assertEquals( "stilton", list.get( 0 ));
- byte[] serializedSession = serializeOut( session );
+ byte[] serializedSession = SerializationHelper.serializeOut( session );
session.dispose();
- byte[] serializedRulebase = serializeOut( ruleBase );
-
// now recreate the rulebase, deserialize the session and test it
- ruleBase = (RuleBase) serializeIn( serializedRulebase );
+// ruleBase = SerializationHelper.serializeObject( ruleBase );
session = ruleBase.newStatefulSession( new ByteArrayInputStream( serializedSession ) );
list = (List) session.getGlobal( "list" );
@@ -357,7 +344,7 @@
builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic3.drl" ) ) );
- pkg = serialisePackage( builder.getPackage() );
+ pkg = SerializationHelper.serializeObject( builder.getPackage(), builder.getPackage().getDialectDatas().getClassLoader());
ruleBase.addPackage( pkg );
InternalFactHandle stilton2 = (InternalFactHandle) session.insert( new Cheese( "stilton", 10 ) );
@@ -391,8 +378,7 @@
Map map = new HashMap();
map.put( "x",
ruleBase );
- final byte[] ast = serializeOut( map );
- map = (Map) serializeIn( ast );
+ map = SerializationHelper.serializeObject( map, pkg.getDialectDatas().getClassLoader() );
ruleBase = (RuleBase) map.get( "x" );
final Rule[] rules = ruleBase.getPackages()[0].getRules();
assertEquals( 3,
@@ -409,7 +395,7 @@
p.setIntPrimitive( (int) 3 );
workingMemory.insert( p );
- final byte[] wm = serializeOut( workingMemory );
+ final byte[] wm = SerializationHelper.serializeOut( workingMemory );
workingMemory = ruleBase.newStatefulSession( new ByteArrayInputStream( wm ) );
@@ -448,34 +434,4 @@
return RuleBaseFactory.newRuleBase( RuleBase.RETEOO,
config );
}
-
- protected Package serialisePackage(Package pkg) {
- try {
- byte[] bytes = serializeOut( pkg );
- return (Package) serializeIn( bytes );
- } catch ( Exception e ) {
- throw new RuntimeException( "trouble serialising package.",
- e );
- }
- }
-
- protected Object serializeIn(final byte[] bytes) throws IOException,
- ClassNotFoundException {
- final ObjectInput in = new DroolsObjectInputStream( new ByteArrayInputStream( bytes ) );
- 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-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-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -16,16 +16,12 @@
* limitations under the License.
*/
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.StringReader;
import java.io.ObjectInput;
-import java.io.ObjectInputStream;
import java.io.ObjectOutput;
-import java.io.ObjectOutputStream;
-import java.io.Reader;
-import java.io.StringReader;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
@@ -77,6 +73,7 @@
import org.drools.StatelessSession;
import org.drools.TestParam;
import org.drools.WorkingMemory;
+import org.drools.reteoo.ReteooRuleBase;
import org.drools.Cheesery.Maturity;
import org.drools.audit.WorkingMemoryFileLogger;
import org.drools.base.ClassObjectFilter;
@@ -138,9 +135,10 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "globals_rule_test.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+ WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
workingMemory.setGlobal( "list",
@@ -165,9 +163,10 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_globalsAsConstraints.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+ WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
workingMemory.setGlobal( "results",
@@ -207,8 +206,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_globalCustomResolver.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Map map = new HashMap();
@@ -221,6 +221,12 @@
string );
workingMemory.setGlobalResolver( new GlobalResolver() {
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ }
+
public Object resolveGlobal(String identifier) {
return map.get( identifier );
}
@@ -250,8 +256,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_globalCustomResolver.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Map map = new HashMap();
@@ -274,6 +281,11 @@
value );
}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ }
} );
Cheese bree = new Cheese();
@@ -310,8 +322,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( drl ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory wm = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -334,9 +347,9 @@
final Package pkg = builder.getPackage();
// add the package to a rulebase
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
-
+// ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List events = new ArrayList();
@@ -380,8 +393,9 @@
final Package pkg = builder.getPackage();
// add the package to a rulebase
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
@@ -415,8 +429,9 @@
final Package pkg = builder.getPackage();
// add the package to a rulebase
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
WorkingMemory workingMemory = ruleBase.newStatefulSession();
List list = new ArrayList();
@@ -441,8 +456,9 @@
final Package pkg = builder.getPackage();
// add the package to a rulebase
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
@@ -475,8 +491,9 @@
final Package pkg = builder.getPackage();
// add the package to a rulebase
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
// load up the rulebase
return ruleBase;
}
@@ -485,7 +502,7 @@
final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_ExplicitAnd.drl" ) );
final RuleBase ruleBase = loadRuleBase( reader );
- final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+ WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
workingMemory.setGlobal( "list",
list );
@@ -498,6 +515,7 @@
workingMemory.insert( new Cheese( "brie",
33 ) );
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
assertEquals( 1,
list.size() );
@@ -507,9 +525,9 @@
// read in the source
final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "HelloWorld.drl" ) );
- final RuleBase ruleBase = loadRuleBase( reader );
+ RuleBase ruleBase = loadRuleBase( reader );
- final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+ WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
workingMemory.setGlobal( "list",
@@ -522,6 +540,7 @@
workingMemory.insert( message );
workingMemory.insert( "boo" );
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
assertTrue( message.isFired() );
assertEquals( message,
@@ -533,14 +552,16 @@
// read in the source
final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "MVEL_soundex.drl" ) );
- final RuleBase ruleBase = loadRuleBase( reader );
+ RuleBase ruleBase = loadRuleBase( reader );
- final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+ ruleBase = SerializationHelper.serializeObject(ruleBase, null);
+ WorkingMemory workingMemory = ruleBase.newStatefulSession();
Cheese c = new Cheese( "fubar",
2 );
workingMemory.insert( c );
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
assertEquals( 42,
c.getPrice() );
@@ -551,9 +572,10 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "literal_rule_test.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+ WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
workingMemory.setGlobal( "list",
@@ -562,6 +584,7 @@
final Cheese stilton = new Cheese( "stilton",
5 );
workingMemory.insert( stilton );
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
@@ -574,9 +597,10 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "literal_with_boolean.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+ WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
workingMemory.setGlobal( "list",
@@ -587,6 +611,8 @@
12 );
bill.setAlive( true );
workingMemory.insert( bill );
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
+
workingMemory.fireAllRules();
assertEquals( bill,
@@ -598,9 +624,10 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FactTemplate.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+// ruleBase = SerializationHelper.serializeObject(ruleBase);
+ WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
workingMemory.setGlobal( "list",
@@ -613,6 +640,8 @@
stilton.setFieldValue( "price",
new Integer( 100 ) );
workingMemory.insert( stilton );
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
+
workingMemory.fireAllRules();
assertEquals( 1,
@@ -632,9 +661,10 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_PropertyChange.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+ WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
workingMemory.setGlobal( "list",
@@ -643,6 +673,7 @@
final State state = new State( "initial" );
workingMemory.insert( state,
true );
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
assertEquals( 1,
@@ -669,9 +700,10 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "big_decimal_and_comparable.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
+ WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
workingMemory.setGlobal( "list",
@@ -689,6 +721,7 @@
workingMemory.insert( bill );
workingMemory.insert( ben );
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
assertEquals( 1,
@@ -702,12 +735,15 @@
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "evalmodify.drl" ) ) );
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
+ ruleBase = SerializationHelper.serializeObject(ruleBase,
+ builder.getPackage().getDialectDatas().getClassLoader());
- final WorkingMemory memory = ruleBase.newStatefulSession();
+ WorkingMemory memory = ruleBase.newStatefulSession();
memory.insert( cell1 );
memory.insert( cell );
+// memory = SerializationHelper.serializeObject(memory);
memory.fireAllRules();
assertEquals( 9,
cell.getValue() );
@@ -752,12 +788,15 @@
((AttributeDescr) ruleAttrs.get( 0 )).getValue() );
assertEquals( "dialect",
((AttributeDescr) ruleAttrs.get( 0 )).getName() );
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
- final WorkingMemory memory = ruleBase.newStatefulSession();
+ ruleBase = SerializationHelper.serializeObject(ruleBase,
+ builder.getPackage().getDialectDatas().getClassLoader());
+ WorkingMemory memory = ruleBase.newStatefulSession();
memory.insert( p );
+// memory = SerializationHelper.serializeObject(memory);
memory.fireAllRules();
}
@@ -767,8 +806,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "or_test.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
workingMemory.setGlobal( "list",
@@ -808,8 +848,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "simple_query_test.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Cheese stilton = new Cheese( "stinky",
@@ -854,8 +895,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "eval_rule_test.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
workingMemory.setGlobal( "five",
@@ -879,8 +921,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "eval_rule_test_more.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -900,8 +943,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "returnvalue_rule_test.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
workingMemory.setGlobal( "two",
@@ -933,8 +977,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "predicate_rule_test.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
workingMemory.setGlobal( "two",
@@ -966,8 +1011,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "null_behaviour.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final PersonInterface p1 = new Person( "michael",
@@ -988,8 +1034,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "null_constraint.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List foo = new ArrayList();
workingMemory.setGlobal( "messages",
@@ -1015,8 +1062,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ImportFunctions.drl" ) ) );
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 Cheese cheese = new Cheese( "stilton",
15 );
@@ -1044,8 +1092,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_From.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list1 = new ArrayList();
@@ -1102,8 +1151,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FromWithParams.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -1184,7 +1234,7 @@
RuntimeException runtime = null;
// this should ralph all over the place.
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
try {
ruleBase.addPackage( pkg );
fail( "Should have thrown an exception as the rule is NOT VALID." );
@@ -1192,6 +1242,7 @@
assertNotNull( e.getMessage() );
runtime = e;
}
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
assertTrue( builder.getErrors().getErrors().length > 0 );
final String pretty = builder.getErrors().toString();
@@ -1252,8 +1303,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FunctionInConsequence.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -1276,8 +1328,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "assert_retract.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -1305,8 +1358,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "predicate_as_first_pattern.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Cheese mussarela = new Cheese( "Mussarela",
@@ -1357,8 +1411,9 @@
CustomConsequenceExceptionHandler handler = new CustomConsequenceExceptionHandler();
conf.setConsequenceExceptionHandler( handler );
- final RuleBase ruleBase = getRuleBase( conf );
+ RuleBase ruleBase = getRuleBase( conf );
ruleBase.addPackage( pkg );
+// ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Cheese brie = new Cheese( "brie",
@@ -1386,6 +1441,13 @@
return this.called;
}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ called = in.readBoolean();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeBoolean(called);
+ }
}
public void testFunctionException() throws Exception {
@@ -1393,8 +1455,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FunctionException.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Cheese brie = new Cheese( "brie",
@@ -1415,8 +1478,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_EvalException.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Cheese brie = new Cheese( "brie",
@@ -1437,8 +1501,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_PredicateException.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Cheese brie = new Cheese( "brie",
@@ -1459,8 +1524,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ReturnValueException.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Cheese brie = new Cheese( "brie",
@@ -1480,8 +1546,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MultiRestrictionFieldConstraint.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list1 = new ArrayList();
@@ -1558,6 +1625,8 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
+ ruleBase = SerializationHelper.serializeObject(ruleBase,
+ builder.getPackage().getDialectDatas().getClassLoader());
WorkingMemory workingMemory = ruleBase.newStatefulSession();
List list = new ArrayList();
@@ -1640,8 +1709,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ContainsCheese.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -1675,8 +1745,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_StaticField.drl" ) ) );
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();
@@ -1708,8 +1779,10 @@
PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DuplicateRuleName1.drl" ) ) );
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
+ ruleBase = SerializationHelper.serializeObject(ruleBase,
+ builder.getPackage().getDialectDatas().getClassLoader());
builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DuplicateRuleName2.drl" ) ) );
@@ -1727,8 +1800,9 @@
builder.addPackageFromDrl( reader );
final Package pkg1 = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg1 );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg1.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
// Adding person with null name and likes attributes
@@ -1759,8 +1833,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_EmptyRule.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -1778,8 +1853,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NoPatterns.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -1798,8 +1874,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_OrWithBindings.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -1830,8 +1907,10 @@
builder.addPackageFromDrl( reader );
final Package pkg1 = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg1 );
+ ruleBase = SerializationHelper.serializeObject(ruleBase,
+ builder.getPackage().getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List orderedFacts = new ArrayList();
@@ -1865,8 +1944,10 @@
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Query.drl" ) ) );
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
+ ruleBase = SerializationHelper.serializeObject(ruleBase,
+ builder.getPackage().getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
workingMemory.fireAllRules();
@@ -1882,8 +1963,10 @@
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_QueryWithParams.drl" ) ) );
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
+ ruleBase = SerializationHelper.serializeObject(ruleBase,
+ builder.getPackage().getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
workingMemory.fireAllRules();
@@ -1923,8 +2006,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_TwoQuerries.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Cheese stilton = new Cheese( "stinky",
@@ -1971,8 +2055,7 @@
// read in the source
final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_JoinNodeModifyTuple.drl" ) );
- final RuleBase ruleBase = loadRuleBase( reader );
-
+ RuleBase ruleBase = loadRuleBase( reader );
final WorkingMemory wm = ruleBase.newStatefulSession();
// 1st time
@@ -2065,8 +2148,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DoubleQueryWithExists.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Person p1 = new Person( "p1",
@@ -2150,8 +2234,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FunctionWithPrimitives.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -2174,8 +2259,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ReturnValueAndGlobal.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List matchlist = new ArrayList();
@@ -2215,8 +2301,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DeclaringAndUsingBindsInSamePattern.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase( config );
+ RuleBase ruleBase = getRuleBase( config );
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List sensors = new ArrayList();
@@ -2245,8 +2332,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_missing_import.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
Assert.fail( "Should have thrown an InvalidRulePackage" );
} catch ( final InvalidRulePackage e ) {
@@ -2263,8 +2351,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NestedConditionalElements.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -2299,8 +2388,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DeclarationUsage.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
fail( "Should have trown an exception" );
} catch ( final InvalidRulePackage e ) {
@@ -2316,8 +2406,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_UnbalancedTrees.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory wm = ruleBase.newStatefulSession();
@@ -2342,11 +2433,12 @@
}
public void testImportConflict() throws Exception {
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ImportConflict.drl" ) ) );
final Package pkg = builder.getPackage();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
}
public void testPrimitiveArray() throws Exception {
@@ -2354,8 +2446,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_primitiveArray.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+// ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List result = new ArrayList();
workingMemory.setGlobal( "result",
@@ -2384,8 +2477,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_emptyIdentifier.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List result = new ArrayList();
workingMemory.setGlobal( "results",
@@ -2408,8 +2502,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_duplicateVariableBinding.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Map result = new HashMap();
workingMemory.setGlobal( "results",
@@ -2465,8 +2560,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ShadowProxyInHirarchies.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
workingMemory.insert( new Child( "gp" ) );
@@ -2479,8 +2575,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_SelfReference.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -2516,8 +2613,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NumberComparisons.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -2573,8 +2671,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_skipModify.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -2602,8 +2701,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_EventModel.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory wm = ruleBase.newStatefulSession();
final List agendaList = new ArrayList();
@@ -2691,8 +2791,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_implicitDeclarations.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -2715,8 +2816,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_castsInsideEval.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
workingMemory.setGlobal( "value",
@@ -2730,8 +2832,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_memberOf.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -2768,8 +2871,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_contains_in_array.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -2796,8 +2900,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_collectNodeSharing.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -2823,8 +2928,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_nodeSharingNotExists.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -2856,8 +2962,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_nullBindings.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -2882,8 +2989,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RetractModifyWithFunction.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final AbstractWorkingMemory workingMemory = (AbstractWorkingMemory) ruleBase.newStatefulSession();
final Cheese stilton = new Cheese( "stilton",
@@ -2913,8 +3021,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ConstraintConnectors.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -2975,8 +3084,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MatchesNotMatches.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -3032,8 +3142,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_AutoBindings.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -3069,8 +3180,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_QualifiedFieldReference.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -3098,8 +3210,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_EvalRewrite.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -3168,8 +3281,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MapAccess.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -3199,8 +3313,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_halt.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3223,8 +3338,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_fireLimit.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3274,8 +3390,9 @@
RuleBaseConfiguration conf = new RuleBaseConfiguration();
conf.setAssertBehaviour( RuleBaseConfiguration.AssertBehaviour.EQUALITY );
- final RuleBase ruleBase = getRuleBase( conf );
+ RuleBase ruleBase = getRuleBase( conf );
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3302,8 +3419,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_charComparisons.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3341,8 +3459,9 @@
final RuleBaseConfiguration conf = new RuleBaseConfiguration();
conf.setShareAlphaNodes( false );
- final RuleBase ruleBase = getRuleBase( conf );
+ RuleBase ruleBase = getRuleBase( conf );
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3373,8 +3492,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_functionCallingFunction.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -3398,8 +3518,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_functionCallingFunction.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -3420,8 +3541,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_SelfReference2.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3468,9 +3590,11 @@
assertEquals( 1,
pkg2.getRules().length );
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg1 );
ruleBase.addPackage( pkg2 );
+ ruleBase = SerializationHelper.serializeObject(ruleBase,
+ ((ReteooRuleBase)ruleBase).getCompositePackageClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3509,8 +3633,9 @@
assertEquals( 1,
pkg1.getRules().length );
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg1 );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg1.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3551,8 +3676,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_bindings.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3577,8 +3703,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_multipleFroms.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3609,8 +3736,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NullHashing.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3635,8 +3763,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DefaultBetaConstraint.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3748,8 +3877,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_BooleanWrapper.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3786,6 +3916,7 @@
conf.setShadowProxy( true );
RuleBase rb = RuleBaseFactory.newRuleBase( conf );
rb.addPackage( builder.getPackage() );
+ rb = SerializationHelper.serializeObject(rb, builder.getPackage().getDialectDatas().getClassLoader());
StatefulSession session = rb.newStatefulSession();
List list1 = new ArrayList();
@@ -3844,8 +3975,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_IterateObjects.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3873,8 +4005,9 @@
RuleBaseConfiguration conf = new RuleBaseConfiguration();
conf.setSequential( true );
- final RuleBase ruleBase = getRuleBase( conf );
+ RuleBase ruleBase = getRuleBase( conf );
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
StatelessSession session = ruleBase.newStatelessSession();
List list = new ArrayList();
@@ -3891,8 +4024,9 @@
builder.addPackageFromDrl( new StringReader( rule ) );
Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
StatefulSession session = ruleBase.newStatefulSession();
List list = new ArrayList();
@@ -3924,8 +4058,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_EvalRewriteWithSpecialOperators.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4027,9 +4162,10 @@
final Package pkg = builder.getPackage();
final Package pkg2 = builder2.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
ruleBase.addPackage( pkg2 );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
@@ -4046,8 +4182,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_AutoVivificationVR.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -4069,8 +4206,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ShadowProxyOnCollections.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -4094,8 +4232,10 @@
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Query.drl" ) ) );
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
+ ruleBase = SerializationHelper.serializeObject(ruleBase,
+ builder.getPackage().getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
workingMemory.fireAllRules();
@@ -4115,8 +4255,10 @@
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NestedAccessors.drl" ) ) );
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
+ ruleBase = SerializationHelper.serializeObject(ruleBase,
+ builder.getPackage().getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
@@ -4173,8 +4315,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Logger.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory wm = ruleBase.newStatefulSession();
@@ -4203,8 +4346,10 @@
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FromNestedAccessors.drl" ) ) );
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
+ ruleBase = SerializationHelper.serializeObject(ruleBase,
+ builder.getPackage().getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
@@ -4238,10 +4383,12 @@
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_SubNetworks.drl" ) ) );
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
try {
ruleBase.addPackage( builder.getPackage() );
+ ruleBase = SerializationHelper.serializeObject(ruleBase,
+ builder.getPackage().getDialectDatas().getClassLoader());
} catch ( Exception e ) {
e.printStackTrace();
fail( "Should not raise any exception!" );
@@ -4253,8 +4400,10 @@
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FinalClass.drl" ) ) );
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
+ ruleBase = SerializationHelper.serializeObject(ruleBase,
+ builder.getPackage().getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
@@ -4288,8 +4437,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_EvalRewriteMatches.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4329,8 +4479,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RuntimeTypeCoercion.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4373,8 +4524,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RuntimeTypeCoercion2.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4431,8 +4583,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_AlphaEvalWithOrCE.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4458,8 +4611,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ModifyRetractInsert.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4485,8 +4639,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_JavaModifyBlock.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4516,8 +4671,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_OrCE.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4540,8 +4696,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DeepNestedConstraints.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4565,8 +4722,9 @@
public void testGetFactHandleEqualityBehavior() throws Exception {
final RuleBaseConfiguration conf = new RuleBaseConfiguration();
conf.setAssertBehaviour( RuleBaseConfiguration.AssertBehaviour.EQUALITY );
- final RuleBase ruleBase = RuleBaseFactory.newRuleBase( conf );
+ RuleBase ruleBase = RuleBaseFactory.newRuleBase( conf );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, null);
final StatefulSession session = ruleBase.newStatefulSession();
CheeseEqual cheese = new CheeseEqual( "stilton",
@@ -4580,8 +4738,9 @@
public void testGetFactHandleIdentityBehavior() throws Exception {
final RuleBaseConfiguration conf = new RuleBaseConfiguration();
conf.setAssertBehaviour( RuleBaseConfiguration.AssertBehaviour.IDENTITY );
- final RuleBase ruleBase = RuleBaseFactory.newRuleBase( conf );
+ RuleBase ruleBase = RuleBaseFactory.newRuleBase( conf );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, null);
final StatefulSession session = ruleBase.newStatefulSession();
CheeseEqual cheese = new CheeseEqual( "stilton",
@@ -4599,8 +4758,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_OrCEFollowedByEval.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4623,14 +4783,15 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NPEOnMVELPredicate.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase, pkg.getDialectDatas().getClassLoader());
final StatefulSession session = ruleBase.newStatefulSession();
final List list = new ArrayList();
session.setGlobal( "results",
list );
-
+
Cheese cheese = new Cheese( "stilton", 10 );
Cheesery cheesery = new Cheesery();
cheesery.addCheese( cheese );
@@ -4646,15 +4807,15 @@
assertEquals( "should not have fired",
0,
list.size() );
-
+
cheese2.setType( "stilton" );
-
+
session.update( p, bob );
session.fireAllRules();
-
+
assertEquals( 1,
list.size() );
-
+
}
-
+
}
Added: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/SerializationHelper.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/SerializationHelper.java (rev 0)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/SerializationHelper.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -0,0 +1,29 @@
+package org.drools.integrationtests;
+
+import org.drools.common.DroolsObjectOutputStream;
+import org.drools.common.DroolsObjectInputStream;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ByteArrayInputStream;
+
+/**
+ * Marshalling helper class to perform serialize/de-serialize a given object
+ */
+public class SerializationHelper {
+ public static <T> T serializeObject(T obj, ClassLoader classLoader) throws IOException, ClassNotFoundException {
+ return (T)serializeIn(serializeOut(obj), classLoader);
+ }
+
+ public static byte[] serializeOut(Object obj) throws IOException {
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ new DroolsObjectOutputStream(out).writeObject(obj);
+ out.close();
+ return out.toByteArray();
+ }
+
+ public static Object serializeIn(byte[] bytes, ClassLoader classLoader)
+ throws IOException, ClassNotFoundException {
+ return new DroolsObjectInputStream(new ByteArrayInputStream(bytes), classLoader).readObject();
+ }
+}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/waltz/Stage.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/waltz/Stage.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/waltz/Stage.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -2,13 +2,13 @@
/*
* Copyright 2005 JBoss Inc
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -18,19 +18,23 @@
/**
* @author Alexander Bagerman
- *
+ *
*/
import java.io.Serializable;
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
/**
- *
+ *
* @author Alexander Bagerman
*
*/
public class Stage
implements
- Serializable {
+ Externalizable {
private static final long serialVersionUID = 400L;
final public static int START = 0;
@@ -59,6 +63,13 @@
this.value = value;
}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ value = in.readInt();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeInt(value);
+ }
public int getValue() {
return this.value;
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/testframework/MockFactHandle.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/testframework/MockFactHandle.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/testframework/MockFactHandle.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -2,22 +2,25 @@
import org.drools.FactHandle;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
/*
- * Copyright 2005 JBoss Inc
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright 2005 JBoss Inc
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
public class MockFactHandle
implements
@@ -28,10 +31,23 @@
private static final long serialVersionUID = 400L;
private int id;
+ public MockFactHandle() {
+
+ }
+
public MockFactHandle(final int id) {
this.id = id;
}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ id = in.readInt();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeInt(id);
+ }
+
+
public String toExternalForm() {
return "[fact:" + this.id + "]";
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/testframework/MockRuleBase.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/testframework/MockRuleBase.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/testframework/MockRuleBase.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -2,6 +2,8 @@
import java.io.IOException;
import java.io.InputStream;
+import java.io.ObjectOutput;
+import java.io.ObjectInput;
import java.util.List;
import org.drools.ClockType;
@@ -124,7 +126,14 @@
public void addPackage(Package pkg) {
// TODO Auto-generated method stub
-
+
}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+
+ }
}
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java 2008-03-12 21:20:57 UTC (rev 18901)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java 2008-03-12 21:22:07 UTC (rev 18902)
@@ -7,6 +7,9 @@
import java.util.List;
import java.util.Map;
import java.util.concurrent.locks.Lock;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
import org.drools.Agenda;
import org.drools.EntryPointInterface;
@@ -53,7 +56,21 @@
TimeMachine timeMachine = new TimeMachine();
Map<String, Object> globals = new HashMap<String, Object>();
- public void addLIANodePropagation(LIANodePropagation liaNodePropagation) {
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ facts = (List<Object>)in.readObject();
+ agendaEventListener = (AgendaEventListener)in.readObject();
+ timeMachine = (TimeMachine)in.readObject();
+ globals = (Map<String, Object>)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(facts);
+ out.writeObject(agendaEventListener);
+ out.writeObject(timeMachine);
+ out.writeObject(globals);
+ }
+
+ public void addLIANodePropagation(LIANodePropagation liaNodePropagation) {
// TODO Auto-generated method stub
}
@@ -248,7 +265,7 @@
this.facts .add(object);
return new MockFactHandle(object.hashCode());
}
-
+
public FactHandle insert(Object object, long duration)
throws FactException {
// TODO Auto-generated method stub
@@ -260,7 +277,7 @@
// TODO Auto-generated method stub
return null;
}
-
+
public FactHandle insert(Object object, long duration, boolean dynamic)
throws FactException {
// TODO Auto-generated method stub
@@ -409,17 +426,17 @@
public void setId(long id) {
// TODO Auto-generated method stub
-
+
}
public void setRuleBase(InternalRuleBase ruleBase) {
// TODO Auto-generated method stub
-
+
}
public void removeProcessInstance(ProcessInstance processInstance) {
// TODO Auto-generated method stub
-
+
}
public ProcessInstance getProcessInstance(long id) {
@@ -471,7 +488,7 @@
public void registerProcessInstanceFactory(String type,
ProcessInstanceFactory nodeInstanceFactory) {
// TODO Auto-generated method stub
-
+
}
public ObjectStore getObjectStore() {
@@ -486,7 +503,7 @@
public void setExecutorService(ExecutorService executor) {
// TODO Auto-generated method stub
-
+
}
}
More information about the jboss-svn-commits
mailing list