Author: assaf
Date: Thu Sep 21 16:37:56 2006
New Revision: 448736

URL: http://svn.apache.org/viewvc?view=rev&rev=448736
Log:
Activity failures are not stored in the database and returned from the PMAPI

Modified:
    incubator/ode/trunk/axis2/src/main/wsdl/pmapi.wsdl
    incubator/ode/trunk/bpel-api/src/main/xsd/pmapi.xsd
    
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
    
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java
    
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/ProcessInstanceDaoImpl.java
    
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/BpelRuntimeContext.java
    
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/INVOKE.java
    
incubator/ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/CoreBpelTest.java
    
incubator/ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java
    
incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ActivityRecoveryDaoImpl.java
    
incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java
    
incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HActivityRecovery.java
    
incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HPartnerLink.java

Modified: incubator/ode/trunk/axis2/src/main/wsdl/pmapi.wsdl
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/axis2/src/main/wsdl/pmapi.wsdl?view=diff&rev=448736&r1=448735&r2=448736
==============================================================================
--- incubator/ode/trunk/axis2/src/main/wsdl/pmapi.wsdl (original)
+++ incubator/ode/trunk/axis2/src/main/wsdl/pmapi.wsdl Thu Sep 21 16:37:56 2006
@@ -211,6 +211,14 @@
     <message name="deleteOutput">
         <part name="iids" type="tns:iidsType"/>
     </message>
+    <message name="recoverActivityInput">
+        <part name="iid" type="xsd:long"/>
+        <part name="aid" type="xsd:long"/>
+        <part name="action" type="xsd:string"/>
+    </message>
+    <message name="recoverActivityOutput">
+        <part name="instance-info" type="typ:tInstanceInfo"/>
+    </message>
 
     <portType name="ProcessManagementPortType">
         <operation name="listProcesses">
@@ -316,6 +324,10 @@
             <input message="tns:deleteInput"/>
             <output message="tns:deleteOutput"/>
         </operation>
+        <operation name="recoverActivity">
+            <input message="tns:recoverActivityInput"/>
+            <output message="tns:recoverActivityOutput"/>
+        </operation>
     </portType>
 
     <binding name="ProcessManagementBinding" 
type="tns:ProcessManagementPortType">
@@ -535,6 +547,15 @@
                 <soap:body namespace="http://www.apache.org/ode/pmapi"; 
use="encoded"/>
             </output>
         </operation>
+        <operation name="recoverActivity">
+            <soap:operation soapAction="" style="rpc"/>
+            <input>
+                <soap:body namespace="http://www.apache.org/ode/pmapi"; 
use="encoded"/>
+            </input>
+            <output>
+                <soap:body namespace="http://www.apache.org/ode/pmapi"; 
use="encoded"/>
+            </output>
+        </operation>
     </binding>
 
     <service name="ProcessManagementService">
@@ -548,4 +569,4 @@
         </port>
     </service>
 
-</definitions>
\ No newline at end of file
+</definitions>

Modified: incubator/ode/trunk/bpel-api/src/main/xsd/pmapi.xsd
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-api/src/main/xsd/pmapi.xsd?view=diff&rev=448736&r1=448735&r2=448736
==============================================================================
--- incubator/ode/trunk/bpel-api/src/main/xsd/pmapi.xsd (original)
+++ incubator/ode/trunk/bpel-api/src/main/xsd/pmapi.xsd Thu Sep 21 16:37:56 2006
@@ -447,7 +447,7 @@
                               <documentation>Reason for 
failure.</documentation>
                           </annotation>
                       </element>
-                      <element name="action" type="xs:string">
+                      <element name="actions" type="xs:string">
                           <annotation>
                               <documentation>Allowed recovery actions (space 
separated list of action names).</documentation>
                           </annotation>

Modified: 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java?view=diff&rev=448736&r1=448735&r2=448736
==============================================================================
--- 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
 (original)
+++ 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
 Thu Sep 21 16:37:56 2006
@@ -1138,12 +1138,12 @@
     }
 
     public void registerActivityForRecovery(ActivityRecoveryChannel channel, 
long activityId, String reason,
-            Date dateTime, Element data, String[] actions) {
+            Date dateTime, Element data, String[] actions, int retries) {
         if (reason == null)
             reason = "Unspecified";
         if (dateTime == null)
             dateTime = new Date();
-        _dao.createActivityRecovery(channel.export(), (int) activityId, 
reason, dateTime, data, actions);
+        _dao.createActivityRecovery(channel.export(), (int) activityId, 
reason, dateTime, data, actions, retries);
     }
 
     public void unregisterActivityForRecovery(ActivityRecoveryChannel channel) 
{

Modified: 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java?view=diff&rev=448736&r1=448735&r2=448736
==============================================================================
--- 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java
 (original)
+++ 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java
 Thu Sep 21 16:37:56 2006
@@ -24,6 +24,7 @@
 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.ActivityRecoveryDAO;
 import org.apache.ode.bpel.dao.BpelDAOConnection;
 import org.apache.ode.bpel.dao.CorrelationSetDAO;
 import org.apache.ode.bpel.dao.ProcessDAO;
@@ -314,6 +315,31 @@
         return genInstanceInfoDocument(iid);
     }
 
+    public InstanceInfoDocument recoverActivity(final Long iid, final long 
aid, final String action) {
+        try {
+            QName processId = _db.exec(new BpelDatabase.Callable<QName>() {
+                public QName run(BpelDAOConnection conn) throws Exception {
+                    ProcessInstanceDAO instance = conn.getInstance(iid);
+/*
+                    if (instance == null)
+                      return null;
+                    for (ActivityRecoveryDAO recovery: 
instance.getActivityRecoveries()) {
+                      if (recovery.getActivityId() == aid) {
+                        runtime.recoverActivity(recovery.getChannel(), action);
+                        break;
+                      }
+                    }
+*/
+                    return instance.getProcess().getProcessId();
+                }
+            });
+        } catch (Exception e) {
+            __log.error("DbError",e);
+            throw new ProcessingException("DbError", e);
+        }
+        return genInstanceInfoDocument(iid);
+    }
+
     public Collection<Long> delete(String filter) {
         final InstanceFilter instanceFilter = new InstanceFilter(filter);
 
@@ -793,12 +819,26 @@
         }
 
         if (includeActivityInfo) {
+           Collection<ActivityRecoveryDAO> recoveries = 
scope.getProcessInstance().getActivityRecoveries(); 
+
             TScopeInfo.Activities activities = scopeInfo.addNewActivities();
             List<BpelEvent> events = scope.listEvents(null);
             ActivityStateDocumentBuilder b = new 
ActivityStateDocumentBuilder();
             for (BpelEvent e : events) b.onEvent(e);
-            for (ActivityInfoDocument ai : b.getActivities())
+            for (ActivityInfoDocument ai : b.getActivities()) {
+                for (ActivityRecoveryDAO recovery : recoveries) {
+                  if 
(String.valueOf(recovery.getActivityId()).equals(ai.getActivityInfo().getAiid()))
 {
+                    TActivityInfo.Failure failure = 
ai.getActivityInfo().addNewFailure();
+                    failure.setReason(recovery.getReason());
+                    Calendar cal = Calendar.getInstance();
+                    cal.setTime(recovery.getDateTime());
+                    failure.setDtFailure(cal);
+                    failure.setActions(recovery.getActions());
+                    ai.getActivityInfo().setStatus(TActivityStatus.FAILURE);
+                  }
+                }
                 activities.addNewActivityInfo().set(ai.getActivityInfo());
+            }
         }
     }
 

Modified: 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/ProcessInstanceDaoImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/ProcessInstanceDaoImpl.java?view=diff&rev=448736&r1=448735&r2=448736
==============================================================================
--- 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/ProcessInstanceDaoImpl.java
 (original)
+++ 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/ProcessInstanceDaoImpl.java
 Thu Sep 21 16:37:56 2006
@@ -50,6 +50,9 @@
   private FaultDAO _fault;
   private CorrelatorDAO _instantiatingCorrelator;
   private BpelDAOConnection _conn;
+  private int _failureCount;
+  private Date _failureDateTime;
+  private Map<String, ActivityRecoveryDAO> _activityRecoveries = new 
HashMap<String, ActivityRecoveryDAO>();
   
   // TODO: Remove this, we should be using the main event store... 
   private List<ProcessInstanceEvent> _events = new 
ArrayList<ProcessInstanceEvent>();
@@ -280,15 +283,89 @@
     return ret;
   }
 
-  
-  public int getActivityFailureCount() { return 0; }
-  public Date getActivityFailureDateTime() { return null; }
-  public Collection<ActivityRecoveryDAO> getActivityRecoveries() { return 
null; }
-  public void createActivityRecovery(String channel, int activityId, String 
reason, Date dateTime, Element data, String[] actions) { }
-  public void deleteActivityRecovery(String channel) { }
+  public int getActivityFailureCount() {
+    return _failureCount;
+  }
+
+  public Date getActivityFailureDateTime() {
+    return _failureDateTime;
+  }
+
+  public Collection<ActivityRecoveryDAO> getActivityRecoveries() {
+    return _activityRecoveries.values();
+  }
+
+  public void createActivityRecovery(String channel, long activityId, String 
reason, Date dateTime,
+                                     Element data, String[] actions, int 
retries) {
+    _activityRecoveries.put(channel, new ActivityRecoveryDAOImpl(channel, 
activityId, reason, dateTime, data, actions, retries));
+    _failureCount = _activityRecoveries.size();
+    _failureDateTime = dateTime;
+  }
+
+  public void deleteActivityRecovery(String channel) {
+    _activityRecoveries.remove(channel);
+    _failureCount = _activityRecoveries.size();
+  }
 
   public long genMonotonic() {
     return ++_seq;
+  }
+
+  static class ActivityRecoveryDAOImpl implements ActivityRecoveryDAO {
+
+    private long    _activityId;
+    private String  _channel;
+    private String  _reason;
+    private Element _data;
+    private Date    _dateTime;
+    private String  _actions;
+    private int     _retries;
+
+    ActivityRecoveryDAOImpl(String channel, long activityId, String reason, 
Date dateTime,
+                            Element data, String[] actions, int retries) {
+      _activityId = activityId;
+      _channel = channel;
+      _reason = reason;
+      _data = data;
+      _dateTime = dateTime;
+      _actions = actions[0];
+      for (int i = 1; i < actions.length; ++i)
+        _actions += " " + actions[i];
+      _retries = retries;
+    }
+
+    public long getActivityId() {
+      return _activityId;
+    }
+
+    public String getChannel() {  
+      return _channel;
+    }
+
+    public String getReason() {
+      return _reason;
+    }
+
+    public Element getData() {
+      return _data;
+    }
+
+    public Date getDateTime() {
+      return _dateTime;
+    }
+
+    public String getActions() {
+      return _actions;
+    }
+
+    public String[] getActionsList() {
+      return _actions.split(" ");
+    }
+
+    public int getRetries() {
+      return _retries;
+    }
+
   }
 
 }

Modified: 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/BpelRuntimeContext.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/BpelRuntimeContext.java?view=diff&rev=448736&r1=448735&r2=448736
==============================================================================
--- 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/BpelRuntimeContext.java
 (original)
+++ 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/BpelRuntimeContext.java
 Thu Sep 21 16:37:56 2006
@@ -244,7 +244,7 @@
   Element getSourceEPR(String mexId);
 
   void registerActivityForRecovery(ActivityRecoveryChannel channel, long 
activityId, String reason,
-                                   Date dateTime, Element data, String[] 
actions);
+                                   Date dateTime, Element data, String[] 
actions, int retries);
 
   void unregisterActivityForRecovery(ActivityRecoveryChannel channel);
 

Modified: 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/INVOKE.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/INVOKE.java?view=diff&rev=448736&r1=448735&r2=448736
==============================================================================
--- 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/INVOKE.java
 (original)
+++ 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/INVOKE.java
 Thu Sep 21 16:37:56 2006
@@ -230,7 +230,7 @@
     sendEvent(new ActivityFailureEvent(_failureReason));
     final ActivityRecoveryChannel recoveryChannel = 
newChannel(ActivityRecoveryChannel.class);
     getBpelRuntimeContext().registerActivityForRecovery(recoveryChannel, 
_self.aId, _failureReason, _lastFailure, null,
-      new String[] { "retry", "cancel", "fault" });
+      new String[] { "retry", "cancel", "fault" }, _invoked - 1);
     object(false, new ActivityRecoveryChannelListener(recoveryChannel) {
       public void retry() {
         sendEvent(new ActivityRecoveryEvent("retry"));

Modified: 
incubator/ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/CoreBpelTest.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/CoreBpelTest.java?view=diff&rev=448736&r1=448735&r2=448736
==============================================================================
--- 
incubator/ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/CoreBpelTest.java
 (original)
+++ 
incubator/ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/CoreBpelTest.java
 Thu Sep 21 16:37:56 2006
@@ -391,7 +391,7 @@
     }
 
     public void registerActivityForRecovery(ActivityRecoveryChannel channel, 
long activityId, String reason,
-                                            Date dateTime, Element data, 
String[] actions) {
+                                            Date dateTime, Element data, 
String[] actions, int retries) {
     }
 
     public void unregisterActivityForRecovery(ActivityRecoveryChannel channel) 
{

Modified: 
incubator/ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java?view=diff&rev=448736&r1=448735&r2=448736
==============================================================================
--- 
incubator/ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java
 (original)
+++ 
incubator/ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java
 Thu Sep 21 16:37:56 2006
@@ -165,6 +165,10 @@
     return _server.getBpelManagementFacade();
   }
 
+  public TransactionManager getTransactionManager() {
+    return _txManager;
+  }
+
   public void waitForBlocking() {
     try {
       // TODO: change this to lock on an object.

Modified: 
incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ActivityRecoveryDaoImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ActivityRecoveryDaoImpl.java?view=diff&rev=448736&r1=448735&r2=448736
==============================================================================
--- 
incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ActivityRecoveryDaoImpl.java
 (original)
+++ 
incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ActivityRecoveryDaoImpl.java
 Thu Sep 21 16:37:56 2006
@@ -41,7 +41,7 @@
     _self = recovery;
   }
 
-  public int getActivityId() {
+  public long getActivityId() {
     return _self.getActivityId();
   }
 
@@ -68,8 +68,16 @@
     }
   }
 
-  public String[] getActions() {
+  public String getActions() {
+    return _self.getActions();
+  }
+
+  public String[] getActionsList() {
     return _self.getActions().split(" ");
+  }
+
+  public int getRetries() {
+    return _self.getRetries();
   }
 
 }

Modified: 
incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java?view=diff&rev=448736&r1=448735&r2=448736
==============================================================================
--- 
incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java
 (original)
+++ 
incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java
 Thu Sep 21 16:37:56 2006
@@ -51,6 +51,9 @@
   private static final String QRY_VARIABLES = "from " + 
HXmlData.class.getName()
     + " as x where x.name = ? and x.scope.scopeModelId = ? and 
x.scope.instance.id = ?";
 
+  private static final String QRY_RECOVERIES = "from " + 
HActivityRecovery.class.getName() +
+    " AS x WHERE x.instance.id = ?";
+
   private HProcessInstance _instance;
 
   private ScopeDAO _root;
@@ -343,18 +346,24 @@
 
   public Collection<ActivityRecoveryDAO> getActivityRecoveries() {
     List<ActivityRecoveryDAO> results = new ArrayList<ActivityRecoveryDAO>();
-    for (HActivityRecovery recovery : _instance.getActivityRecoveries())
-      results.add(new ActivityRecoveryDaoImpl(_sm, recovery));
+    Query qry = getSession().createQuery(QRY_RECOVERIES);
+    qry.setLong(0, _instance.getId());
+    Iterator iter = qry.iterate();
+    while (iter.hasNext())
+      results.add(new ActivityRecoveryDaoImpl(_sm, (HActivityRecovery) 
iter.next()));
+    Hibernate.close(iter);
     return results;
   }
 
-  public void createActivityRecovery(String channel, int activityId, String 
reason,
-                                     Date dateTime, Element data, String[] 
actions) {
+  public void createActivityRecovery(String channel, long activityId, String 
reason,
+                                     Date dateTime, Element data, String[] 
actions, int retries) {
     HActivityRecovery recovery = new HActivityRecovery();
+    recovery.setInstance(_instance);
     recovery.setChannel(channel);
     recovery.setActivityId(activityId);
     recovery.setReason(reason);
     recovery.setDateTime(dateTime);
+    recovery.setRetries(retries);
     if (data != null) {
       HLargeData ld = new HLargeData(DOMUtils.domToString(data));
       recovery.setData(ld);

Modified: 
incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HActivityRecovery.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HActivityRecovery.java?view=diff&rev=448736&r1=448735&r2=448736
==============================================================================
--- 
incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HActivityRecovery.java
 (original)
+++ 
incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HActivityRecovery.java
 Thu Sep 21 16:37:56 2006
@@ -31,12 +31,13 @@
 
   /** Process instance to which this scope belongs. */
   private HProcessInstance _instance;
-  private int         _activityId;
+  private long        _activityId;
   private String      _channel;
   private String      _reason;
   private Date        _dateTime;
   private HLargeData  _data;
   private String      _actions;
+  private int         _retries;
 
   /**
    * Get the [EMAIL PROTECTED] HProcessInstance} to which this scope object 
belongs.
@@ -55,11 +56,11 @@
   /**
    * @hibernate.property column="AID"
    */
-  public int getActivityId() {
+  public long getActivityId() {
     return _activityId;
   }
 
-  public void setActivityId(int activityId) {
+  public void setActivityId(long activityId) {
     _activityId = activityId;
   }
 
@@ -117,5 +118,16 @@
   public void setActions(String actions) {
                _actions = actions;
        }
+
+  /**
+   * @hibernate.property column="RETRIES"
+   */
+  public int getRetries() {
+    return _retries;
+  }
+
+  public void setRetries(int retries) {
+    _retries = retries;
+  }
 
 }

Modified: 
incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HPartnerLink.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HPartnerLink.java?view=diff&rev=448736&r1=448735&r2=448736
==============================================================================
--- 
incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HPartnerLink.java
 (original)
+++ 
incubator/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HPartnerLink.java
 Thu Sep 21 16:37:56 2006
@@ -21,6 +21,7 @@
 
 import org.apache.ode.daohib.hobj.HLargeData;
 import org.apache.ode.daohib.hobj.HObject;
+import java.util.Set;
 
 /**
  * The HEndpointReference can either be attached to a scope (when it's specific
@@ -54,6 +55,8 @@
 
     private String _partnerSessionId;
 
+    private Set<HMessageExchange> _mex;
+
     public HPartnerLink() {
         super();
     }
@@ -179,4 +182,23 @@
     public void setMySessionId(String sessionId) {
         _mySessionId = sessionId;
     }
+
+    /**
+     * @hibernate.set
+     *    lazy="true"
+     *    inverse="true"
+     *    cascade="delete"
+     * @hibernate.collection-key
+     *    column="PARTNERLINK"
+     * @hibernate.collection-one-to-many
+     *    class="org.apache.ode.daohib.bpel.hobj.HMessageExchange"
+     */
+    public Set<HMessageExchange> getMessageExchanges() {
+      return _mex;
+    }
+
+    public void setMessageExchanges(Set<HMessageExchange> mex) {
+      _mex = mex;
+    }
+
 }


Reply via email to