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=512456&r1=512455&r2=512456
==============================================================================
--- 
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
 Tue Feb 27 14:30:33 2007
@@ -21,121 +21,68 @@
 
 import org.apache.ode.bpel.common.BpelEventFilter;
 import org.apache.ode.bpel.common.InstanceFilter;
-import org.apache.ode.bpel.common.ProcessFilter;
-import org.apache.ode.bpel.dao.*;
+import org.apache.ode.bpel.dao.BpelDAOConnection;
+import org.apache.ode.bpel.dao.MessageExchangeDAO;
+import org.apache.ode.bpel.dao.ProcessDAO;
+import org.apache.ode.bpel.dao.ProcessInstanceDAO;
+import org.apache.ode.bpel.dao.ScopeDAO;
 import org.apache.ode.bpel.evt.BpelEvent;
 import org.apache.ode.bpel.evt.ScopeEvent;
 
-import javax.persistence.*;
+import javax.persistence.EntityManager;
 import javax.xml.namespace.QName;
 import java.sql.Timestamp;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Date;
 import java.util.List;
 
[EMAIL PROTECTED]
[EMAIL PROTECTED](name="ODE_ROOT")
 public class BPELDAOConnectionImpl implements BpelDAOConnection {
-
-    @Transient private EntityManager _em;
-
-    @Id @Column(name="ROOT_ID")
-    private Long _id;
-
-    
@OneToMany(fetch=FetchType.LAZY,mappedBy="_connection",cascade={CascadeType.ALL})
-    private Collection<ProcessDAOImpl> _processes = new 
ArrayList<ProcessDAOImpl>();
-
-    
@OneToMany(fetch=FetchType.LAZY,mappedBy="_connection",cascade={CascadeType.ALL})
-    private Collection<ProcessInstanceDAOImpl> _instances = new 
ArrayList<ProcessInstanceDAOImpl>();
-
-    
@OneToMany(fetch=FetchType.LAZY,mappedBy="_connection",cascade={CascadeType.ALL})
-    private Collection<MessageExchangeDAOImpl> _messageEx = new 
ArrayList<MessageExchangeDAOImpl>();
-
-    
@OneToMany(fetch=FetchType.LAZY,mappedBy="_connection",cascade={CascadeType.ALL})
-    private Collection<ScopeDAOImpl> _scopes = new ArrayList<ScopeDAOImpl>();
+       
+       EntityManager _em;
 
     public BPELDAOConnectionImpl(EntityManager em) {
-        _id = 0L;
         _em = em;
     }
 
     public List<BpelEvent> bpelEventQuery(InstanceFilter ifilter,
                                           BpelEventFilter efilter) {
-        // TODO Auto-generated method stub
-        //return null;
+        // TODO
         throw new UnsupportedOperationException();
-        //System.out.println(ifilter.toString());
-        //System.out.println(efilter.toString());
-        //return null;
     }
 
     public List<Date> bpelEventTimelineQuery(InstanceFilter ifilter,
                                              BpelEventFilter efilter) {
-        // TODO Auto-generated method stub
-        //return null;
+        // TODO
         throw new UnsupportedOperationException();
     }
+       
+       public ProcessInstanceDAO getInstance(Long iid) {
+        return _em.find(ProcessInstanceDAOImpl.class, iid);
+       }
 
     public void close() {
         _em = null;
-
     }
 
     public MessageExchangeDAO createMessageExchange(char dir) {
-        MessageExchangeDAOImpl ret = new MessageExchangeDAOImpl(dir,this);
-        _messageEx.add(ret);
+        MessageExchangeDAOImpl ret = new MessageExchangeDAOImpl(dir);
+        _em.persist(ret);
         return ret;
     }
 
     public ProcessDAO createProcess(QName pid, QName type, String guid, long 
version) {
         ProcessDAOImpl ret = new ProcessDAOImpl(pid,type,guid,this,version);
-
-        _processes.add(ret);
+        System.out.println("########## " + _em.contains(ret));
+        _em.persist(ret);
         return ret;
     }
 
-    void addInstance(ProcessInstanceDAOImpl inst) {
-        _instances.add(inst);
-    }
-    void addScope(ScopeDAOImpl scope) {
-        _scopes.add(scope);
-    }
-    public Long getID() {
-        return _id;
-    }
-    public void setID(Long id) {
-        _id = id;
-    }
-
-    public ProcessInstanceDAO getInstance(Long iid) {
-        // TODO: may need a map or DB lookup here for performance
-        for (ProcessInstanceDAO inst : _instances) {
-            if (inst.getInstanceId().equals(iid) ) return inst;
-        }
-        return null;
-    }
-
-    public MessageExchangeDAO getMessageExchange(String mexid) {
-        // TODO: may need a map or DB lookup here for performance
-        for ( MessageExchangeDAOImpl mex : _messageEx ) {
-            if ( mex.getMessageExchangeId().equals(mexid)) return mex;
-        }
-        return null;
-    }
-
     public ProcessDAO getProcess(QName processId) {
-        List daos = _em.createQuery("select p from ProcessDAOImpl 
p").getResultList();
-        if (daos.size() > 0) return (ProcessDAO) daos.get(0);
-        else return null;
+        return _em.find(ProcessDAOImpl.class, processId.toString());
     }
 
     public ScopeDAO getScope(Long siidl) {
-        // TODO: May need a map or DB lookup here for performance
-        for ( ScopeDAOImpl s : _scopes ) {
-            if ( s.getScopeInstanceId().equals(siidl) ) return s;
-        }
-        return null;
+        return _em.find(ScopeDAOImpl.class, siidl);
     }
 
     public void insertBpelEvent(BpelEvent event, ProcessDAO process, 
ProcessInstanceDAO instance) {
@@ -151,39 +98,35 @@
             eventDao.setScopeId(((ScopeEvent) event).getScopeId());
         eventDao.setEvent(event);
         _em.persist(eventDao);
-    }
+       }
 
+       @SuppressWarnings("unchecked")
     public Collection<ProcessInstanceDAO> instanceQuery(InstanceFilter 
criteria) {
-        // TODO: Implement me
-        return new ArrayList<ProcessInstanceDAO>(_instances);
-    }
+        // TODO
+        return _em.createQuery("select x from ProcessInstanceDAOImpl as 
x").getResultList();
+       }
+
+   
+       public Collection<ProcessInstanceDAO> instanceQuery(String expression) {
+           return instanceQuery(new InstanceFilter(expression));
+       }
+
+       public void setEntityManger(EntityManager em) {
+               _em = em;
+       }
+       
+       void removeProcess(ProcessDAOImpl p) {
+               if ( _em != null ) {
+                       _em.remove(p);
+                       _em.flush();
+               }
+       }
 
-    public Collection<ProcessInstanceDAO> instanceQuery(String expression) {
-        // TODO: Implement me
-        return new ArrayList<ProcessInstanceDAO>(_instances);
-    }
-
-    public Collection<ProcessDAO> processQuery(ProcessFilter criteria) {
-        // TODO: Implement me
-        return new ArrayList<ProcessDAO>(_processes);
+    public MessageExchangeDAO getMessageExchange(String mexid) {
+        return _em.find(MessageExchangeDAOImpl.class, mexid);
     }
 
     public EntityManager getEntityManager() {
         return _em;
     }
-
-    public void setEntityManger(EntityManager em) {
-        _em = em;
-    }
-
-    void removeProcess(ProcessDAOImpl p) {
-        _processes.remove(p);
-
-        if ( _em != null ) {
-            _em.remove(p);
-            _em.flush();
-        }
-
-    }
-
 }

Added: 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrSetProperty.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrSetProperty.java?view=auto&rev=512456
==============================================================================
--- 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrSetProperty.java
 (added)
+++ 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrSetProperty.java
 Tue Feb 27 14:30:33 2007
@@ -0,0 +1,42 @@
+package org.apache.ode.dao.jpa;
+
+import javax.persistence.Basic;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+/**
+ * @author Matthieu Riou <mriou at apache dot org>
+ */
[EMAIL PROTECTED]
[EMAIL PROTECTED](name="ODE_CORSET_PROP")
+public class CorrSetProperty {
+    @Basic
+    @Column(name="PROP_KEY")
+    private String propertyKey;
+    @Basic @Column(name="PROP_VALUE")
+    private String propertyValue;
+
+    public CorrSetProperty() {
+    }
+    public CorrSetProperty(String propertyKey, String propertyValue) {
+        this.propertyKey = propertyKey;
+        this.propertyValue = propertyValue;
+    }
+
+    public String getPropertyKey() {
+        return propertyKey;
+    }
+
+    public void setPropertyKey(String propertyKey) {
+        this.propertyKey = propertyKey;
+    }
+
+    public String getPropertyValue() {
+        return propertyValue;
+    }
+
+    public void setPropertyValue(String propertyValue) {
+        this.propertyValue = propertyValue;
+    }
+}

Modified: 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelationSetDAOImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelationSetDAOImpl.java?view=diff&rev=512456&r1=512455&r2=512456
==============================================================================
--- 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelationSetDAOImpl.java
 (original)
+++ 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelationSetDAOImpl.java
 Tue Feb 27 14:30:33 2007
@@ -19,8 +19,9 @@
 
 package org.apache.ode.dao.jpa;
 
-import java.util.HashMap;
-import java.util.Map;
+import org.apache.ode.bpel.common.CorrelationKey;
+import org.apache.ode.bpel.dao.CorrelationSetDAO;
+import org.apache.ode.bpel.dao.ScopeDAO;
 
 import javax.persistence.Basic;
 import javax.persistence.CascadeType;
@@ -31,13 +32,14 @@
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
 import javax.persistence.Table;
 import javax.persistence.Version;
 import javax.xml.namespace.QName;
-
-import org.apache.ode.bpel.common.CorrelationKey;
-import org.apache.ode.bpel.dao.CorrelationSetDAO;
-import org.apache.ode.bpel.dao.ScopeDAO;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
 
 @Entity
 @Table(name="ODE_CORRELATION_SET")
@@ -47,14 +49,16 @@
        @GeneratedValue(strategy=GenerationType.AUTO)
        private Long _correlationSetId;
        @Basic @Column(name="NAME") private String _name;
-       @Basic @Column(name="PROPERTIES") private HashMap<QName,String> _props 
= new HashMap<QName,String>();
-       @Basic @Column(name="CORRELATION_KEY") private CorrelationKey 
_correlationKey;
-       @ManyToOne(fetch=FetchType.LAZY,cascade={CascadeType.PERSIST})
-       @Column(name="SCOPE_ID")
-       private ScopeDAOImpl _scope;
+       @Basic @Column(name="CORRELATION_KEY") private String _correlationKey;
        @Version @Column(name="VERSION") private long _version;
-       
-       public CorrelationSetDAOImpl() {}
+
+    @OneToMany(cascade={CascadeType.ALL})
+    private Collection<CorrSetProperty> _props = new 
ArrayList<CorrSetProperty>();
+    @ManyToOne(fetch=FetchType.LAZY,cascade={CascadeType.PERSIST})
+    @Column(name="SCOPE_ID")
+    private ScopeDAOImpl _scope;
+
+    public CorrelationSetDAOImpl() {}
        public CorrelationSetDAOImpl(ScopeDAOImpl scope, String name) {
                _name = name;
                _scope = scope;
@@ -69,7 +73,11 @@
        }
 
        public Map<QName, String> getProperties() {
-               return _props;
+        HashMap<QName, String> map = new HashMap<QName, String>();
+        for (CorrSetProperty prop : _props) {
+            map.put(QName.valueOf(prop.getPropertyKey()), 
prop.getPropertyValue());
+        }
+        return map;
        }
 
        public ScopeDAO getScope() {
@@ -77,14 +85,13 @@
        }
 
        public CorrelationKey getValue() {
-               return _correlationKey;
+               return new CorrelationKey(_correlationKey);
        }
 
        public void setValue(QName[] names, CorrelationKey values) {
-               _correlationKey = values;
+               _correlationKey = values.toCanonicalString();
            for (int m = 0; m < names.length; m++) {
-               _props.put(names[m], values.getValues()[m]);
+            _props.add(new CorrSetProperty(names[m].toString(), 
values.getValues()[m]));
         }
        }
-
 }

Modified: 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/EventDAOImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/EventDAOImpl.java?view=diff&rev=512456&r1=512455&r2=512456
==============================================================================
--- 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/EventDAOImpl.java
 (original)
+++ 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/EventDAOImpl.java
 Tue Feb 27 14:30:33 2007
@@ -21,7 +21,17 @@
 
 import org.apache.ode.bpel.evt.BpelEvent;
 
-import javax.persistence.*;
+import javax.persistence.Basic;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Lob;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
 import java.sql.Timestamp;
 
 /**
@@ -31,10 +41,12 @@
 @Table(name="ODE_EVENT")
 public class EventDAOImpl {
 
-    @Id @Column(name="EVENT_ID")
+    @Id
+    @Column(name="EVENT_ID")
        @GeneratedValue(strategy= GenerationType.AUTO)
        private Long _id;
-    @Basic @Column(name="TSTAMP")
+    @Basic
+    @Column(name="TSTAMP")
     private Timestamp _tstamp;
     @Basic @Column(name="TYPE")
     private String _type;
@@ -48,10 +60,11 @@
     @ManyToOne(fetch=FetchType.LAZY,cascade={CascadeType.PERSIST})
        @Column(name="PROCESS_ID")
     private ProcessDAOImpl _process;
-    @ManyToOne(fetch=FetchType.LAZY,cascade={CascadeType.PERSIST})
+    @ManyToOne(fetch= FetchType.LAZY,cascade={CascadeType.PERSIST})
        @Column(name="INSTANCE_ID")
     private ProcessInstanceDAOImpl _instance;
-    @Lob @Column(name="DATA")
+    @Lob
+    @Column(name="DATA")
     private BpelEvent _event;
 
     public BpelEvent getEvent() {

Modified: 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java?view=diff&rev=512456&r1=512455&r2=512456
==============================================================================
--- 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java
 (original)
+++ 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java
 Tue Feb 27 14:30:33 2007
@@ -19,40 +19,36 @@
 
 package org.apache.ode.dao.jpa;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
+import org.apache.ode.bpel.common.CorrelationKey;
+import org.apache.ode.bpel.dao.MessageDAO;
+import org.apache.ode.bpel.dao.MessageExchangeDAO;
+import org.apache.ode.bpel.dao.PartnerLinkDAO;
+import org.apache.ode.bpel.dao.ProcessDAO;
+import org.apache.ode.bpel.dao.ProcessInstanceDAO;
+import org.apache.ode.utils.DOMUtils;
+import org.apache.ode.utils.uuid.UUID;
+import org.w3c.dom.Element;
 
 import javax.persistence.Basic;
 import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Lob;
 import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
 import javax.persistence.OneToOne;
 import javax.persistence.Table;
 import javax.persistence.Transient;
 import javax.persistence.Version;
 import javax.xml.namespace.QName;
-
-import org.apache.ode.bpel.common.CorrelationKey;
-import org.apache.ode.bpel.dao.MessageDAO;
-import org.apache.ode.bpel.dao.MessageExchangeDAO;
-import org.apache.ode.bpel.dao.PartnerLinkDAO;
-import org.apache.ode.bpel.dao.ProcessDAO;
-import org.apache.ode.bpel.dao.ProcessInstanceDAO;
-import org.apache.ode.utils.DOMUtils;
-import org.apache.ode.utils.uuid.UUID;
-import org.w3c.dom.Element;
-
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.StringTokenizer;
 
 @Entity
 @Table(name="ODE_MESSAGE_EXCHANGE")
@@ -76,9 +72,11 @@
        @Basic @Column(name="PORT_TYPE") private QName _portType;
        @Basic @Column(name="PROPAGATE_TRANS") private boolean 
_propagateTransactionFlag;
        @Basic @Column(name="STATUS") private String _status;
-       @Basic @Column(name="PROPERTIES") private HashMap<String,String> _props 
= new HashMap<String,String>();
-       @Basic @Column(name="CORRELATION_KEYS") 
-       private ArrayList<CorrelationKey> _correlationKeys = new 
ArrayList<CorrelationKey>();
+    @Basic @Column(name="CORRELATION_KEYS") private String _correlationKeys;
+    @Basic @Column(name="PIPED_ID") private String _pipedMessageExchangeId;
+
+    @OneToMany(cascade={CascadeType.ALL})
+    private Collection<MexProperty> _props = new ArrayList<MexProperty>();
        @ManyToOne(fetch=FetchType.LAZY,cascade={CascadeType.PERSIST})
        @Column(name="PROCESS_INSTANCE_ID")
        private ProcessInstanceDAOImpl _processInst;
@@ -95,14 +93,11 @@
        @Column(name="RESPONSE_MESSAGE_ID")
        private MessageDAOImpl _response;
        @Version @Column(name="VERSION") private long _version;
-       @ManyToOne(fetch=FetchType.LAZY,cascade={CascadeType.PERSIST})
-       @Column(name="CONNECTION_ID")
-       private BPELDAOConnectionImpl _connection;
-       
+               
        public MessageExchangeDAOImpl() {}
-       public MessageExchangeDAOImpl(char direction, BPELDAOConnectionImpl 
connection){
+    
+       public MessageExchangeDAOImpl(char direction){
                _direction = direction;
-               _connection = connection;
                _id = new UUID().toString();
        }
        
@@ -192,11 +187,18 @@
        }
 
        public String getProperty(String key) {
-               return _props.get(key);
+        for (MexProperty prop : _props) {
+            if (prop.getPropertyKey().equals(key)) return 
prop.getPropertyValue();
+        }
+        return null;
        }
 
        public Set<String> getPropertyNames() {
-               return _props.keySet();
+        HashSet<String> propNames = new HashSet<String>();
+        for (MexProperty prop : _props) {
+            propNames.add(prop.getPropertyKey());
+        }
+        return propNames;
        }
 
        public MessageDAO getRequest() {
@@ -242,7 +244,6 @@
 
        public void setInstance(ProcessInstanceDAO dao) {
                _processInst = (ProcessInstanceDAOImpl)dao;
-
        }
 
        public void setOperation(String opname) {
@@ -251,7 +252,6 @@
 
        public void setPartnerLink(PartnerLinkDAO plinkDAO) {
                _partnerLink = (PartnerLinkDAOImpl)plinkDAO;
-
        }
 
        public void setPartnerLinkModelId(int modelId) {
@@ -268,35 +268,51 @@
 
        public void setProcess(ProcessDAO process) {
                _process = (ProcessDAOImpl)process;
-
        }
 
        public void setProperty(String key, String value) {
-               _props.put(key, value);
-
+        _props.add(new MexProperty(key, value));
        }
 
        public void setRequest(MessageDAO msg) {
                _request = (MessageDAOImpl)msg;
-
        }
 
        public void setResponse(MessageDAO msg) {
                _response = (MessageDAOImpl)msg;
-
        }
 
        public void setStatus(String status) {
                _status = status;
        }
-       
-       public void addCorrelationKey(CorrelationKey correlationKey) {
-               _correlationKeys.add(correlationKey);
+
+    public String getPipedMessageExchangeId() {
+        return _pipedMessageExchangeId;
+    }
+
+    public void setPipedMessageExchangeId(String pipedMessageExchangeId) {
+        _pipedMessageExchangeId = pipedMessageExchangeId;
+    }
+
+    public void addCorrelationKey(CorrelationKey correlationKey) {
+        if (_correlationKeys == null)
+            _correlationKeys = correlationKey.toCanonicalString();
+        else
+            _correlationKeys = _correlationKeys + "^" + 
correlationKey.toCanonicalString();
        }
-       
+
        public Collection<CorrelationKey> getCorrelationKeys() {
-               return _correlationKeys;
-       }
+        ArrayList<CorrelationKey> correlationKeys = new 
ArrayList<CorrelationKey>();
+        if (_correlationKeys.indexOf("^") > 0) {
+            for (StringTokenizer tokenizer = new 
StringTokenizer(_correlationId, "^"); tokenizer.hasMoreTokens();) {
+                String corrStr = tokenizer.nextToken();
+                correlationKeys.add(new CorrelationKey(corrStr));
+            }
+            return correlationKeys;
+        } else correlationKeys.add(new CorrelationKey(_correlationKeys));
+        return correlationKeys;
+    }
+
 
     public void release() {
         // no-op for now, could be used to do some cleanup

Added: 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MexProperty.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MexProperty.java?view=auto&rev=512456
==============================================================================
--- 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MexProperty.java
 (added)
+++ 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MexProperty.java
 Tue Feb 27 14:30:33 2007
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.ode.dao.jpa;
+
+import javax.persistence.Basic;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+/**
+ * @author Matthieu Riou <mriou at apache dot org>
+ */
[EMAIL PROTECTED]
[EMAIL PROTECTED](name="ODE_MEX_PROP")
+public class MexProperty {
+    @Basic @Column(name="PROP_KEY")
+    private String propertyKey;
+    @Basic @Column(name="PROP_VALUE")
+    private String propertyValue;
+
+    public MexProperty() {
+    }
+    public MexProperty(String propertyKey, String propertyValue) {
+        this.propertyKey = propertyKey;
+        this.propertyValue = propertyValue;
+    }
+
+    public String getPropertyKey() {
+        return propertyKey;
+    }
+
+    public void setPropertyKey(String propertyKey) {
+        this.propertyKey = propertyKey;
+    }
+
+    public String getPropertyValue() {
+        return propertyValue;
+    }
+
+    public void setPropertyValue(String propertyValue) {
+        this.propertyValue = propertyValue;
+    }
+}

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=512456&r1=512455&r2=512456
==============================================================================
--- 
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
 Tue Feb 27 14:30:33 2007
@@ -20,123 +20,123 @@
 package org.apache.ode.dao.jpa;
 
 import org.apache.ode.bpel.common.CorrelationKey;
-import org.apache.ode.bpel.dao.*;
-import org.apache.openjpa.persistence.jdbc.ElementJoinColumn;
-
-import javax.persistence.*;
+import org.apache.ode.bpel.dao.CorrelatorDAO;
+import org.apache.ode.bpel.dao.ProcessDAO;
+import org.apache.ode.bpel.dao.ProcessInstanceDAO;
+
+import javax.persistence.Basic;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.EntityManager;
+import javax.persistence.FetchType;
+import javax.persistence.Id;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.OneToMany;
+import javax.persistence.PersistenceContext;
+import javax.persistence.Query;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+import javax.persistence.Version;
 import javax.xml.namespace.QName;
 import java.util.ArrayList;
 import java.util.Collection;
 
 @Entity
 @Table(name="ODE_PROCESS")
[EMAIL PROTECTED]({
+    @NamedQuery(name="InstanceById", query="SELECT i FROM 
ProcessInstanceDAOImpl as i WHERE i.instanceId = :iid"),
+    @NamedQuery(name="InstanceByCKey", query="SELECT cs._scope._instance FROM 
CorrelationSetDAOImpl as cs WHERE cs._correlationKey = :ckey")
+})
 public class ProcessDAOImpl implements ProcessDAO {
 
+    @PersistenceContext private EntityManager _em;
+
     @Id @Column(name="PROCESS_ID")
-    @GeneratedValue(strategy=GenerationType.AUTO)
-    private Long _id;
-    @Basic @Column(name="NUMBER_OF_INSTANCES") private int _numInstances;
-    @Basic @Column(name="PROCESS_KEY") private QName _processKey;
-    @Basic @Column(name="PROCESS_TYPE") private QName _processType;
-    @Basic @Column(name="GUID") private String _guid;
-    @Version @Column(name="VERSION") private long _version;
-
-    
@OneToMany(targetEntity=ProcessInstanceDAOImpl.class,mappedBy="_process",fetch=FetchType.LAZY,cascade={CascadeType.ALL})
-    private Collection<ProcessInstanceDAO> _instances = new 
ArrayList<ProcessInstanceDAO>();
-    @OneToMany(fetch=FetchType.LAZY,cascade={CascadeType.ALL})
-    @ElementJoinColumn(name="PROC_ID", referencedColumnName="CORR_ID")
-    private Collection<CorrelatorDAOImpl> _correlators = new 
ArrayList<CorrelatorDAOImpl>();
-    @ManyToOne(fetch=FetchType.LAZY,cascade={CascadeType.PERSIST})
-    @Column(name="CONNECTION_ID")
-    private BPELDAOConnectionImpl _connection;
-
-    public ProcessDAOImpl() {}
-    public ProcessDAOImpl(QName key, QName type, String guid, 
BPELDAOConnectionImpl connection, long version) {
-        _processKey = key;
-        _processType = type;
-        _connection = connection;
-        _guid = guid;
+       private String _id;
+    
+       @Basic @Column(name="NUMBER_OF_INSTANCES") private int _numInstances;
+       @Basic @Column(name="PROCESS_TYPE") private String _processType;
+       @Basic @Column(name="GUID") private String _guid;
+       @Version @Column(name="VERSION") private long _version;
+
+       @OneToMany(fetch=FetchType.LAZY,cascade={CascadeType.ALL})
+       private Collection<CorrelatorDAOImpl> _correlators = new 
ArrayList<CorrelatorDAOImpl>();
+
+    @Transient
+    transient private BPELDAOConnectionImpl _connection;
+
+       public ProcessDAOImpl() {}
+       public ProcessDAOImpl(QName pid, QName type, String guid, 
BPELDAOConnectionImpl connection, long version) {
+        _id = pid.toString();
+               _processType = type.toString();
+               _connection = connection;
+               _guid = guid;
         _version = version;
     }
+       
+       public void addCorrelator(String correlator) {
+               CorrelatorDAOImpl corr = new CorrelatorDAOImpl(correlator);
+               _correlators.add(corr);
+       }
 
-    public void addCorrelator(String correlator) {
-        CorrelatorDAOImpl corr = new CorrelatorDAOImpl(correlator);
 
-        _correlators.add(corr);
+    public CorrelatorDAO getCorrelator(String correlatorId) {
+        return null;
     }
 
     public ProcessInstanceDAO createInstance(
-            CorrelatorDAO instantiatingCorrelator) {
-        ProcessInstanceDAOImpl inst = new 
ProcessInstanceDAOImpl((CorrelatorDAOImpl)instantiatingCorrelator, 
this,_connection);
-        _connection.getEntityManager().persist(inst);
-        _instances.add(inst);
-        _numInstances++;
-
-        return inst;
-    }
+                       CorrelatorDAO instantiatingCorrelator) {
+               ProcessInstanceDAOImpl inst = new 
ProcessInstanceDAOImpl((CorrelatorDAOImpl)instantiatingCorrelator, 
this,_connection);
+               _em.persist(inst);
+               _numInstances++;
+               
+               return inst;
+       }
+
+       @SuppressWarnings("unchecked")
+    public Collection<ProcessInstanceDAO> findInstance(CorrelationKey ckey) {
+               Query qry = _em.createNamedQuery("InstanceByCKey");
+        qry.setParameter("ckey", ckey.toCanonicalString());
+        return qry.getResultList();
+       }
+
+       public ProcessInstanceDAO getInstance(Long iid) {
+               return _connection.getInstance(iid);
+       }
+
+       public QName getProcessId() {
+               return QName.valueOf(_id);
+       }
+
+       public QName getType() {
+               return QName.valueOf(_processType);
+       }
 
     public void delete() {
         _connection.removeProcess(this);
     }
 
-    public Collection<ProcessInstanceDAO> findInstance(CorrelationKey cckey) {
-        Collection<ProcessInstanceDAO> ret = new 
ArrayList<ProcessInstanceDAO>();
-
-        for (ProcessInstanceDAO pi : _instances) {
-            scope_block:for (ScopeDAO s : pi.getScopes()) {
-                for (CorrelationSetDAO c : s.getCorrelationSets()) {
-                    if (c.getValue().equals(cckey)) ret.add(pi);
-                    break scope_block;
-                }
-            }
-        }
-        return ret;
-    }
-
-    public CorrelatorDAO getCorrelator(String correlatorId) {
-        for ( CorrelatorDAO c : _correlators ) {
-            if ( c.getCorrelatorId().equals(correlatorId) ) return c;
-        }
-        return null;
-    }
-
-    public ProcessInstanceDAO getInstance(Long iid) {
-        for (ProcessInstanceDAO pi : _instances) {
-            if ( pi.getInstanceId().equals(iid) ) return pi;
-        }
-        return null;
-    }
-
     public int getNumInstances() {
         return _numInstances;
     }
 
-    public QName getProcessId() {
-        return _processKey;
-    }
-
-    public QName getType() {
-        return _processType;
-    }
-
     public long getVersion() {
         return _version;
     }
 
     public void instanceCompleted(ProcessInstanceDAO instance) {
-        // TODO Auto-generated method stub
-        String tmp = "complete";
-
+        // nothing to do here (yet?)
     }
 
     public void removeRoutes(String routeId, ProcessInstanceDAO target) {
         for (CorrelatorDAO c : _correlators) {
             ((CorrelatorDAOImpl)c).removeLocalRoutes(routeId, target);
         }
-
     }
+
     public String getGuid() {
         return _guid;
     }
-
 }

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=512456&r1=512455&r2=512456
==============================================================================
--- 
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
 Tue Feb 27 14:30:33 2007
@@ -20,20 +20,51 @@
 package org.apache.ode.dao.jpa;
 
 import org.apache.ode.bpel.common.ProcessState;
-import org.apache.ode.bpel.dao.*;
+import org.apache.ode.bpel.dao.ActivityRecoveryDAO;
+import org.apache.ode.bpel.dao.BpelDAOConnection;
+import org.apache.ode.bpel.dao.CorrelationSetDAO;
+import org.apache.ode.bpel.dao.CorrelatorDAO;
+import org.apache.ode.bpel.dao.FaultDAO;
+import org.apache.ode.bpel.dao.ProcessDAO;
+import org.apache.ode.bpel.dao.ProcessInstanceDAO;
+import org.apache.ode.bpel.dao.ScopeDAO;
+import org.apache.ode.bpel.dao.ScopeStateEnum;
+import org.apache.ode.bpel.dao.XmlDataDAO;
 import org.apache.ode.bpel.evt.ProcessInstanceEvent;
 import org.apache.openjpa.persistence.jdbc.ElementJoinColumn;
 import org.w3c.dom.Element;
 
-import javax.persistence.*;
+import javax.persistence.Basic;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Lob;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+import javax.persistence.Transient;
 import javax.xml.namespace.QName;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
 
 @Entity
 @Table(name="ODE_PROCESS_INSTANCE")
 public class ProcessInstanceDAOImpl implements ProcessInstanceDAO {
 
-       @Id @Column(name="PROCESS_INSTANCE_ID") 
+    @Transient
+    private BPELDAOConnectionImpl _connection;
+
+       @Id @Column(name="PROCESS_INSTANCE_ID")
        @GeneratedValue(strategy=GenerationType.AUTO)
        private Long _instanceId;
        @Basic @Column(name="LAST_RECOVERY_DATE") private Date _lastRecovery;
@@ -58,9 +89,6 @@
        @ManyToOne(fetch=FetchType.LAZY,cascade={CascadeType.PERSIST})
        @Column(name="PROCESS_ID")
        private ProcessDAOImpl _process;
-       @ManyToOne(fetch=FetchType.LAZY,cascade={CascadeType.PERSIST})
-       @Column(name="CONNECTION_ID")
-       private BPELDAOConnectionImpl _connection;
        @OneToOne(fetch=FetchType.LAZY,cascade={CascadeType.ALL})
        @Column(name="INSTANTIATING_CORRELATOR_ID")
        private CorrelatorDAOImpl _instantiatingCorrelator;
@@ -69,7 +97,6 @@
        public ProcessInstanceDAOImpl(CorrelatorDAOImpl correlator, 
ProcessDAOImpl process, BPELDAOConnectionImpl connection) {
                _instantiatingCorrelator = correlator;
                _connection = connection;
-               _connection.addInstance(this);
                _process = process;
        }
        
@@ -84,7 +111,7 @@
 
        public ScopeDAO createScope(ScopeDAO parentScope, String name,
                        int scopeModelId) {
-               ScopeDAOImpl ret = new 
ScopeDAOImpl((ScopeDAOImpl)parentScope,name,scopeModelId,this,_connection);
+               ScopeDAOImpl ret = new 
ScopeDAOImpl((ScopeDAOImpl)parentScope,name,scopeModelId,this);
         ret.setState(ScopeStateEnum.ACTIVE);
 
         _scopes.add(ret);
@@ -119,7 +146,6 @@
            // make sure we have completed.
            assert (ProcessState.isFinished(this.getState()));
            // let our process know that we've done our work.
-           this.getProcess().instanceCompleted(this);
        }
 
        public long genMonotonic() {

Modified: 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ScopeDAOImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ScopeDAOImpl.java?view=diff&rev=512456&r1=512455&r2=512456
==============================================================================
--- 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ScopeDAOImpl.java
 (original)
+++ 
incubator/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ScopeDAOImpl.java
 Tue Feb 27 14:30:33 2007
@@ -20,11 +20,29 @@
 package org.apache.ode.dao.jpa;
 
 import org.apache.ode.bpel.common.BpelEventFilter;
-import org.apache.ode.bpel.dao.*;
+import org.apache.ode.bpel.dao.CorrelationSetDAO;
+import org.apache.ode.bpel.dao.PartnerLinkDAO;
+import org.apache.ode.bpel.dao.ProcessInstanceDAO;
+import org.apache.ode.bpel.dao.ScopeDAO;
+import org.apache.ode.bpel.dao.ScopeStateEnum;
+import org.apache.ode.bpel.dao.XmlDataDAO;
 import org.apache.ode.bpel.evt.BpelEvent;
 import org.apache.openjpa.persistence.jdbc.ElementJoinColumn;
 
-import javax.persistence.*;
+import javax.persistence.Basic;
+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.Table;
+import javax.persistence.Version;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
@@ -32,14 +50,20 @@
 @Entity
 @Table(name="ODE_SCOPE")
 public class ScopeDAOImpl implements ScopeDAO {
+
+    @PersistenceContext private EntityManager _em;
        
-       @Id @Column(name="SCOPE_ID")
-       @GeneratedValue(strategy=GenerationType.AUTO)
+       @Id
+    @Column(name="SCOPE_ID")
+    @GeneratedValue(strategy= GenerationType.AUTO)
        private Long _scopeInstanceId;
-       @Basic @Column(name="MODEL_ID") private int _modelId;
+    
+       @Basic
+    @Column(name="MODEL_ID") private int _modelId;
        @Basic @Column(name="SCOPE_NAME") private String _name;
        @Basic @Column(name="SCOPE_STATE") private String _scopeState;
-       @Version @Column(name="VERSION") private long _version;
+       @Version
+    @Column(name="VERSION") private long _version;
        
        @ManyToOne(fetch=FetchType.LAZY,cascade={CascadeType.PERSIST})
        @Column(name="PARENT_SCOPE_ID")
@@ -49,7 +73,7 @@
        private Collection<ScopeDAO> _childScopes = new ArrayList<ScopeDAO>();
        
@OneToMany(targetEntity=CorrelationSetDAOImpl.class,mappedBy="_scope",fetch=FetchType.LAZY,cascade={CascadeType.ALL})
        private Collection<CorrelationSetDAO> _correlationSets = new 
ArrayList<CorrelationSetDAO>();
-       
@OneToMany(targetEntity=PartnerLinkDAOImpl.class,fetch=FetchType.LAZY,cascade={CascadeType.ALL})
+       @OneToMany(targetEntity=PartnerLinkDAOImpl.class,fetch= 
FetchType.LAZY,cascade={CascadeType.ALL})
     @ElementJoinColumn(name="SCOPE_ID", referencedColumnName="PLINK_ID")
     private Collection<PartnerLinkDAO> _partnerLinks = new 
ArrayList<PartnerLinkDAO>();
        
@OneToMany(targetEntity=XmlDataDAOImpl.class,mappedBy="_scope",fetch=FetchType.LAZY,cascade={CascadeType.ALL})
@@ -58,18 +82,12 @@
        @ManyToOne(fetch=FetchType.LAZY,cascade={CascadeType.PERSIST})
        @Column(name="PROCESS_INSTANCE_ID")
        private ProcessInstanceDAOImpl _processInstance;
-       
-       @ManyToOne(fetch=FetchType.LAZY,cascade={CascadeType.PERSIST})
-       @Column(name="CONNECTION_ID")
-       private BPELDAOConnectionImpl _connection;
 
        public ScopeDAOImpl() {}
-       public ScopeDAOImpl(ScopeDAOImpl parentScope, String name, int 
scopeModelId, ProcessInstanceDAOImpl pi, BPELDAOConnectionImpl connection) {
+       public ScopeDAOImpl(ScopeDAOImpl parentScope, String name, int 
scopeModelId, ProcessInstanceDAOImpl pi) {
                _parentScope = parentScope;
                _name = name;
                _modelId = scopeModelId;
-               _connection = connection;
-               _connection.addScope(this);
                _processInstance = pi;
        }
        
@@ -100,7 +118,7 @@
                        ret = new CorrelationSetDAOImpl(this,corrSetName);
                        
                        // Persist the new correlation set to generate an ID
-                       _connection.getEntityManager().persist(ret);
+                       _em.persist(ret);
                        
                        _correlationSets.add(ret);
                }

Added: incubator/ode/trunk/dao-jpa/src/main/resources/META-INF/persistence.xml
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/dao-jpa/src/main/resources/META-INF/persistence.xml?view=auto&rev=512456
==============================================================================
--- incubator/ode/trunk/dao-jpa/src/main/resources/META-INF/persistence.xml 
(added)
+++ incubator/ode/trunk/dao-jpa/src/main/resources/META-INF/persistence.xml Tue 
Feb 27 14:30:33 2007
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<persistence xmlns="http://java.sun.com/xml/ns/persistence";
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+             version="1.0">
+    <persistence-unit name="ode-dao">
+        <!-- 
+            This properties file is used specifically by the
+            OpenJPA Enhancer.
+         -->
+        
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
+        <class>org.apache.ode.dao.jpa.ActivityRecoveryDAOImpl</class>
+        <class>org.apache.ode.dao.jpa.CorrelationSetDAOImpl</class>
+        <class>org.apache.ode.dao.jpa.CorrelatorDAOImpl</class>
+        <class>org.apache.ode.dao.jpa.EventDAOImpl</class>
+        <class>org.apache.ode.dao.jpa.FaultDAOImpl</class>
+        <class>org.apache.ode.dao.jpa.MessageDAOImpl</class>
+        <class>org.apache.ode.dao.jpa.MessageExchangeDAOImpl</class>
+        <class>org.apache.ode.dao.jpa.MessageRouteDAOImpl</class>
+        <class>org.apache.ode.dao.jpa.PartnerLinkDAOImpl</class>
+        <class>org.apache.ode.dao.jpa.ProcessDAOImpl</class>
+        <class>org.apache.ode.dao.jpa.ProcessInstanceDAOImpl</class>
+        <class>org.apache.ode.dao.jpa.ScopeDAOImpl</class>
+        <class>org.apache.ode.dao.jpa.XmlDataDAOImpl</class>
+    </persistence-unit>
+</persistence>
\ No newline at end of file

Modified: incubator/ode/trunk/distro-axis2/src/examples/DynPartner/deploy.xml
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/distro-axis2/src/examples/DynPartner/deploy.xml?view=diff&rev=512456&r1=512455&r2=512456
==============================================================================
--- incubator/ode/trunk/distro-axis2/src/examples/DynPartner/deploy.xml 
(original)
+++ incubator/ode/trunk/distro-axis2/src/examples/DynPartner/deploy.xml Tue Feb 
27 14:30:33 2007
@@ -13,6 +13,7 @@
                </invoke>
        </process>
        <process name="resp:DynPartnerResponder">
+               <in-memory>true</in-memory>
                 <type>resp:DynPartnerResponder</type>
                <provide partnerLink="mainPartnerLink">
                        <service name="rws:DynResponderService" 
port="DynResponderPort"/>

Modified: incubator/ode/trunk/jbi/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/jbi/pom.xml?view=diff&rev=512456&r1=512455&r2=512456
==============================================================================
--- incubator/ode/trunk/jbi/pom.xml (original)
+++ incubator/ode/trunk/jbi/pom.xml Tue Feb 27 14:30:33 2007
@@ -57,7 +57,7 @@
 
                <dependency>
                        <groupId>org.apache.ode</groupId>
-                       <artifactId>ode-dao-jpa-ojpa</artifactId>
+                       <artifactId>ode-dao-jpa</artifactId>
                </dependency>
                <dependency>
                        <groupId>org.apache.ode</groupId>

Modified: 
incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeService.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeService.java?view=diff&rev=512456&r1=512455&r2=512456
==============================================================================
--- incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeService.java 
(original)
+++ incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeService.java 
Tue Feb 27 14:30:33 2007
@@ -22,7 +22,6 @@
 import org.apache.commons.logging.LogFactory;
 import org.apache.ode.bpel.iapi.Endpoint;
 import org.apache.ode.bpel.iapi.Message;
-import org.apache.ode.bpel.iapi.MessageExchange.MessageExchangePattern;
 import org.apache.ode.bpel.iapi.MessageExchange.Status;
 import org.apache.ode.bpel.iapi.MyRoleMessageExchange;
 import org.apache.ode.jbi.msgmap.Mapper;
@@ -219,7 +218,6 @@
             odeMex = 
_ode._server.getEngine().createMessageExchange(jbiMex.getExchangeId(), 
_endpoint.serviceName,
                     jbiMex.getOperation().getLocalPart());
 
-            MessageExchangePattern pattern = null;
             if (odeMex.getOperation() != null) {
                 copyMexProperties(odeMex, jbiMex);
                 javax.wsdl.Message msgdef = 
odeMex.getOperation().getInput().getMessage();
@@ -236,8 +234,6 @@
                 mapper.toODE(odeRequest, request, msgdef);
                 odeMex.invoke(odeRequest);
 
-                pattern = odeMex.getMessageExchangePattern();
-
                 // Handle the response if it is immediately available.
                 if (odeMex.getStatus() != Status.ASYNC) {
                     __log.debug("ODE MEX " + odeMex + " completed 
SYNCHRONOUSLY.");
@@ -253,8 +249,8 @@
 
             success = true;
             // For one-way invocation we do not need to maintain the 
association
-            if (pattern == null || pattern != 
MessageExchangePattern.REQUEST_RESPONSE) {
-                __log.debug("Consuming non Req/Res MEX tracker " + 
jbiMex.getExchangeId());
+            if 
(jbiMex.getPattern().equals(org.apache.ode.jbi.MessageExchangePattern.IN_ONLY)) 
{
+                __log.debug("Consuming non Req/Res MEX tracker " + 
jbiMex.getExchangeId() + " with pattern " + jbiMex.getPattern());
                 _jbiMexTracker.consume(jbiMex.getExchangeId());
             }
 

Modified: incubator/ode/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/pom.xml?view=diff&rev=512456&r1=512455&r2=512456
==============================================================================
--- incubator/ode/trunk/pom.xml (original)
+++ incubator/ode/trunk/pom.xml Tue Feb 27 14:30:33 2007
@@ -142,7 +142,7 @@
         <module>bpel-scheduler-quartz</module>
 
         <module>dao-jpa</module>
-        <module>dao-jpa-ojpa</module>
+        <!--module>dao-jpa-ojpa</module-->
         <module>dao-jpa-ojpa-derby</module>
 
        <!-- If you want a distro, build it explicitly. -->
@@ -1047,11 +1047,6 @@
             <dependency>
                 <groupId>org.apache.ode</groupId>
                 <artifactId>ode-dao-jpa</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.ode</groupId>
-                <artifactId>ode-dao-jpa-ojpa</artifactId>
                 <version>${project.version}</version>
             </dependency>
             <dependency>


Reply via email to