[jboss-svn-commits] JBL Code SVN: r26624 - in labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance: persisters and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue May 19 15:05:14 EDT 2009
Author: salaboy21
Date: 2009-05-19 15:05:13 -0400 (Tue, 19 May 2009)
New Revision: 26624
Modified:
labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/ProcessInstanceInfo.java
labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/VariablePersistenceStrategy.java
labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/persisters/JPAVariablePersister.java
labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/persisters/SerializableVariablePersister.java
Log:
last minor changes, test failing.. because Map doesn't persist
Modified: labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/ProcessInstanceInfo.java
===================================================================
--- labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/ProcessInstanceInfo.java 2009-05-19 16:56:04 UTC (rev 26623)
+++ labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/ProcessInstanceInfo.java 2009-05-19 19:05:13 UTC (rev 26624)
@@ -75,8 +75,10 @@
@Transient
private Environment env;
private boolean serializeVariables = false;
+
+
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy="processInstanceInfo")
- private Map<String,VariableInstanceInfo> variables = new HashMap<String,VariableInstanceInfo>();
+ private Map<String,VariableInstanceInfo> variables;
ProcessInstanceInfo() {
}
@@ -85,6 +87,7 @@
this.processInstance = processInstance;
this.processId = processInstance.getProcessId();
startDate = new Date();
+ this.variables = new HashMap<String,VariableInstanceInfo>();
}
public ProcessInstanceInfo(ProcessInstance processInstance, Environment env) {
@@ -92,6 +95,7 @@
this.processId = processInstance.getProcessId();
startDate = new Date();
this.env = env;
+ this.variables = new HashMap<String,VariableInstanceInfo>();
}
public long getId() {
Modified: labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/VariablePersistenceStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/VariablePersistenceStrategy.java 2009-05-19 16:56:04 UTC (rev 26623)
+++ labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/VariablePersistenceStrategy.java 2009-05-19 19:05:13 UTC (rev 26624)
@@ -85,18 +85,25 @@
persister = (VariablePersister) constructor.newInstance(null);
return persister.getExternalPersistedVariable(variableInfo, env);
} catch (InstantiationException ex) {
+ ex.printStackTrace();
Logger.getLogger(VariablePersistenceStrategy.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
+ ex.printStackTrace();
Logger.getLogger(VariablePersistenceStrategy.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalArgumentException ex) {
+ ex.printStackTrace();
Logger.getLogger(VariablePersistenceStrategy.class.getName()).log(Level.SEVERE, null, ex);
} catch (InvocationTargetException ex) {
+ ex.printStackTrace();
Logger.getLogger(VariablePersistenceStrategy.class.getName()).log(Level.SEVERE, null, ex);
} catch (NoSuchMethodException ex) {
+ ex.printStackTrace();
Logger.getLogger(VariablePersistenceStrategy.class.getName()).log(Level.SEVERE, null, ex);
} catch (SecurityException ex) {
+ ex.printStackTrace();
Logger.getLogger(VariablePersistenceStrategy.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
+ ex.printStackTrace();
Logger.getLogger(VariablePersistenceStrategy.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
Modified: labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/persisters/JPAVariablePersister.java
===================================================================
--- labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/persisters/JPAVariablePersister.java 2009-05-19 16:56:04 UTC (rev 26623)
+++ labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/persisters/JPAVariablePersister.java 2009-05-19 19:05:13 UTC (rev 26624)
@@ -47,9 +47,9 @@
}
public VariableInstanceInfo persistExternalVariable(String name, Object o, Environment env) {
- boolean localTransaction = false;
- UserTransaction ut = null;
- EntityManagerFactory emf = (EntityManagerFactory) env.get(EnvironmentName.ENTITY_MANAGER_FACTORY);
+
+
+ //EntityManagerFactory emf = (EntityManagerFactory) env.get(EnvironmentName.ENTITY_MANAGER_FACTORY);
EntityManager em = (EntityManager) env.get(EnvironmentName.ENTITY_MANAGER);
VariableInstanceInfo variable = null;
try {
Modified: labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/persisters/SerializableVariablePersister.java
===================================================================
--- labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/persisters/SerializableVariablePersister.java 2009-05-19 16:56:04 UTC (rev 26623)
+++ labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/persisters/SerializableVariablePersister.java 2009-05-19 19:05:13 UTC (rev 26624)
@@ -47,76 +47,33 @@
}
public VariableInstanceInfo persistExternalVariable(String name, Object o, Environment env) {
- boolean localTransaction = false;
- UserTransaction ut = null;
- EntityManagerFactory emf = (EntityManagerFactory) env.get(EnvironmentName.ENTITY_MANAGER_FACTORY);
- EntityManager em = (EntityManager) env.get(EnvironmentName.ENTITY_MANAGER);
- SerializablePersistedVariable variable = null;
+
+
+ //EntityManagerFactory emf = (EntityManagerFactory) env.get(EnvironmentName.ENTITY_MANAGER_FACTORY);
+ // EntityManager em = (EntityManager) env.get(EnvironmentName.ENTITY_MANAGER);
+ VariableInstanceInfo variable = null;
try {
- ut = (UserTransaction) new InitialContext().lookup("java:comp/UserTransaction");
+
+ // em.joinTransaction();
- if (ut.getStatus() == Status.STATUS_NO_TRANSACTION) {
- // If there is no transaction then start one, we will commit within the same Command
- ut.begin();
- localTransaction = true;
- }
- EntityManager localEm = (EntityManager) env.get(EnvironmentName.ENTITY_MANAGER);
- if (localEm == null || !localEm.isOpen()) {
- localEm = emf.createEntityManager(); // no need to call joinTransaction as it will do so if one already exists
- env.set(EnvironmentName.ENTITY_MANAGER, localEm);
- }
- if (em == null) {
- // there must have been a rollback to lazily re-initialise the state
- em = emf.createEntityManager();
-
- }
-
- em.joinTransaction();
-
-
-
variable = new SerializablePersistedVariable();
variable.setName(name);
variable.setPersister(this.getClass().getName());
- variable.setContent(getBytes(o));
+ ((SerializablePersistedVariable)variable).setContent(getBytes(o));
- em.persist(variable);
+ //em.persist(variable);
- if (localTransaction) {
- // it's a locally created transaction so commit
- ut.commit();
- // cleanup local entity manager
- if (localEm.isOpen()) {
- localEm.close();
- }
- env.set(EnvironmentName.ENTITY_MANAGER, null);
- // clean up cached process and work item instances
-
- }
-
-
-
} catch (Throwable t1) {
t1.printStackTrace();
- if (localTransaction) {
- try {
- if (ut != null) {
- ut.rollback();
- }
- throw new RuntimeException("Could not execute command",
- t1);
- } catch (Throwable t2) {
- throw new RuntimeException("Could not rollback transaction",
- t2);
- }
- } else {
+
+
throw new RuntimeException("Could not execute command",
t1);
- }
+
}
return variable;
More information about the jboss-svn-commits
mailing list