[jboss-svn-commits] JBL Code SVN: r24900 - 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 23 14:40:39 EST 2009


Author: salaboy21
Date: 2009-01-23 14:40:39 -0500 (Fri, 23 Jan 2009)
New Revision: 24900

Modified:
   labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-core/src/main/java/org/drools/marshalling/OutputMarshaller.java
Log:
overload the method to include or not the variable in the marshalling

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-23 19:38:43 UTC (rev 24899)
+++ labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-core/src/main/java/org/drools/marshalling/OutputMarshaller.java	2009-01-23 19:40:39 UTC (rev 24900)
@@ -746,28 +746,36 @@
 
     public static void writeProcessInstance(MarshallerWriteContext context,
                                             RuleFlowProcessInstance processInstance) throws IOException {
+        writeProcessInstance(context, processInstance, true);
+    }
+
+    public static void writeProcessInstance(MarshallerWriteContext context,
+                                            RuleFlowProcessInstance processInstance, boolean includeVariables) throws IOException {
         ObjectOutputStream stream = context.stream;
         stream.writeLong( processInstance.getId() );
         stream.writeUTF( processInstance.getProcessId() );
         stream.writeInt( processInstance.getState() );
         stream.writeLong( processInstance.getNodeInstanceCounter() );
 
-        VariableScopeInstance variableScopeInstance = (VariableScopeInstance) processInstance.getContextInstance( VariableScope.VARIABLE_SCOPE );
-        Map<String, Object> variables = variableScopeInstance.getVariables();
-        List<String> keys = new ArrayList<String>( variables.keySet() );
-        Collections.sort( keys,
-                          new Comparator<String>() {
-                              public int compare(String o1,
-                                                 String o2) {
-                                  return o1.compareTo( o2 );
-                              }
-                          } );
-        stream.writeInt( keys.size() );
-        for ( String key : keys ) {
-            stream.writeUTF( key );
-            stream.writeObject( variables.get( key ) );
+        if(includeVariables){
+            VariableScopeInstance variableScopeInstance = (VariableScopeInstance) processInstance.getContextInstance( VariableScope.VARIABLE_SCOPE );
+            Map<String, Object> variables = variableScopeInstance.getVariables();
+
+
+            List<String> keys = new ArrayList<String>( variables.keySet() );
+            Collections.sort( keys,
+                              new Comparator<String>() {
+                                  public int compare(String o1,
+                                                     String o2) {
+                                      return o1.compareTo( o2 );
+                                  }
+                              } );
+            stream.writeInt( keys.size() );
+            for ( String key : keys ) {
+                stream.writeUTF( key );
+                stream.writeObject( variables.get( key ) );
+            }
         }
-
         SwimlaneContextInstance swimlaneContextInstance = (SwimlaneContextInstance) processInstance.getContextInstance( SwimlaneContext.SWIMLANE_SCOPE );
         Map<String, String> swimlaneActors = swimlaneContextInstance.getSwimlaneActors();
         stream.writeInt( swimlaneActors.size() );




More information about the jboss-svn-commits mailing list