You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2007/02/27 23:30:35 UTC

svn commit: r512456 [2/2] - in /incubator/ode/trunk: ./ axis2-war/ axis2/ axis2/src/main/java/org/apache/ode/axis2/ bpel-api/src/main/java/org/apache/ode/bpel/iapi/ bpel-dao/src/main/java/org/apache/ode/bpel/dao/ bpel-runtime/ bpel-runtime/src/main/jav...

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;
 
-@Entity
-@Table(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>
+ */
+@Entity
+@Table(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>
+ */
+@Entity
+@Table(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")
+@NamedQueries({
+    @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>