[jboss-svn-commits] JBL Code SVN: r25028 - labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-core/src/main/java/org/drools/marshalling.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Jan 30 15:09:02 EST 2009
Author: salaboy21
Date: 2009-01-30 15:09:01 -0500 (Fri, 30 Jan 2009)
New Revision: 25028
Modified:
labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-core/src/main/java/org/drools/marshalling/InputMarshaller.java
labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-core/src/main/java/org/drools/marshalling/OutputMarshaller.java
Log:
modification in input and output manager to not store/read the variables and swimlanes for the process
Modified: labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-core/src/main/java/org/drools/marshalling/InputMarshaller.java
===================================================================
--- labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-core/src/main/java/org/drools/marshalling/InputMarshaller.java 2009-01-30 20:08:19 UTC (rev 25027)
+++ labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-core/src/main/java/org/drools/marshalling/InputMarshaller.java 2009-01-30 20:09:01 UTC (rev 25028)
@@ -775,8 +775,12 @@
readProcessInstance( context );
}
}
+ public static ProcessInstance readProcessInstance(MarshallerReaderContext context) throws IOException {
+ return readProcessInstance(context, true);
+ }
- public static ProcessInstance readProcessInstance(MarshallerReaderContext context) throws IOException {
+ public static ProcessInstance readProcessInstance(MarshallerReaderContext context, boolean readVariables) throws IOException {
+ //@TODO: fix this method to get the variable with the persistence strategy
ObjectInputStream stream = context.stream;
InternalRuleBase ruleBase = context.ruleBase;
InternalWorkingMemory wm = context.wm;
@@ -792,31 +796,37 @@
long nodeInstanceCounter = stream.readLong();
processInstance.setWorkingMemory( wm );
- int nbVariables = stream.readInt();
- if ( nbVariables > 0 ) {
- VariableScopeInstance variableScopeInstance = (VariableScopeInstance) processInstance.getContextInstance( VariableScope.VARIABLE_SCOPE );
- for ( int i = 0; i < nbVariables; i++ ) {
- String name = stream.readUTF();
- try {
- Object value = stream.readObject();
- variableScopeInstance.setVariable( name,
- value );
- } catch ( ClassNotFoundException e ) {
- throw new IllegalArgumentException( "Could not reload variable " + name );
+ if(readVariables){
+ int nbVariables = stream.readInt();
+ if ( nbVariables > 0 ) {
+ VariableScopeInstance variableScopeInstance = (VariableScopeInstance) processInstance.getContextInstance( VariableScope.VARIABLE_SCOPE );
+ for ( int i = 0; i < nbVariables; i++ ) {
+ String name = stream.readUTF();
+ try {
+ Object value = stream.readObject();
+ variableScopeInstance.setVariable( name,
+ value );
+ } catch ( ClassNotFoundException e ) {
+ throw new IllegalArgumentException( "Could not reload variable " + name );
+ }
}
}
- }
+
+ //@TODO: should i use another flag for swimlanes? or refactor the name to includeContexts
- int nbSwimlanes = stream.readInt();
- if ( nbSwimlanes > 0 ) {
- SwimlaneContextInstance swimlaneContextInstance = (SwimlaneContextInstance) processInstance.getContextInstance( SwimlaneContext.SWIMLANE_SCOPE );
- for ( int i = 0; i < nbSwimlanes; i++ ) {
- String name = stream.readUTF();
- String value = stream.readUTF();
- swimlaneContextInstance.setActorId( name,
- value );
+ int nbSwimlanes = stream.readInt();
+ if ( nbSwimlanes > 0 ) {
+ SwimlaneContextInstance swimlaneContextInstance = (SwimlaneContextInstance) processInstance.getContextInstance( SwimlaneContext.SWIMLANE_SCOPE );
+ for ( int i = 0; i < nbSwimlanes; i++ ) {
+ String name = stream.readUTF();
+ String value = stream.readUTF();
+ swimlaneContextInstance.setActorId( name,
+ value );
+ }
}
}
+
+
while ( stream.readShort() == PersisterEnums.NODE_INSTANCE ) {
readNodeInstance( context,
Modified: labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-core/src/main/java/org/drools/marshalling/OutputMarshaller.java
===================================================================
--- labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-core/src/main/java/org/drools/marshalling/OutputMarshaller.java 2009-01-30 20:08:19 UTC (rev 25027)
+++ labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-core/src/main/java/org/drools/marshalling/OutputMarshaller.java 2009-01-30 20:09:01 UTC (rev 25028)
@@ -775,14 +775,16 @@
stream.writeUTF( key );
stream.writeObject( variables.get( key ) );
}
+ //@TODO: should i use another flag for swimlanes? or refactor the name to includeContexts
+ SwimlaneContextInstance swimlaneContextInstance = (SwimlaneContextInstance) processInstance.getContextInstance( SwimlaneContext.SWIMLANE_SCOPE );
+ Map<String, String> swimlaneActors = swimlaneContextInstance.getSwimlaneActors();
+ stream.writeInt( swimlaneActors.size() );
+ for ( Map.Entry<String, String> entry : swimlaneActors.entrySet() ) {
+ stream.writeUTF( entry.getKey() );
+ stream.writeUTF( entry.getValue() );
+ }
}
- SwimlaneContextInstance swimlaneContextInstance = (SwimlaneContextInstance) processInstance.getContextInstance( SwimlaneContext.SWIMLANE_SCOPE );
- Map<String, String> swimlaneActors = swimlaneContextInstance.getSwimlaneActors();
- stream.writeInt( swimlaneActors.size() );
- for ( Map.Entry<String, String> entry : swimlaneActors.entrySet() ) {
- stream.writeUTF( entry.getKey() );
- stream.writeUTF( entry.getValue() );
- }
+
List<NodeInstance> nodeInstances = new ArrayList<NodeInstance>( processInstance.getNodeInstances() );
Collections.sort( nodeInstances,
More information about the jboss-svn-commits
mailing list