Author: lwaterman
Date: Thu Dec  7 16:11:46 2006
New Revision: 483748

URL: http://svn.apache.org/viewvc?view=rev&rev=483748
Log:
add support for delete

Modified:
    
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ActivityRecoveryDAOImpl.java
    
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java
    
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessDAOImpl.java
    
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessInstanceDAOImpl.java

Modified: 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ActivityRecoveryDAOImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ActivityRecoveryDAOImpl.java?view=diff&rev=483748&r1=483747&r2=483748
==============================================================================
--- 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ActivityRecoveryDAOImpl.java
 (original)
+++ 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ActivityRecoveryDAOImpl.java
 Thu Dec  7 16:11:46 2006
@@ -57,9 +57,12 @@
                _reason = reason;
                _dateTime = dateTime;
                
-               // TODO: implement
-               //_details = data;
-               //_actions = action;
+               _details = DOMUtils.domToString(data);
+               
+        String alist = actions[0];
+        for (int i = 1; i < actions.length; ++i)
+            alist += " " + actions[i];
+               _actions = alist;
                
                _retries = retries;
                
@@ -87,10 +90,12 @@
 
        public Element getDetails() {
                Element ret = null;
-               try {
-                       ret = DOMUtils.stringToDOM(_details);
-               } catch (Exception e) {
-                       throw new RuntimeException(e);
+               if ( _details != null ) {
+                       try {
+                               ret = DOMUtils.stringToDOM(_details);
+                       } catch (Exception e) {
+                               throw new RuntimeException(e);
+                       }
                }
                return ret;
        }

Modified: 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java?view=diff&rev=483748&r1=483747&r2=483748
==============================================================================
--- 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java
 (original)
+++ 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java
 Thu Dec  7 16:11:46 2006
@@ -8,12 +8,14 @@
 import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Entity;
+import javax.persistence.EntityManager;
 import javax.persistence.FetchType;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.OneToMany;
 import javax.persistence.Table;
+import javax.persistence.Transient;
 import javax.xml.namespace.QName;
 
 import org.apache.ode.bpel.common.BpelEventFilter;
@@ -30,6 +32,8 @@
 @Entity
 @Table(name="ODE_ROOT")
 public class BPELDAOConnectionImpl implements BpelDAOConnection {
+       
+       @Transient private EntityManager _em;
 
        @Id @Column(name="ROOT_ID")
        private Long _id;
@@ -47,8 +51,9 @@
        private Collection<ScopeDAOImpl> _scopes = new 
ArrayList<ScopeDAOImpl>();
        
        public BPELDAOConnectionImpl() {}
-       public BPELDAOConnectionImpl(Long id) {
+       public BPELDAOConnectionImpl(Long id, EntityManager em) {
                _id = id;
+               _em = em;
        }
        
        public List<BpelEvent> bpelEventQuery(InstanceFilter ifilter,
@@ -64,7 +69,7 @@
        }
 
        public void close() {
-               // TODO Auto-generated method stub
+               _em = null;
 
        }
 
@@ -143,6 +148,14 @@
        public Collection<ProcessDAO> processQuery(ProcessFilter criteria) {
                // TODO Auto-generated method stub
                return null;
+       }
+       
+       EntityManager getEntityManager() {
+               return _em;
+       }
+       
+       public void setEntityManger(EntityManager em) {
+               _em = em;
        }
 
 }

Modified: 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessDAOImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessDAOImpl.java?view=diff&rev=483748&r1=483747&r2=483748
==============================================================================
--- 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessDAOImpl.java
 (original)
+++ 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessDAOImpl.java
 Thu Dec  7 16:11:46 2006
@@ -7,13 +7,17 @@
 import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Entity;
+import javax.persistence.EntityManager;
 import javax.persistence.FetchType;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
+import javax.persistence.PersistenceContext;
+import javax.persistence.PersistenceUnit;
 import javax.persistence.Table;
+import javax.persistence.Transient;
 import javax.persistence.Version;
 import javax.xml.namespace.QName;
 
@@ -27,6 +31,8 @@
 @Entity
 @Table(name="ODE_PROCESS")
 public class ProcessDAOImpl implements ProcessDAO {
+       @PersistenceUnit
+       private EntityManager em;
        
        @Id @Column(name="PROCESS_ID") 
        @GeneratedValue(strategy=GenerationType.AUTO)
@@ -65,8 +71,9 @@
        }
 
        public void delete() {
-               // TODO Auto-generated method stub
-
+               if ( _connection.getEntityManager() != null ) {
+                       _connection.getEntityManager().remove(this);
+               }
        }
 
        public Collection<ProcessInstanceDAO> findInstance(CorrelationKey 
cckey) {

Modified: 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessInstanceDAOImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessInstanceDAOImpl.java?view=diff&rev=483748&r1=483747&r2=483748
==============================================================================
--- 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessInstanceDAOImpl.java
 (original)
+++ 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessInstanceDAOImpl.java
 Thu Dec  7 16:11:46 2006
@@ -50,7 +50,7 @@
        @Basic @Column(name="INSTANCE_STATE") private short _state;
        @Basic @Column(name="PREVIOUS_STATE") private short _previousState;
        @Lob @Column(name="EXECUTION_STATE") private byte[] _executionState;
-       @Basic @Column(name="SEQUENCE") private Long _sequence;
+       @Basic @Column(name="SEQUENCE") private long _sequence;
        @Basic @Column(name="DATE_CREATED") private Date _dateCreated = new 
Date();
        
        @OneToOne(fetch=FetchType.LAZY,cascade={CascadeType.ALL})
@@ -84,6 +84,7 @@
        public void createActivityRecovery(String channel, long activityId,
                        String reason, Date dateTime, Element data, String[] 
actions,
                        int retries) {
+
                ActivityRecoveryDAO ar = new ActivityRecoveryDAOImpl(channel, 
activityId, reason, dateTime, data, actions, retries);
                _recoveries.add(ar);
                _lastRecovery = dateTime;
@@ -100,7 +101,9 @@
        }
 
        public void delete() {
-               // TODO Auto-generated method stub
+               if ( _connection.getEntityManager() != null ) {
+                       _connection.getEntityManager().remove(this);
+               }
 
        }
 


Reply via email to