[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