org.apache.ode.daohib.bpel
Class ProcessDaoImpl

java.lang.Object
  extended by org.apache.ode.daohib.bpel.HibernateDao
      extended by org.apache.ode.daohib.bpel.ProcessDaoImpl
All Implemented Interfaces:
ProcessDAO

public class ProcessDaoImpl
extends HibernateDao
implements ProcessDAO

Hibernate-based ProcessDAO implementation.


Field Summary
 
Fields inherited from class org.apache.ode.daohib.bpel.HibernateDao
_hobj, _sm
 
Constructor Summary
ProcessDaoImpl(SessionManager sm, HProcess process)
           
 
Method Summary
 CorrelatorDAO addCorrelator(java.lang.String corrid)
           
 ProcessInstanceDAO createInstance(CorrelatorDAO correlator)
          Create a new process instance object.
 void delete()
          Remove the process from the database (along with any instance, variable data, etc...).
 java.util.Collection<ProcessInstanceDAO> findInstance(CorrelationKey key)
          Locates a process instance based on a correlation key.
 java.util.Collection<ProcessInstanceDAO> findInstance(CorrelationKey ckeyValue, boolean wait)
           
 CorrelatorDAO getCorrelator(java.lang.String corrId)
          Get a message correlator instance.
 java.lang.String getGuid()
           
 ProcessInstanceDAO getInstance(java.lang.Long iid)
          Get a process instance (by identifier).
 int getNumInstances()
           
 javax.xml.namespace.QName getProcessId()
          Get the unique process identifier.
 javax.xml.namespace.QName getType()
          Get the BPEL process name.
 long getVersion()
          Get the process version
 void instanceCompleted(ProcessInstanceDAO instance)
          Callback indicating that a process instance has completed its duties.
 void removeRoutes(java.lang.String routeId, ProcessInstanceDAO target)
          Remove the routes with the given Id for all the correlators in the process.
 
Methods inherited from class org.apache.ode.daohib.bpel.HibernateDao
equals, getDHandle, getHibernateObj, getSession, hashCode, update
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProcessDaoImpl

public ProcessDaoImpl(SessionManager sm,
                      HProcess process)
Method Detail

getProcessId

public javax.xml.namespace.QName getProcessId()
Description copied from interface: ProcessDAO
Get the unique process identifier.

Specified by:
getProcessId in interface ProcessDAO
Returns:
process identifier

getInstance

public ProcessInstanceDAO getInstance(java.lang.Long iid)
Description copied from interface: ProcessDAO
Get a process instance (by identifier).

Specified by:
getInstance in interface ProcessDAO
Parameters:
iid - unique instance identifier.
Returns:
DAO corresponding to the process instance

getCorrelator

public CorrelatorDAO getCorrelator(java.lang.String corrId)
Description copied from interface: ProcessDAO
Get a message correlator instance.

Specified by:
getCorrelator in interface ProcessDAO
Parameters:
corrId - correlator identifier
Returns:
correlator corresponding to the given identifier

removeRoutes

public void removeRoutes(java.lang.String routeId,
                         ProcessInstanceDAO target)
Description copied from interface: ProcessDAO
Remove the routes with the given Id for all the correlators in the process.

Specified by:
removeRoutes in interface ProcessDAO

createInstance

public ProcessInstanceDAO createInstance(CorrelatorDAO correlator)
Description copied from interface: ProcessDAO
Create a new process instance object.

Specified by:
createInstance in interface ProcessDAO
Parameters:
correlator - instantiating CorrelatorDAO
Returns:
newly generated instance DAO

findInstance

public java.util.Collection<ProcessInstanceDAO> findInstance(CorrelationKey key)
Description copied from interface: ProcessDAO
Locates a process instance based on a correlation key.

Specified by:
findInstance in interface ProcessDAO
Parameters:
key - correlation key
Returns:
collection of ProcessInstanceDAO that match correlation key, ordered by date

findInstance

public java.util.Collection<ProcessInstanceDAO> findInstance(CorrelationKey ckeyValue,
                                                             boolean wait)
Specified by:
findInstance in interface ProcessDAO
See Also:
ProcessDAO.findInstance(CorrelationKey)

instanceCompleted

public void instanceCompleted(ProcessInstanceDAO instance)
Description copied from interface: ProcessDAO
Callback indicating that a process instance has completed its duties.

Specified by:
instanceCompleted in interface ProcessDAO
Parameters:
instance - the completed ProcessInstanceDAO
See Also:
ProcessDAO.instanceCompleted(ProcessInstanceDAO)

delete

public void delete()
Description copied from interface: ProcessDAO
Remove the process from the database (along with any instance, variable data, etc...).

Specified by:
delete in interface ProcessDAO

getType

public javax.xml.namespace.QName getType()
Description copied from interface: ProcessDAO
Get the BPEL process name.

Specified by:
getType in interface ProcessDAO
Returns:
qualified BPEL process name.

getVersion

public long getVersion()
Description copied from interface: ProcessDAO
Get the process version

Specified by:
getVersion in interface ProcessDAO
Returns:
version

addCorrelator

public CorrelatorDAO addCorrelator(java.lang.String corrid)
Specified by:
addCorrelator in interface ProcessDAO

getNumInstances

public int getNumInstances()
Specified by:
getNumInstances in interface ProcessDAO

getGuid

public java.lang.String getGuid()
Specified by:
getGuid in interface ProcessDAO