[jboss-svn-commits] JBL Code SVN: r19042 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Mar 17 19:11:26 EDT 2008


Author: mingjin
Date: 2008-03-17 19:11:25 -0400 (Mon, 17 Mar 2008)
New Revision: 19042

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/CompositePackageClassLoader.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/DialectDatas.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/JavaDialectData.java
Log:
JBRULES-1488 fixed failed test in ServiceImplementationTest.testRunScenarioWithJar
- CompositePackageClassLoader.java, testing classLoader before add.
- JavaDialectData.java, adding DialectDatas's classLoader to DroolsObjectInput stream instead of it'w own one
- DialectDatas.java. adding DroolsObjectInput stream's classLoader to store.

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/CompositePackageClassLoader.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/CompositePackageClassLoader.java	2008-03-17 20:32:14 UTC (rev 19041)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/CompositePackageClassLoader.java	2008-03-17 23:11:25 UTC (rev 19042)
@@ -27,7 +27,7 @@
                    this.classLoaders.add(object);
                }
             }
-        } else {
+        } else if (classLoader instanceof DroolsClassLoader && !classLoaders.contains(classLoader)) {
             this.classLoaders.add( classLoader );
         }
     }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/DialectDatas.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/DialectDatas.java	2008-03-17 20:32:14 UTC (rev 19041)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/DialectDatas.java	2008-03-17 23:11:25 UTC (rev 19042)
@@ -1,5 +1,7 @@
 package org.drools.rule;
 
+import org.drools.common.DroolsObjectInput;
+
 import java.io.Externalizable;
 import java.io.IOException;
 import java.io.ObjectInput;
@@ -9,15 +11,13 @@
 import java.util.Map;
 import java.util.Map.Entry;
 
-import org.drools.common.DroolsObjectInput;
-
 public class DialectDatas implements Externalizable {
-    private ClassLoader parentClassLoader;
+    private transient ClassLoader parentClassLoader;
     private CompositePackageClassLoader classLoader;
 
-    private Map<String, DialectData> dialects;
+    private Map<String, DialectData>    dialects;
 
-    private Map                           lineMappings;
+    private Map                         lineMappings;
 
     /**
      * Default constructor - for Externalizable. This should never be used by a user, as it
@@ -41,7 +41,6 @@
     public void writeExternal(final ObjectOutput stream) throws IOException {
         stream.writeObject(this.dialects);
         stream.writeObject(this.classLoader);
-        stream.writeObject(this.parentClassLoader instanceof DroolsClassLoader ? this.parentClassLoader : null);
         stream.writeObject( this.lineMappings );
     }
 
@@ -53,14 +52,16 @@
      */
     public void readExternal(final ObjectInput stream) throws IOException,
                                                               ClassNotFoundException {
-        this.dialects     = (Map<String, DialectData>)stream.readObject();
+        this.dialects       = (Map<String, DialectData>)stream.readObject();
         this.classLoader    = (CompositePackageClassLoader)stream.readObject();
-        setParentClassLoader((ClassLoader)stream.readObject());
+        setParentClassLoader(this.classLoader.getParent());
         if (stream instanceof DroolsObjectInput) {
-            ((DroolsObjectInput)stream).setClassLoader(this.classLoader);
-            ((DroolsObjectInput)stream).setDialectDatas(this);
+            DroolsObjectInput   droolsStream    = (DroolsObjectInput)stream;
+            addClassLoader(droolsStream.getClassLoader());
+            droolsStream.setClassLoader(this.classLoader);
+            droolsStream.setDialectDatas(this);
         }
-        this.lineMappings = (Map) stream.readObject();
+        this.lineMappings   = (Map) stream.readObject();
     }
 
     public void addDialectData(String dialect, DialectData dialectData) {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/JavaDialectData.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/JavaDialectData.java	2008-03-17 20:32:14 UTC (rev 19041)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/JavaDialectData.java	2008-03-17 23:11:25 UTC (rev 19042)
@@ -16,6 +16,20 @@
  * limitations under the License.
  */
 
+import org.drools.RuntimeDroolsException;
+import org.drools.base.accumulators.JavaAccumulatorFunctionExecutor;
+import org.drools.common.DroolsObjectInputStream;
+import org.drools.common.DroolsObjectOutputStream;
+import org.drools.spi.Accumulator;
+import org.drools.spi.Consequence;
+import org.drools.spi.EvalExpression;
+import org.drools.spi.PredicateExpression;
+import org.drools.spi.ReturnValueEvaluator;
+import org.drools.spi.ReturnValueExpression;
+import org.drools.util.StringUtils;
+import org.drools.workflow.core.node.ActionNode;
+import org.drools.workflow.instance.impl.ReturnValueConstraintEvaluator;
+
 import java.io.ByteArrayInputStream;
 import java.io.Externalizable;
 import java.io.IOException;
@@ -32,20 +46,6 @@
 import java.util.Map;
 import java.util.Map.Entry;
 
-import org.drools.RuntimeDroolsException;
-import org.drools.base.accumulators.JavaAccumulatorFunctionExecutor;
-import org.drools.common.DroolsObjectInputStream;
-import org.drools.common.DroolsObjectOutputStream;
-import org.drools.spi.Accumulator;
-import org.drools.spi.Consequence;
-import org.drools.spi.EvalExpression;
-import org.drools.spi.PredicateExpression;
-import org.drools.spi.ReturnValueEvaluator;
-import org.drools.spi.ReturnValueExpression;
-import org.drools.util.StringUtils;
-import org.drools.workflow.core.node.ActionNode;
-import org.drools.workflow.instance.impl.ReturnValueConstraintEvaluator;
-
 public class JavaDialectData
     implements
     DialectData,
@@ -129,7 +129,8 @@
         this.datas = (DialectDatas)droolsStream.readObject();
         this.classLoader = (PackageClassLoader)droolsStream.readObject();
         this.datas.addClassLoader( this.classLoader );
-        droolsStream.setClassLoader(this.classLoader);
+        this.datas.addClassLoader(droolsStream.getClassLoader());
+        droolsStream.setClassLoader(this.datas.getClassLoader());
         droolsStream.setDialectDatas(this.datas);
         this.store = (Map) stream.readObject();
         this.AST = stream.readObject();




More information about the jboss-svn-commits mailing list