[jboss-svn-commits] JBL Code SVN: r25136 - in labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-process/drools-process-enterprise/src: test/java/org/drools/persistence/session and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Feb 6 09:13:33 EST 2009
Author: salaboy21
Date: 2009-02-06 09:13:33 -0500 (Fri, 06 Feb 2009)
New Revision: 25136
Modified:
labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-process/drools-process-enterprise/src/main/java/org/drools/persistence/processinstance/JPAProcessInstanceManager.java
labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-process/drools-process-enterprise/src/main/java/org/drools/persistence/processinstance/ProcessInstanceInfo.java
labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-process/drools-process-enterprise/src/main/java/org/drools/persistence/processinstance/VariablePersistenceStrategyFactory.java
labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-process/drools-process-enterprise/src/test/java/org/drools/persistence/session/MyEntity.java
Log:
Preserver the old persistence strategy - Not working.. refactoring
Modified: labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-process/drools-process-enterprise/src/main/java/org/drools/persistence/processinstance/JPAProcessInstanceManager.java
===================================================================
--- labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-process/drools-process-enterprise/src/main/java/org/drools/persistence/processinstance/JPAProcessInstanceManager.java 2009-02-06 13:53:12 UTC (rev 25135)
+++ labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-process/drools-process-enterprise/src/main/java/org/drools/persistence/processinstance/JPAProcessInstanceManager.java 2009-02-06 14:13:33 UTC (rev 25136)
@@ -90,9 +90,16 @@
manager.persist(((JPAPersistedVariable)variable).getRealVariable());
updateVariableInstanceInfo(variable);
}
- variable.setProcessInstanceInfo(processInstanceInfo);
- processInstanceInfo.addVariables(variable);
+ if(variable != null){
+ variable.setProcessInstanceInfo(processInstanceInfo);
+ processInstanceInfo.addVariables(variable);
+ }
}
+ //If we wont find any VariableInstanceInfo that mactches with the persistence strategy,
+ //we just serialize the variables inside the blob
+ if(processInstanceInfo.getVariables().size() == 0){
+ processInstanceInfo.setSerializeVariables(true);
+ }
}
Modified: labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-process/drools-process-enterprise/src/main/java/org/drools/persistence/processinstance/ProcessInstanceInfo.java
===================================================================
--- labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-process/drools-process-enterprise/src/main/java/org/drools/persistence/processinstance/ProcessInstanceInfo.java 2009-02-06 13:53:12 UTC (rev 25135)
+++ labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-process/drools-process-enterprise/src/main/java/org/drools/persistence/processinstance/ProcessInstanceInfo.java 2009-02-06 14:13:33 UTC (rev 25136)
@@ -44,6 +44,7 @@
private Date lastReadDate;
private Date lastModificationDate;
private int state;
+ private boolean serializeVariables=false;
// TODO How do I mark a process instance info as dirty when the process instance
// has changed (so that byte array is regenerated and saved) ?
private @Lob byte[] processInstanceByteArray;
@@ -100,14 +101,14 @@
try {
ByteArrayInputStream bais = new ByteArrayInputStream(processInstanceByteArray);
MarshallerReaderContext context = new MarshallerReaderContext(bais, null, null, null);
- processInstance = InputMarshaller.readProcessInstance(context,false);
+ processInstance = InputMarshaller.readProcessInstance(context,serializeVariables);
context.close();
} catch (IOException e) {
e.printStackTrace();
throw new IllegalArgumentException(
"IOException while loading process instance: " + e.getMessage());
}
- //resolveInputVariables();
+
}
return processInstance;
@@ -118,7 +119,7 @@
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
MarshallerWriteContext context = new MarshallerWriteContext(baos, null, null, null, null);
- OutputMarshaller.writeProcessInstance(context, (RuleFlowProcessInstance) processInstance, false);
+ OutputMarshaller.writeProcessInstance(context, (RuleFlowProcessInstance) processInstance, serializeVariables);
context.close();
} catch (IOException e) {
throw new IllegalArgumentException(
@@ -156,6 +157,12 @@
public void clearVariables(){
this.getVariables().clear();
}
+ public boolean getSerializeVariables(){
+ return this.serializeVariables;
+ }
+ public void setSerializeVariables(boolean serializeVariables) {
+ this.serializeVariables = serializeVariables;
+ }
}
Modified: labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-process/drools-process-enterprise/src/main/java/org/drools/persistence/processinstance/VariablePersistenceStrategyFactory.java
===================================================================
--- labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-process/drools-process-enterprise/src/main/java/org/drools/persistence/processinstance/VariablePersistenceStrategyFactory.java 2009-02-06 13:53:12 UTC (rev 25135)
+++ labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-process/drools-process-enterprise/src/main/java/org/drools/persistence/processinstance/VariablePersistenceStrategyFactory.java 2009-02-06 14:13:33 UTC (rev 25136)
@@ -35,8 +35,8 @@
VariablePersistenceStrategy vPRS = new VariablePersistenceStrategy();
Map<String, String> types = new HashMap<String, String>();
- types.put("javax.persistence.Entity", "org.drools.persistence.processinstance.JPAVariablePersister");
- types.put("java.io.Serializable", "org.drools.persistence.processinstance.SerializableVariablePersister");
+ // types.put("javax.persistence.Entity", "org.drools.persistence.processinstance.JPAVariablePersister");
+ //types.put("java.io.Serializable", "org.drools.persistence.processinstance.SerializableVariablePersister");
vPRS.setTypes(types);
return vPRS;
}
Modified: labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-process/drools-process-enterprise/src/test/java/org/drools/persistence/session/MyEntity.java
===================================================================
--- labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-process/drools-process-enterprise/src/test/java/org/drools/persistence/session/MyEntity.java 2009-02-06 13:53:12 UTC (rev 25135)
+++ labs/jbossrules/branches/salaboy_VariablePersistenceStrategy/drools-process/drools-process-enterprise/src/test/java/org/drools/persistence/session/MyEntity.java 2009-02-06 14:13:33 UTC (rev 25136)
@@ -17,6 +17,7 @@
package org.drools.persistence.session;
+import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
@@ -28,7 +29,7 @@
* @author salaboy
*/
@Entity
-public class MyEntity {
+public class MyEntity implements Serializable {
@Id @GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
private String test;
More information about the jboss-svn-commits
mailing list