org.apache.ode.dao.jpa
Class ProcessDAOImpl

java.lang.Object
  extended by org.apache.ode.dao.jpa.OpenJPADAO
      extended by org.apache.ode.dao.jpa.ProcessDAOImpl
All Implemented Interfaces:
ProcessDAO

public class ProcessDAOImpl
extends OpenJPADAO
implements ProcessDAO


Constructor Summary
ProcessDAOImpl()
           
ProcessDAOImpl(javax.xml.namespace.QName pid, javax.xml.namespace.QName type, java.lang.String guid, long version)
           
 
Method Summary
 CorrelatorDAO addCorrelator(java.lang.String correlator)
           
 ProcessInstanceDAO createInstance(CorrelatorDAO instantiatingCorrelator)
          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 ckey, boolean wait)
           
 CorrelatorDAO getCorrelator(java.lang.String correlatorId)
          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.dao.jpa.OpenJPADAO
batchUpdateByIds, getConn, getEM, getSingleResult
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProcessDAOImpl

public ProcessDAOImpl()

ProcessDAOImpl

public ProcessDAOImpl(javax.xml.namespace.QName pid,
                      javax.xml.namespace.QName type,
                      java.lang.String guid,
                      long version)
Method Detail

addCorrelator

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

getCorrelator

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

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

createInstance

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

Specified by:
createInstance in interface ProcessDAO
Parameters:
instantiatingCorrelator - 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 ckey,
                                                             boolean wait)
Specified by:
findInstance in interface ProcessDAO

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

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

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.

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

getNumInstances

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

getVersion

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

Specified by:
getVersion in interface ProcessDAO
Returns:
version

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

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

getGuid

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