[jboss-svn-commits] JBL Code SVN: r25510 - in labs/jbossrules/trunk/drools-process/drools-bam/src/main: resources and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Mar 5 18:57:02 EST 2009


Author: KrisVerlaenen
Date: 2009-03-05 18:57:02 -0500 (Thu, 05 Mar 2009)
New Revision: 25510

Modified:
   labs/jbossrules/trunk/drools-process/drools-bam/src/main/java/org/drools/process/audit/HibernateUtil.java
   labs/jbossrules/trunk/drools-process/drools-bam/src/main/java/org/drools/process/audit/ProcessInstanceLog.java
   labs/jbossrules/trunk/drools-process/drools-bam/src/main/java/org/drools/process/audit/WorkingMemoryDbLogger.java
   labs/jbossrules/trunk/drools-process/drools-bam/src/main/resources/AuditLog.hbm.xml
Log:
 - added unique id to process instance log

Modified: labs/jbossrules/trunk/drools-process/drools-bam/src/main/java/org/drools/process/audit/HibernateUtil.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bam/src/main/java/org/drools/process/audit/HibernateUtil.java	2009-03-05 23:29:53 UTC (rev 25509)
+++ labs/jbossrules/trunk/drools-process/drools-bam/src/main/java/org/drools/process/audit/HibernateUtil.java	2009-03-05 23:57:02 UTC (rev 25510)
@@ -19,5 +19,9 @@
     public static SessionFactory getSessionFactory() {
         return sessionFactory;
     }
+    
+    public static void close() {
+    	sessionFactory.close();
+    }
 
 }

Modified: labs/jbossrules/trunk/drools-process/drools-bam/src/main/java/org/drools/process/audit/ProcessInstanceLog.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bam/src/main/java/org/drools/process/audit/ProcessInstanceLog.java	2009-03-05 23:29:53 UTC (rev 25509)
+++ labs/jbossrules/trunk/drools-process/drools-bam/src/main/java/org/drools/process/audit/ProcessInstanceLog.java	2009-03-05 23:57:02 UTC (rev 25510)
@@ -4,6 +4,7 @@
 
 public class ProcessInstanceLog {
     
+	private String id;
     private long processInstanceId;
     private String processId;
     private Date start;
@@ -18,6 +19,14 @@
         setStart(new Date());
     }
     
+    public String getId() {
+    	return id;
+    }
+    
+    void setId(String id) {
+		this.id = id;
+	}
+
     public long getProcessInstanceId() {
         return processInstanceId;
     }

Modified: labs/jbossrules/trunk/drools-process/drools-bam/src/main/java/org/drools/process/audit/WorkingMemoryDbLogger.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bam/src/main/java/org/drools/process/audit/WorkingMemoryDbLogger.java	2009-03-05 23:29:53 UTC (rev 25509)
+++ labs/jbossrules/trunk/drools-process/drools-bam/src/main/java/org/drools/process/audit/WorkingMemoryDbLogger.java	2009-03-05 23:57:02 UTC (rev 25510)
@@ -1,6 +1,7 @@
 package org.drools.process.audit;
 
 import java.util.Date;
+import java.util.List;
 
 import org.drools.WorkingMemory;
 import org.drools.audit.WorkingMemoryLogger;
@@ -54,9 +55,14 @@
     private void updateProcessLog(long processInstanceId) {
         Session session = HibernateUtil.getSessionFactory().getCurrentSession();
         session.beginTransaction();
-        ProcessInstanceLog log = (ProcessInstanceLog) session.load(ProcessInstanceLog.class, processInstanceId);
-        log.setEnd(new Date());
-        session.update(log);
+        List<ProcessInstanceLog> result = session.createQuery(
+        "from ProcessInstanceLog as log where log.processInstanceId = ? and log.end is null")
+            .setLong(0, processInstanceId).list();
+        if (result != null && result.size() != 0) {
+        	ProcessInstanceLog log = result.get(result.size() - 1);
+	        log.setEnd(new Date());
+	        session.update(log);
+        }
         session.getTransaction().commit();
     }
     
@@ -75,5 +81,10 @@
         session.save(log);
         session.getTransaction().commit();
     }
+    
+    public void dispose() {
+    	HibernateUtil.getSessionFactory().getCurrentSession().close();
+    	HibernateUtil.close();
+    }
 
 }

Modified: labs/jbossrules/trunk/drools-process/drools-bam/src/main/resources/AuditLog.hbm.xml
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bam/src/main/resources/AuditLog.hbm.xml	2009-03-05 23:29:53 UTC (rev 25509)
+++ labs/jbossrules/trunk/drools-process/drools-bam/src/main/resources/AuditLog.hbm.xml	2009-03-05 23:57:02 UTC (rev 25510)
@@ -6,9 +6,10 @@
 <hibernate-mapping>
 
 	<class name="org.drools.process.audit.ProcessInstanceLog" >
-        <id name="processInstanceId">
-            <generator class="assigned"/>
+        <id name="id">
+            <generator class="native"/>
         </id>
+        <property name="processInstanceId"/>
         <property name="processId"/>
         <property name="start" type="timestamp" column="START_DATE"/>
         <property name="end" type="timestamp" column="END_DATE"/>




More information about the jboss-svn-commits mailing list