[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