[jboss-svn-commits] JBL Code SVN: r19360 - labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Apr 1 09:57:51 EDT 2008


Author: mingjin
Date: 2008-04-01 09:57:51 -0400 (Tue, 01 Apr 2008)
New Revision: 19360

Modified:
   labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/DialectDatas.java
   labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/JavaDialectData.java
Log:
JBRULES-1535 - Minor cleanup
DialectDatas: added removeClassLoader for reload cleanup.
JavaDialectData: calling datas.removeClassLoader to remove the existing classloader in reload.

Modified: labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/DialectDatas.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/DialectDatas.java	2008-04-01 09:31:40 UTC (rev 19359)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/DialectDatas.java	2008-04-01 13:57:51 UTC (rev 19360)
@@ -144,10 +144,13 @@
     }
 
     public void addClassLoader(ClassLoader classLoader) {
-        if (this.classLoader == null) {
+        this.classLoader.addClassLoader( classLoader );
+    }
 
+    public void removeClassLoader(ClassLoader classLoader) {
+        if (classLoader != null) {
+            this.classLoader.removeClassLoader(classLoader);
         }
-        this.classLoader.addClassLoader( classLoader );
     }
 
     public void clear() {

Modified: labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/JavaDialectData.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/JavaDialectData.java	2008-04-01 09:31:40 UTC (rev 19359)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/JavaDialectData.java	2008-04-01 13:57:51 UTC (rev 19360)
@@ -171,12 +171,12 @@
     public void merge(DialectData newData) {
         JavaDialectData newJavaData = (JavaDialectData) newData;
 
+        this.dirty = newData.isDirty();
         if (this.classLoader == null) {
             this.classLoader    = new PackageClassLoader(newJavaData.getClassLoader().getParent(), this);
             this.dirty = true;
         }
 
-        this.dirty = newData.isDirty();
         // First update the binary files
         // @todo: this probably has issues if you add classes in the incorrect order - functions, rules, invokers.
         for ( String file : newJavaData.list()) {
@@ -273,6 +273,7 @@
      */
     public void reload() throws RuntimeDroolsException {
         // drops the classLoader and adds a new one
+        this.datas.removeClassLoader( this.classLoader );
         this.classLoader = new PackageClassLoader( this.datas.getParentClassLoader(), this );
         this.datas.addClassLoader( this.classLoader );
 
@@ -348,7 +349,7 @@
     public void putInvoker(final String className,
                            final Object invoker) {
         getInvokers().put( className,
-                                 invoker );
+                           invoker );
     }
 
     public void putAllInvokers(final Map invokers) {




More information about the jboss-svn-commits mailing list