[jboss-svn-commits] JBL Code SVN: r25897 - in labs/jbossrules/trunk/drools-core/src/main/java/org/drools: marshalling/impl and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Mar 31 11:54:38 EDT 2009


Author: KrisVerlaenen
Date: 2009-03-31 11:54:38 -0400 (Tue, 31 Mar 2009)
New Revision: 25897

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/SessionConfiguration.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/marshalling/impl/AbstractProcessInstanceMarshaller.java
Log:
JBRULES-2044: Add configuration options for the classloader in all configuration objects (builder, base and session)
 - added classloader to session configuration

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/SessionConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/SessionConfiguration.java	2009-03-31 15:24:14 UTC (rev 25896)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/SessionConfiguration.java	2009-03-31 15:54:38 UTC (rev 25897)
@@ -78,6 +78,8 @@
     private WorkItemManagerFactory         workItemManagerFactory;
     private CommandService                 commandService; 
 
+    private transient ClassLoader          classLoader;
+    
     public void writeExternal(ObjectOutput out) throws IOException {
         out.writeObject( chainedProperties );
         out.writeBoolean( immutable );
@@ -100,17 +102,30 @@
      * @param properties
      */
     public SessionConfiguration(Properties properties) {
-        init( properties );
+        init( null, properties );
     }
 
     /**
      * Creates a new session configuration with default configuration options.
      */
     public SessionConfiguration() {
-        init( null );
+        init( null, null );
     }
+    
+    public SessionConfiguration(ClassLoader classLoader) {
+    	init ( classLoader, null );
+    }
 
-    private void init(Properties properties) {
+    private void init(ClassLoader classLoader, Properties properties) {
+    	
+    	if ( classLoader != null ) {
+            this.classLoader = classLoader;
+        } else if ( Thread.currentThread().getContextClassLoader() != null ) {
+            this.classLoader = Thread.currentThread().getContextClassLoader();
+        } else {
+            this.classLoader = this.getClass().getClassLoader();
+        }
+    	
         this.immutable = false;
 
         this.chainedProperties = new ChainedProperties( "session.conf" );
@@ -407,4 +422,13 @@
             setClockType( ClockType.resolveClockType( ((ClockTypeOption) option ).getClockType() ) );
         }
     }
+
+    public ClassLoader getClassLoader() {
+        return classLoader;
+    }
+
+    public void setClassLoader(ClassLoader classLoader) {
+        this.classLoader = classLoader;
+    }
+
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/marshalling/impl/AbstractProcessInstanceMarshaller.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/marshalling/impl/AbstractProcessInstanceMarshaller.java	2009-03-31 15:24:14 UTC (rev 25896)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/marshalling/impl/AbstractProcessInstanceMarshaller.java	2009-03-31 15:54:38 UTC (rev 25897)
@@ -117,10 +117,10 @@
 	            stream.writeShort( PersisterEnums.RULE_SET_NODE_INSTANCE );
 	        } else if ( nodeInstance instanceof HumanTaskNodeInstance ) {
 	            stream.writeShort( PersisterEnums.HUMAN_TASK_NODE_INSTANCE );
-	            stream.writeLong( ((HumanTaskNodeInstance) nodeInstance).getWorkItem().getId() );
+	            stream.writeLong( ((HumanTaskNodeInstance) nodeInstance).getWorkItemId() );
 	        } else if ( nodeInstance instanceof WorkItemNodeInstance ) {
 	            stream.writeShort( PersisterEnums.WORK_ITEM_NODE_INSTANCE );
-	            stream.writeLong( ((WorkItemNodeInstance) nodeInstance).getWorkItem().getId() );
+	            stream.writeLong( ((WorkItemNodeInstance) nodeInstance).getWorkItemId() );
 	        } else if ( nodeInstance instanceof SubProcessNodeInstance ) {
 	            stream.writeShort( PersisterEnums.SUB_PROCESS_NODE_INSTANCE );
 	            stream.writeLong( ((SubProcessNodeInstance) nodeInstance).getProcessInstanceId() );




More information about the jboss-svn-commits mailing list