You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by se...@apache.org on 2009/04/20 08:44:38 UTC
svn commit: r766592 [2/3] - in /ode/branches/APACHE_ODE_1.X:
axis2-war/src/test/java/org/apache/ode/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-e...
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessDaoImpl.java?rev=766592&r1=766591&r2=766592&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessDaoImpl.java Mon Apr 20 06:44:37 2009
@@ -23,6 +23,7 @@
import org.apache.ode.bpel.common.CorrelationKey;
import org.apache.ode.bpel.common.ProcessState;
import org.apache.ode.bpel.dao.CorrelatorDAO;
+import org.apache.ode.bpel.dao.DeferredProcessInstanceCleanable;
import org.apache.ode.bpel.dao.ProcessDAO;
import org.apache.ode.bpel.dao.ProcessInstanceDAO;
import org.apache.ode.daohib.SessionManager;
@@ -32,11 +33,13 @@
import org.apache.ode.daohib.bpel.hobj.HCorrelationSet;
import org.apache.ode.daohib.bpel.hobj.HCorrelator;
import org.apache.ode.daohib.bpel.hobj.HCorrelatorMessage;
+import org.apache.ode.daohib.bpel.hobj.HCorrelatorSelector;
import org.apache.ode.daohib.bpel.hobj.HFaultData;
import org.apache.ode.daohib.bpel.hobj.HLargeData;
import org.apache.ode.daohib.bpel.hobj.HMessage;
import org.apache.ode.daohib.bpel.hobj.HMessageExchange;
import org.apache.ode.daohib.bpel.hobj.HMessageExchangeProperty;
+import org.apache.ode.daohib.bpel.hobj.HObject;
import org.apache.ode.daohib.bpel.hobj.HPartnerLink;
import org.apache.ode.daohib.bpel.hobj.HProcess;
import org.apache.ode.daohib.bpel.hobj.HProcessInstance;
@@ -50,6 +53,7 @@
import org.hibernate.criterion.Order;
import javax.xml.namespace.QName;
+
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
@@ -58,8 +62,7 @@
/**
* Hibernate-based {@link ProcessDAO} implementation.
*/
-public class ProcessDaoImpl extends HibernateDao implements ProcessDAO {
- @SuppressWarnings("unused")
+public class ProcessDaoImpl extends HibernateDao implements ProcessDAO, DeferredProcessInstanceCleanable {
private static final Log __log = LogFactory.getLog(ProcessDaoImpl.class);
private static final String QRY_CORRELATOR = "where this.correlatorId = ?";
@@ -142,63 +145,77 @@
// nothing to do here (yet?)
}
- public void delete() {
- entering("ProcessDaoImpl.delete");
-
- deleteEvents();
- deleteCorrelations();
- deleteMessages();
- deleteVariables();
- deleteProcessInstances();
+ public void deleteProcessAndRoutes() {
+ // delete routes
+ getSession().getNamedQuery(HCorrelatorSelector.DELETE_MESSAGE_ROUTES_BY_PROCESS).setParameter("process", _process).executeUpdate();
+ // delete process dao
+ getSession().getNamedQuery(HCorrelator.DELETE_CORRELATORS_BY_PROCESS).setParameter("process", _process).executeUpdate();
getSession().delete(_process); // this deletes HCorrelator -> HCorrelatorSelector
// after this delete, we have a use case that creates the process with the same procid.
// for hibernate to work without the database deferred constraint check, let's just flush the session.
getSession().flush();
}
+
+ @SuppressWarnings("unchecked")
+ public int deleteInstances(int transactionSize) {
+ entering("ProcessDaoImpl.delete");
- private void deleteProcessInstances() {
- getSession().getNamedQuery(HLargeData.DELETE_ACTIVITY_RECOVERY_LDATA_BY_PROCESS).setParameter ("process", _process).executeUpdate();
- getSession().getNamedQuery(HActivityRecovery.DELETE_ACTIVITY_RECOVERIES_BY_PROCESS).setParameter ("process", _process).executeUpdate();
- getSession().getNamedQuery(HLargeData.DELETE_FAULT_LDATA_BY_PROCESS).setParameter("process", _process).executeUpdate();
- getSession().getNamedQuery(HFaultData.DELETE_FAULTS_BY_PROCESS).setParameter("process", _process).executeUpdate();
- getSession().getNamedQuery(HLargeData.DELETE_JACOB_LDATA_BY_PROCESS).setParameter("process", _process).executeUpdate();
- getSession().getNamedQuery(HProcessInstance.DELETE_INSTANCES_BY_PROCESS).setParameter("process", _process).executeUpdate();
- }
-
- private void deleteVariables() {
- getSession().getNamedQuery(HCorrelationProperty.DELETE_CORPROPS_BY_PROCESS).setParameter ("process", _process).executeUpdate();
- getSession().getNamedQuery(HCorrelationSet.DELETE_CORSETS_BY_PROCESS).setParameter ("process", _process).executeUpdate();
-
- getSession().getNamedQuery(HVariableProperty.DELETE_VARIABLE_PROPERITES_BY_PROCESS).setParameter ("process", _process).executeUpdate();
- getSession().getNamedQuery(HLargeData.DELETE_XMLDATA_LDATA_BY_PROCESS).setParameter ("process", _process).executeUpdate();
- getSession().getNamedQuery(HXmlData.DELETE_XMLDATA_BY_PROCESS).setParameter ("process", _process).executeUpdate();
-
- getSession().getNamedQuery(HLargeData.DELETE_PARTNER_LINK_LDATA_BY_PROCESS).setParameter ("process", _process).setParameter ("process2", _process).executeUpdate();
- getSession().getNamedQuery(HPartnerLink.DELETE_PARTNER_LINKS_BY_PROCESS).setParameter ("process", _process).executeUpdate();
- getSession().getNamedQuery(HScope.DELETE_SCOPES_BY_PROCESS).setParameter ("process", _process).executeUpdate();
- }
-
- private void deleteMessages() {
- getSession().getNamedQuery(HCorrelatorMessage.DELETE_CORMESSAGES_BY_PROCESS).setParameter ("process", _process).executeUpdate();
-
- getSession().getNamedQuery(HLargeData.DELETE_MESSAGE_LDATA_BY_PROCESS).setParameter("process", _process).setParameter ("process2", _process).executeUpdate();
- getSession().getNamedQuery(HMessage.DELETE_MESSAGES_BY_PROCESS).setParameter("process", _process).executeUpdate();
- getSession().getNamedQuery(HMessageExchangeProperty.DELETE_MEX_PROPS_BY_PROCESS).setParameter("process", _process).executeUpdate();
- getSession().getNamedQuery(HLargeData.DELETE_MEX_LDATA_BY_PROCESS).setParameter("process", _process).setParameter("process2", _process).executeUpdate();
- getSession().getNamedQuery(HMessageExchange.DELETE_MEX_BY_PROCESS).setParameter("process", _process).executeUpdate();
- getSession().getNamedQuery(HCorrelator.DELETE_CORRELATORS_BY_PROCESS).setParameter("process", _process).executeUpdate();
+ if( transactionSize < 1 ) {
+ if(__log.isWarnEnabled()) __log.warn("A zero or negative value was given for the transaction size of process dao deletion; overriding to '1'. Not using bulk deletion of rows may result in performance degradation.");
+ transactionSize = 1;
+ }
+
+ Collection<HProcessInstance> instances = getSession().getNamedQuery(HProcessInstance.SELECT_INSTANCES_BY_PROCESS).setParameter("process", _process).setMaxResults(transactionSize).list();
+ if( !instances.isEmpty() ) {
+ deleteEvents(instances);
+ deleteCorrelations(instances);
+ deleteMessages(instances);
+ deleteVariables(instances);
+ deleteProcessInstances(instances);
+ }
+
+ return instances.size();
}
- private void deleteCorrelations() {
- getSession().getNamedQuery(HCorrelationProperty.DELETE_CORPROPS_BY_PROCESS).setParameter ("process", _process).executeUpdate();
- getSession().getNamedQuery(HCorrelationSet.DELETE_CORSETS_BY_PROCESS).setParameter ("process", _process).executeUpdate();
+ private void deleteProcessInstances(Collection<HProcessInstance> instances) {
+ getSession().getNamedQuery(HLargeData.DELETE_ACTIVITY_RECOVERY_LDATA_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HActivityRecovery.DELETE_ACTIVITY_RECOVERIES_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HLargeData.DELETE_FAULT_LDATA_BY_INSTANCE_IDS).setParameterList("instanceIds", HObject.toIdArray(instances)).executeUpdate();
+ getSession().getNamedQuery(HFaultData.DELETE_FAULTS_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HLargeData.DELETE_JACOB_LDATA_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HProcessInstance.DELETE_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ }
+
+ private void deleteVariables(Collection<HProcessInstance> instances) {
+ getSession().getNamedQuery(HVariableProperty.DELETE_VARIABLE_PROPERITES_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HLargeData.DELETE_XMLDATA_LDATA_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HXmlData.DELETE_XMLDATA_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+
+ getSession().getNamedQuery(HLargeData.DELETE_PARTNER_LINK_LDATA_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HPartnerLink.DELETE_PARTNER_LINKS_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HScope.DELETE_SCOPES_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ }
+
+ private void deleteMessages(Collection<HProcessInstance> instances) {
+ getSession().getNamedQuery(HCorrelatorMessage.DELETE_CORMESSAGES_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+
+ getSession().getNamedQuery(HLargeData.DELETE_MESSAGE_LDATA_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HMessage.DELETE_MESSAGES_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HMessageExchangeProperty.DELETE_MEX_PROPS_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HLargeData.DELETE_MEX_LDATA_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HMessageExchange.DELETE_MEX_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ }
+
+ private void deleteCorrelations(Collection<HProcessInstance> instances) {
+ getSession().getNamedQuery(HCorrelationProperty.DELETE_CORPROPS_BY_INSTANCES).setParameterList ("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HCorrelationSet.DELETE_CORSETS_BY_INSTANCES).setParameterList ("instances", instances).executeUpdate();
}
- private void deleteEvents() {
- getSession().getNamedQuery(HLargeData.DELETE_EVENT_LDATA_BY_PROCESS).setParameter("process", _process).executeUpdate();
- getSession().getNamedQuery(HBpelEvent.DELETE_EVENTS_BY_PROCESS).setParameter("process", _process).executeUpdate();
+ private void deleteEvents(Collection<HProcessInstance> instances) {
+ getSession().getNamedQuery(HLargeData.DELETE_EVENT_LDATA_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HBpelEvent.DELETE_EVENTS_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
}
public QName getType() {
@@ -224,8 +241,8 @@
@SuppressWarnings("unchecked")
public Collection<ProcessInstanceDAO> getActiveInstances() {
ArrayList<ProcessInstanceDAO> instDaos = new ArrayList<ProcessInstanceDAO>();
- Collection<HProcessInstance> insts = getSession().getNamedQuery(HProcessInstance.SELECT_ACTIVE_INSTANCES)
- .setParameter("processId", _process.getId()).setParameter("state", ProcessState.STATE_ACTIVE).list();
+ Collection<HProcessInstance> insts = getSession().getNamedQuery(HProcessInstance.SELECT_INSTANCES_BY_PROCESSES_AND_STATES)
+ .setParameterList("processIds", new Object[] {_process.getId()}).setParameterList("states", new Object[] {ProcessState.STATE_ACTIVE}).list();
for (HProcessInstance inst : insts)
instDaos.add(new ProcessInstanceDaoImpl(_sm, inst));
return instDaos;
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java?rev=766592&r1=766591&r2=766592&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java Mon Apr 20 06:44:37 2009
@@ -44,7 +44,7 @@
* Hibernate-based {@link ProcessInstanceDAO} implementation.
*/
public class ProcessInstanceDaoImpl extends HibernateDao implements ProcessInstanceDAO {
- private static final Log __log = LogFactory.getLog(ProcessInstanceDaoImpl.class);
+ private static final Log __log = LogFactory.getLog(ProcessInstanceDaoImpl.class);
/** Query for removing selectors. */
private static final String QRY_DELSELECTORS = "delete from " +
@@ -60,18 +60,18 @@
private ScopeDAO _root;
- public ProcessInstanceDaoImpl(SessionManager sm, HProcessInstance instance) {
+ public ProcessInstanceDaoImpl(SessionManager sm, HProcessInstance instance) {
super(sm, instance);
- entering("ProcessInstanceDaoImpl.ProcessInstanceDaoImpl");
- _instance = instance;
- }
+ entering("ProcessInstanceDaoImpl.ProcessInstanceDaoImpl");
+ _instance = instance;
+ }
/**
- * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getCreateTime()
- */
- public Date getCreateTime() {
- return _instance.getCreated();
- }
+ * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getCreateTime()
+ */
+ public Date getCreateTime() {
+ return _instance.getCreated();
+ }
public void setFault(FaultDAO fault) {
entering("ProcessInstanceDaoImpl.setFault");
@@ -113,18 +113,19 @@
else return new FaultDAOImpl(_sm, _instance.getFault());
}
- /**
- * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getExecutionState()
- */
- public byte[] getExecutionState() {
+ /**
+ * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getExecutionState()
+ */
+ public byte[] getExecutionState() {
entering("ProcessInstanceDaoImpl.getExecutionState");
if (_instance.getJacobState() == null) return null;
return _instance.getJacobState().getBinary();
- }
- /**
- * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#setExecutionState(byte[])
- */
- public void setExecutionState(byte[] bytes) {
+ }
+
+ /**
+ * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#setExecutionState(byte[])
+ */
+ public void setExecutionState(byte[] bytes) {
entering("ProcessInstanceDaoImpl.setExecutionState");
if (_instance.getJacobState() != null)
getSession().delete(_instance.getJacobState());
@@ -135,19 +136,19 @@
}
getSession().update(_instance);
}
-
- /**
- * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getProcess()
- */
- public ProcessDAO getProcess() {
- entering("ProcessInstanceDaoImpl.getProcess");
- return new ProcessDaoImpl(_sm, _instance.getProcess());
- }
-
- /**
- * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getRootScope()
- */
- public ScopeDAO getRootScope() {
+
+ /**
+ * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getProcess()
+ */
+ public ProcessDAO getProcess() {
+ entering("ProcessInstanceDaoImpl.getProcess");
+ return new ProcessDaoImpl(_sm, _instance.getProcess());
+ }
+
+ /**
+ * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getRootScope()
+ */
+ public ScopeDAO getRootScope() {
entering("ProcessInstanceDaoImpl.getRootScope");
if (_root != null)
return _root;
@@ -156,12 +157,12 @@
HScope hroot = (HScope)rootQry.uniqueResult();
if (hroot == null)
return null;
- return _root = new ScopeDaoImpl(_sm, hroot);
- }
- /**
- * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#setState(short)
- */
- public void setState(short state) {
+ return _root = new ScopeDaoImpl(_sm, hroot);
+ }
+ /**
+ * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#setState(short)
+ */
+ public void setState(short state) {
entering("ProcessInstanceDaoImpl.setState");
_instance.setPreviousState(_instance.getState());
_instance.setState(state);
@@ -170,23 +171,25 @@
}
getSession().update(_instance);
}
- /**
- * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getState()
- */
- public short getState() {
- return _instance.getState();
- }
- /**
- * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getPreviousState()
- */
- public short getPreviousState() {
- return _instance.getPreviousState();
- }
-
-
- public ScopeDAO createScope(ScopeDAO parentScope, String name, int scopeModelId) {
- entering("ProcessInstanceDaoImpl.createScope");
- HScope scope = new HScope();
+
+ /**
+ * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getState()
+ */
+ public short getState() {
+ return _instance.getState();
+ }
+
+ /**
+ * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getPreviousState()
+ */
+ public short getPreviousState() {
+ return _instance.getPreviousState();
+ }
+
+
+ public ScopeDAO createScope(ScopeDAO parentScope, String name, int scopeModelId) {
+ entering("ProcessInstanceDaoImpl.createScope");
+ HScope scope = new HScope();
scope.setParentScope(parentScope != null
? (HScope)((ScopeDaoImpl)parentScope).getHibernateObj()
: null);
@@ -198,15 +201,15 @@
// _instance.addScope(scope);
getSession().save(scope);
- return new ScopeDaoImpl(_sm, scope);
- }
+ return new ScopeDaoImpl(_sm, scope);
+ }
- /**
- * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getInstanceId()
- */
- public Long getInstanceId() {
- return _instance.getId();
- }
+ /**
+ * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getInstanceId()
+ */
+ public Long getInstanceId() {
+ return _instance.getId();
+ }
public ScopeDAO getScope(Long scopeInstanceId) {
entering("ProcessInstanceDaoImpl.getScope");
@@ -217,10 +220,10 @@
: null;
}
- /**
- * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getScopes(java.lang.String)
- */
- @SuppressWarnings("unchecked")
+ /**
+ * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getScopes(java.lang.String)
+ */
+ @SuppressWarnings("unchecked")
public Collection<ScopeDAO> getScopes(String scopeName) {
entering("ProcessInstanceDaoImpl.getScopes");
Collection<HScope> hscopes;
@@ -238,33 +241,34 @@
}
});
return ret;
- }
+ }
public Collection<ScopeDAO> getScopes() {
return getScopes(null);
}
- /**
- * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getInstantiatingCorrelator()
- */
- public CorrelatorDAO getInstantiatingCorrelator() {
- entering("ProcessInstanceDaoImpl.getInstantiatingCorrelator");
- return new CorrelatorDaoImpl(_sm, _instance.getInstantiatingCorrelator());
- }
-
- /**
- * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getLastActiveTime()
- */
- public Date getLastActiveTime() {
- return _instance.getLastActiveTime();
- }
- /**
- * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#setLastActiveTime(java.util.Date)
- */
- public void setLastActiveTime(Date dt) {
- entering("ProcessInstanceDaoImpl.setLastActiveTime");
- _instance.setLastActiveTime(dt);
- }
+ /**
+ * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getInstantiatingCorrelator()
+ */
+ public CorrelatorDAO getInstantiatingCorrelator() {
+ entering("ProcessInstanceDaoImpl.getInstantiatingCorrelator");
+ return new CorrelatorDaoImpl(_sm, _instance.getInstantiatingCorrelator());
+ }
+
+ /**
+ * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getLastActiveTime()
+ */
+ public Date getLastActiveTime() {
+ return _instance.getLastActiveTime();
+ }
+
+ /**
+ * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#setLastActiveTime(java.util.Date)
+ */
+ public void setLastActiveTime(Date dt) {
+ entering("ProcessInstanceDaoImpl.setLastActiveTime");
+ _instance.setLastActiveTime(dt);
+ }
public Set<CorrelationSetDAO> getCorrelationSets() {
entering("ProcessInstanceDaoImpl.getCorrelationSets");
@@ -286,13 +290,13 @@
return null;
}
- /**
- * TODO this is never used, except by test cases - should be removed
- * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getVariables(java.lang.String, int)
- */
- @SuppressWarnings("unchecked")
- public XmlDataDAO[] getVariables(String variableName, int scopeModelId) {
- entering("ProcessInstanceDaoImpl.getVariables");
+ /**
+ * TODO this is never used, except by test cases - should be removed
+ * @see org.apache.ode.bpel.dao.ProcessInstanceDAO#getVariables(java.lang.String, int)
+ */
+ @SuppressWarnings("unchecked")
+ public XmlDataDAO[] getVariables(String variableName, int scopeModelId) {
+ entering("ProcessInstanceDaoImpl.getVariables");
List<XmlDataDAO> results = new ArrayList<XmlDataDAO>();
Iterator iter;
@@ -303,12 +307,12 @@
iter = qry.iterate();
while(iter.hasNext()) {
- results.add(new XmlDataDaoImpl(_sm, (HXmlData)iter.next()));
+ results.add(new XmlDataDaoImpl(_sm, (HXmlData)iter.next()));
}
Hibernate.close(iter);
return results.toArray(new XmlDataDAO[results.size()]);
- }
+ }
/**
* @see org.apache.ode.bpel.dao.ProcessInstanceDAO#finishCompletion()
@@ -322,82 +326,85 @@
}
public void delete(Set<CLEANUP_CATEGORY> cleanupCategories) {
- entering("ProcessInstanceDaoImpl.delete");
- if(__log.isDebugEnabled()) __log.debug("Cleaning up instance data with categories = " + cleanupCategories);
-
- if( _instance.getJacobState() != null ) {
- getSession().delete(_instance.getJacobState());
- _instance.setJacobState(null);
- }
-
- if( cleanupCategories.contains(CLEANUP_CATEGORY.EVENTS) ) {
- deleteEvents();
- }
+ entering("ProcessInstanceDaoImpl.delete");
+ if(__log.isDebugEnabled()) __log.debug("Cleaning up instance data with categories = " + cleanupCategories);
- if( cleanupCategories.contains(CLEANUP_CATEGORY.CORRELATIONS) ) {
- deleteCorrelations();
- }
+ if( _instance.getJacobState() != null ) {
+ getSession().delete(_instance.getJacobState());
+ _instance.setJacobState(null);
+ }
+
+ HProcessInstance[] instances = new HProcessInstance[] {_instance};
+
+ if( cleanupCategories.contains(CLEANUP_CATEGORY.EVENTS) ) {
+ deleteEvents(instances);
+ }
- if( cleanupCategories.contains(CLEANUP_CATEGORY.MESSAGES) ) {
- deleteMessages();
- }
+ if( cleanupCategories.contains(CLEANUP_CATEGORY.CORRELATIONS) ) {
+ deleteCorrelations(instances);
+ }
+
+ if( cleanupCategories.contains(CLEANUP_CATEGORY.MESSAGES) ) {
+ deleteMessages(instances);
+ }
- if( cleanupCategories.contains(CLEANUP_CATEGORY.VARIABLES) ) {
- deleteVariables();
- }
+ if( cleanupCategories.contains(CLEANUP_CATEGORY.VARIABLES) ) {
+ deleteVariables(instances);
+ }
- if( cleanupCategories.contains(CLEANUP_CATEGORY.INSTANCE) ) {
- deleteInstance();
- }
+ if( cleanupCategories.contains(CLEANUP_CATEGORY.INSTANCE) ) {
+ deleteInstances(instances);
+ }
- getSession().flush();
+ getSession().flush();
- if(__log.isDebugEnabled()) __log.debug("Instance data cleaned up and flushed.");
+ if(__log.isDebugEnabled()) __log.debug("Instance data cleaned up and flushed.");
+ }
+
+ private void deleteInstances(HProcessInstance[] instances) {
+ getSession().getNamedQuery(HLargeData.DELETE_FAULT_LDATA_BY_INSTANCE_IDS).setParameterList("instanceIds", HObject.toIdArray(instances)).executeUpdate();
+ getSession().getNamedQuery(HFaultData.DELETE_FAULTS_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+
+ getSession().delete(_instance); // this deletes JcobState, HActivityRecovery -> ActivityRecovery-LData
+ }
+
+ private void deleteVariables(HProcessInstance[] instances) {
+ getSession().getNamedQuery(HCorrelationProperty.DELETE_CORPROPS_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HCorrelationSet.DELETE_CORSETS_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+
+ getSession().getNamedQuery(HVariableProperty.DELETE_VARIABLE_PROPERITES_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HLargeData.DELETE_XMLDATA_LDATA_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HXmlData.DELETE_XMLDATA_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+
+ getSession().getNamedQuery(HLargeData.DELETE_PARTNER_LINK_LDATA_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HPartnerLink.DELETE_PARTNER_LINKS_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+
+ getSession().getNamedQuery(HScope.DELETE_SCOPES_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ }
+
+ @SuppressWarnings("unchecked")
+ private void deleteMessages(HProcessInstance[] instances) {
+ // there are chances that some unmatched messages are still there
+ getSession().getNamedQuery(HLargeData.DELETE_UNMATCHED_MESSAGE_LDATA_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ Collection unmatchedMex = getSession().getNamedQuery(HMessageExchange.SELECT_UNMATCHED_MEX_BY_INSTANCES).setParameterList("instances", instances).list();
+ if( !unmatchedMex.isEmpty() ) {
+ getSession().delete(unmatchedMex);
+// getSession().getNamedQuery(HMessageExchange.DELETE_UNMATCHED_MEX).setParameter("mex", unmatchedMex).executeUpdate();
+ }
+ getSession().getNamedQuery(HCorrelatorMessage.DELETE_CORMESSAGES_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+
+ getSession().getNamedQuery(HCorrelatorSelector.DELETE_MESSAGE_ROUTES_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
}
- private void deleteInstance() {
- getSession().getNamedQuery(HLargeData.DELETE_FAULT_LDATA_BY_INSTANCE_ID).setParameter ("instanceId", _instance.getId()).executeUpdate();
- getSession().getNamedQuery(HFaultData.DELETE_FAULTS_BY_INSTANCE).setParameter ("instance", _instance).executeUpdate();
-
- getSession().delete(_instance); // this deletes JcobState, HActivityRecovery -> ActivityRecovery-LData
- }
-
- private void deleteVariables() {
- getSession().getNamedQuery(HCorrelationProperty.DELETE_CORPROPS_BY_INSTANCE).setParameter ("instance", _instance).executeUpdate();
- getSession().getNamedQuery(HCorrelationSet.DELETE_CORSETS_BY_INSTANCE).setParameter ("instance", _instance).executeUpdate();
-
- getSession().getNamedQuery(HVariableProperty.DELETE_VARIABLE_PROPERITES_BY_INSTANCE).setParameter ("instance", _instance).executeUpdate();
- getSession().getNamedQuery(HLargeData.DELETE_XMLDATA_LDATA_BY_INSTANCE).setParameter ("instance", _instance).executeUpdate();
- getSession().getNamedQuery(HXmlData.DELETE_XMLDATA_BY_INSTANCE).setParameter ("instance", _instance).executeUpdate();
-
- getSession().getNamedQuery(HLargeData.DELETE_PARTNER_LINK_LDATA_BY_INSTANCE).setParameter ("instance", _instance).setParameter ("instance2", _instance).executeUpdate();
- getSession().getNamedQuery(HPartnerLink.DELETE_PARTNER_LINKS_BY_INSTANCE).setParameter ("instance", _instance).executeUpdate();
-
- getSession().getNamedQuery(HScope.DELETE_SCOPES_BY_INSTANCE).setParameter ("instance", _instance).executeUpdate();
- }
-
- @SuppressWarnings("unchecked")
- private void deleteMessages() {
- // there are chances that some unmatched messages are still there
- getSession().getNamedQuery(HLargeData.DELETE_UNMATCHED_MESSAGE_LDATA_BY_INSTANCE).setParameter("instance", _instance).setParameter("instance2", _instance).executeUpdate();
- Collection unmatchedMex = getSession().getNamedQuery(HMessageExchange.SELECT_UNMATCHED_MEX_BY_INSTANCE).setParameter("instance", _instance).list();
- if( !unmatchedMex.isEmpty() ) {
- getSession().getNamedQuery(HMessageExchange.DELETE_UNMATCHED_MEX).setParameter("mex", unmatchedMex).executeUpdate();
- }
- getSession().getNamedQuery(HCorrelatorMessage.DELETE_CORMESSAGES_BY_INSTANCE).setParameter("instance", _instance).executeUpdate();
-
- getSession().getNamedQuery(HCorrelatorSelector.DELETE_MESSAGE_ROUTES_BY_INSTANCE).setParameter ("instance", _instance).executeUpdate();
- }
-
- private void deleteCorrelations() {
- getSession().getNamedQuery(HCorrelationProperty.DELETE_CORPROPS_BY_INSTANCE).setParameter ("instance", _instance).executeUpdate();
- getSession().getNamedQuery(HCorrelationSet.DELETE_CORSETS_BY_INSTANCE).setParameter ("instance", _instance).executeUpdate();
- }
-
- private void deleteEvents() {
- getSession().getNamedQuery(HLargeData.DELETE_EVENT_LDATA_BY_INSTANCE).setParameter ("instance", _instance).executeUpdate();
- getSession().getNamedQuery(HBpelEvent.DELETE_EVENTS_BY_INSTANCE).setParameter ("instance", _instance).executeUpdate();
- }
+ private void deleteCorrelations(HProcessInstance[] instances) {
+ getSession().getNamedQuery(HCorrelationProperty.DELETE_CORPROPS_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HCorrelationSet.DELETE_CORSETS_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ }
+
+ private void deleteEvents(HProcessInstance[] instances) {
+ getSession().getNamedQuery(HLargeData.DELETE_EVENT_LDATA_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ getSession().getNamedQuery(HBpelEvent.DELETE_EVENTS_BY_INSTANCES).setParameterList("instances", instances).executeUpdate();
+ }
public void insertBpelEvent(ProcessInstanceEvent event) {
entering("ProcessInstanceDaoImpl.insertBpelEvent");
@@ -423,13 +430,13 @@
}
public Collection<MessageExchangeDAO> getMessageExchanges() {
- Collection<MessageExchangeDAO> exchanges = new ArrayList<MessageExchangeDAO>();
-
- for( HMessageExchange exchange : _instance.getMessageExchanges() ) {
- exchanges.add(new MessageExchangeDaoImpl(_sm, exchange));
- }
-
- return exchanges;
+ Collection<MessageExchangeDAO> exchanges = new ArrayList<MessageExchangeDAO>();
+
+ for( HMessageExchange exchange : _instance.getMessageExchanges() ) {
+ exchanges.add(new MessageExchangeDaoImpl(_sm, exchange));
+ }
+
+ return exchanges;
}
public long genMonotonic() {
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessManagementDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessManagementDaoImpl.java?rev=766592&r1=766591&r2=766592&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessManagementDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessManagementDaoImpl.java Mon Apr 20 06:44:37 2009
@@ -40,9 +40,9 @@
public Object[] findFailedCountAndLastFailedDateForProcessId(BpelDAOConnection conn, String status, String processId) {
Object[] results = new Object[] {0, null};
- Query query = getSession().getNamedQuery(HProcessInstance.COUNT_FAILED_INSTANCES_BY_STATUS_AND_PROCESS_ID);
+ Query query = getSession().getNamedQuery(HProcessInstance.COUNT_FAILED_INSTANCES_BY_PROCESS_IDS_AND_STATES);
query.setParameterList("states", new InstanceFilter("status=" + status).convertFilterState());
- query.setParameter("processId", processId);
+ query.setParameterList("processIds", new String[] {processId});
query.setResultTransformer(new ResultTransformer() {
private static final long serialVersionUID = 8034301512569916379L;
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HActivityRecovery.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HActivityRecovery.java?rev=766592&r1=766591&r2=766592&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HActivityRecovery.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HActivityRecovery.java Mon Apr 20 06:44:37 2009
@@ -24,110 +24,109 @@
/**
* Persistent representation of activity recovery information.
* @hibernate.class table="BPEL_ACTIVITY_RECOVERY"
- * @hibernate.query name="DELETE_ACTIVITY_RECOVERIES_BY_PROCESS" query="delete from HActivityRecovery as a where a.instance in(select i from HProcessInstance as i where i.process = :process)"
+ * @hibernate.query name="DELETE_ACTIVITY_RECOVERIES_BY_INSTANCES" query="delete from HActivityRecovery as a where a.instance in (:instances)"
*/
public class HActivityRecovery extends HObject {
- public final static String DELETE_ACTIVITY_RECOVERIES_BY_PROCESS = "DELETE_ACTIVITY_RECOVERIES_BY_PROCESS";
-
- /** Process instance to which this scope belongs. */
- private HProcessInstance _instance;
- private long _activityId;
- private String _channel;
- private String _reason;
- private Date _dateTime;
- private HLargeData _details;
- private String _actions;
- private int _retries;
-
- /**
- * Get the {@link HProcessInstance} to which this scope object belongs.
- * @hibernate.many-to-one
- * column="PIID" foreign-key="none"
- */
- public HProcessInstance getInstance() {
- return _instance;
- }
-
- /** @see #getInstance() */
- public void setInstance(HProcessInstance instance) {
- _instance = instance;
- }
-
- /**
- * @hibernate.property column="AID"
- */
- public long getActivityId() {
- return _activityId;
- }
-
- public void setActivityId(long activityId) {
- _activityId = activityId;
- }
-
- /**
- * @hibernate.property column="CHANNEL"
- */
- public String getChannel() {
- return _channel;
- }
-
- public void setChannel(String channel) {
- _channel = channel;
- }
-
- /**
- * @hibernate.property column="REASON"
- */
- public String getReason() {
- return _reason;
- }
-
- public void setReason(String reason) {
- _reason = reason;
- }
-
- /**
- * @hibernate.property column="DATE_TIME"
- */
- public Date getDateTime() {
- return _dateTime;
- }
-
- public void setDateTime(Date dateTime) {
- _dateTime = dateTime;
- }
-
- /**
- * @hibernate.many-to-one column="LDATA_ID" cascade="delete" foreign-key="none"
- */
- public HLargeData getDetails() {
- return _details;
- }
-
- public void setDetails(HLargeData details) {
- _details = details;
- }
-
- /**
- * @hibernate.property column="ACTIONS"
- */
- public String getActions() {
- return _actions;
- }
-
- public void setActions(String actions) {
- _actions = actions;
- }
-
- /**
- * @hibernate.property column="RETRIES"
- */
- public int getRetries() {
- return _retries;
- }
-
- public void setRetries(int retries) {
- _retries = retries;
- }
+ public final static String DELETE_ACTIVITY_RECOVERIES_BY_INSTANCES = "DELETE_ACTIVITY_RECOVERIES_BY_INSTANCES";
+ /** Process instance to which this scope belongs. */
+ private HProcessInstance _instance;
+ private long _activityId;
+ private String _channel;
+ private String _reason;
+ private Date _dateTime;
+ private HLargeData _details;
+ private String _actions;
+ private int _retries;
+
+ /**
+ * Get the {@link HProcessInstance} to which this scope object belongs.
+ * @hibernate.many-to-one
+ * column="PIID" foreign-key="none"
+ */
+ public HProcessInstance getInstance() {
+ return _instance;
+ }
+
+ /** @see #getInstance() */
+ public void setInstance(HProcessInstance instance) {
+ _instance = instance;
+ }
+
+ /**
+ * @hibernate.property column="AID"
+ */
+ public long getActivityId() {
+ return _activityId;
+ }
+
+ public void setActivityId(long activityId) {
+ _activityId = activityId;
+ }
+
+ /**
+ * @hibernate.property column="CHANNEL"
+ */
+ public String getChannel() {
+ return _channel;
+ }
+
+ public void setChannel(String channel) {
+ _channel = channel;
+ }
+
+ /**
+ * @hibernate.property column="REASON"
+ */
+ public String getReason() {
+ return _reason;
+ }
+
+ public void setReason(String reason) {
+ _reason = reason;
+ }
+
+ /**
+ * @hibernate.property column="DATE_TIME"
+ */
+ public Date getDateTime() {
+ return _dateTime;
+ }
+
+ public void setDateTime(Date dateTime) {
+ _dateTime = dateTime;
+ }
+
+ /**
+ * @hibernate.many-to-one column="LDATA_ID" cascade="delete" foreign-key="none"
+ */
+ public HLargeData getDetails() {
+ return _details;
+ }
+
+ public void setDetails(HLargeData details) {
+ _details = details;
+ }
+
+ /**
+ * @hibernate.property column="ACTIONS"
+ */
+ public String getActions() {
+ return _actions;
+ }
+
+ public void setActions(String actions) {
+ _actions = actions;
+ }
+
+ /**
+ * @hibernate.property column="RETRIES"
+ */
+ public int getRetries() {
+ return _retries;
+ }
+
+ public void setRetries(int retries) {
+ _retries = retries;
+ }
}
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HBpelEvent.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HBpelEvent.java?rev=766592&r1=766591&r2=766592&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HBpelEvent.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HBpelEvent.java Mon Apr 20 06:44:37 2009
@@ -27,113 +27,110 @@
* Row representation of a BPEL event.
*
* @hibernate.class table="BPEL_EVENT"
- * @hibernate.query name="DELETE_EVENTS_BY_PROCESS" query="delete from HBpelEvent as e where e.process = :process"
- * @hibernate.query name="DELETE_EVENTS_BY_INSTANCE" query="delete from HBpelEvent as e where e.instance = :instance"
+ * @hibernate.query name="DELETE_EVENTS_BY_INSTANCES" query="delete from HBpelEvent as e where e.instance in (:instances)"
*/
public class HBpelEvent extends HObject {
- public final static String DELETE_EVENTS_BY_PROCESS = "DELETE_EVENTS_BY_PROCESS";
- public static final String DELETE_EVENTS_BY_INSTANCE = "DELETE_EVENTS_BY_INSTANCE";
-
- private Timestamp _tstamp;
- private String _type;
- private String _detail;
-
- private HProcess _process;
- private HProcessInstance _instance;
- private HLargeData _data;
-
- /** Scope identifier, possibly null. */
- private Long _scopeId;
-
- /**
- * @hibernate.many-to-one column="IID" foreign-key="none"
- */
- public HProcessInstance getInstance() {
- return _instance;
- }
-
- public void setInstance(HProcessInstance instance) {
- _instance = instance;
- }
-
- /**
- * @hibernate.many-to-one column="PID" foreign-key="none"
- */
- public HProcess getProcess() {
- return _process;
- }
-
- public void setProcess(HProcess process) {
- _process = process;
- }
-
- /**
- * @hibernate.property
- * column="TSTAMP"
- */
- public Timestamp getTstamp() {
- return _tstamp;
- }
-
- public void setTstamp(Timestamp tstamp) {
- _tstamp = tstamp;
- }
-
- /**
- * @hibernate.property
- * column="TYPE"
- */
- public String getType() {
- return _type;
- }
-
- public void setType(String type) {
- _type = type;
- }
-
- /**
- * TODO Check 32000 is enough for details
- */
- /**
- * @hibernate.property
- * column="DETAIL"
- * type="text"
- * length="32000"
- */
- public String getDetail() {
- return _detail;
- }
-
- public void setDetail(String detail) {
- _detail = detail;
- }
-
-
- /**
- * @hibernate.many-to-one column="LDATA_ID" cascade="delete" foreign-key="none"
- */
- public HLargeData getData() {
- return _data;
- }
-
- public void setData(HLargeData data) {
- _data = data;
- }
-
- /**
- * Get the scope identifier of the scope associated with this event.
- * Note, that this is not implemented as a many-to-one relationship
- * because when scopes are deleted from the database we do not want
- * their events to suffer the same fate.
- * @hibernate.property
- * column="SID"
- */
- public Long getScopeId() {
- return _scopeId;
- }
-
- public void setScopeId(Long scopeId) {
- _scopeId = scopeId;
- }
+ public static final String DELETE_EVENTS_BY_INSTANCES = "DELETE_EVENTS_BY_INSTANCES";
+ private Timestamp _tstamp;
+ private String _type;
+ private String _detail;
+
+ private HProcess _process;
+ private HProcessInstance _instance;
+ private HLargeData _data;
+
+ /** Scope identifier, possibly null. */
+ private Long _scopeId;
+
+ /**
+ * @hibernate.many-to-one column="IID" foreign-key="none"
+ */
+ public HProcessInstance getInstance() {
+ return _instance;
+ }
+
+ public void setInstance(HProcessInstance instance) {
+ _instance = instance;
+ }
+
+ /**
+ * @hibernate.many-to-one column="PID" foreign-key="none"
+ */
+ public HProcess getProcess() {
+ return _process;
+ }
+
+ public void setProcess(HProcess process) {
+ _process = process;
+ }
+
+ /**
+ * @hibernate.property
+ * column="TSTAMP"
+ */
+ public Timestamp getTstamp() {
+ return _tstamp;
+ }
+
+ public void setTstamp(Timestamp tstamp) {
+ _tstamp = tstamp;
+ }
+
+ /**
+ * @hibernate.property
+ * column="TYPE"
+ */
+ public String getType() {
+ return _type;
+ }
+
+ public void setType(String type) {
+ _type = type;
+ }
+
+ /**
+ * TODO Check 32000 is enough for details
+ */
+ /**
+ * @hibernate.property
+ * column="DETAIL"
+ * type="text"
+ * length="32000"
+ */
+ public String getDetail() {
+ return _detail;
+ }
+
+ public void setDetail(String detail) {
+ _detail = detail;
+ }
+
+
+ /**
+ * @hibernate.many-to-one column="LDATA_ID" cascade="delete" foreign-key="none"
+ */
+ public HLargeData getData() {
+ return _data;
+ }
+
+ public void setData(HLargeData data) {
+ _data = data;
+ }
+
+ /**
+ * Get the scope identifier of the scope associated with this event.
+ * Note, that this is not implemented as a many-to-one relationship
+ * because when scopes are deleted from the database we do not want
+ * their events to suffer the same fate.
+ * @hibernate.property
+ * column="SID"
+ */
+ public Long getScopeId() {
+ return _scopeId;
+ }
+
+ public void setScopeId(Long scopeId) {
+ _scopeId = scopeId;
+ }
}
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HCorrelationProperty.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HCorrelationProperty.java?rev=766592&r1=766591&r2=766592&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HCorrelationProperty.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HCorrelationProperty.java Mon Apr 20 06:44:37 2009
@@ -26,83 +26,81 @@
* Hibernate table-mapped class representing one valued property in
* a correlation set.
* @hibernate.class table="BPEL_CORRELATION_PROP"
- * @hibernate.query name="DELETE_CORPROPS_BY_PROCESS" query="delete from HCorrelationProperty as p where p.correlationSet in(select s from HCorrelationSet as s where s.process = :process)"
- * @hibernate.query name="DELETE_CORPROPS_BY_INSTANCE" query="delete from HCorrelationProperty as p where p.correlationSet in(select s from HCorrelationSet as s where s.instance = :instance)"
+ * @hibernate.query name="DELETE_CORPROPS_BY_INSTANCES" query="delete from HCorrelationProperty as p where p.correlationSet in(select s from HCorrelationSet as s where s.instance in (:instances))"
*/
public class HCorrelationProperty extends HObject {
- public final static String DELETE_CORPROPS_BY_PROCESS = "DELETE_CORPROPS_BY_PROCESS";
- public final static String DELETE_CORPROPS_BY_INSTANCE = "DELETE_CORPROPS_BY_INSTANCE";
-
- private String _name;
- private String _namespace;
- private String _value;
- private HCorrelationSet _correlationSet;
-
- public HCorrelationProperty() {
- super();
- }
-
- public HCorrelationProperty(String name, String namespace, String value, HCorrelationSet correlationSet) {
- super();
- _name = name;
- _namespace = namespace;
- _value = value;
- _correlationSet = correlationSet;
- }
-
- public HCorrelationProperty(QName qname, String value, HCorrelationSet correlationSet) {
- super();
- _name = qname.getLocalPart();
- _namespace = qname.getNamespaceURI();
- _value = value;
- _correlationSet = correlationSet;
- }
-
- /**
- * @hibernate.property column="NAME"
- */
- public String getName() {
- return _name;
- }
-
- public void setName(String name) {
- _name = name;
- }
-
- /**
- * @hibernate.property column="NAMESPACE"
- */
- public String getNamespace() {
- return _namespace;
- }
-
- public void setNamespace(String namespace) {
- _namespace = namespace;
- }
-
- /**
- * @hibernate.property column="VALUE"
- */
- public String getValue() {
- return _value;
- }
-
- public void setValue(String value) {
- _value = value;
- }
-
- /**
- * @hibernate.many-to-one column="CORR_SET_ID" foreign-key="none"
- */
- public HCorrelationSet getCorrelationSet() {
- return _correlationSet;
- }
-
- public void setCorrelationSet(HCorrelationSet correlationSet) {
- _correlationSet = correlationSet;
- }
-
- public QName getQName() {
- return new QName(getNamespace(), getName());
- }
+ public final static String DELETE_CORPROPS_BY_INSTANCES = "DELETE_CORPROPS_BY_INSTANCES";
+
+ private String _name;
+ private String _namespace;
+ private String _value;
+ private HCorrelationSet _correlationSet;
+
+ public HCorrelationProperty() {
+ super();
+ }
+
+ public HCorrelationProperty(String name, String namespace, String value, HCorrelationSet correlationSet) {
+ super();
+ _name = name;
+ _namespace = namespace;
+ _value = value;
+ _correlationSet = correlationSet;
+ }
+
+ public HCorrelationProperty(QName qname, String value, HCorrelationSet correlationSet) {
+ super();
+ _name = qname.getLocalPart();
+ _namespace = qname.getNamespaceURI();
+ _value = value;
+ _correlationSet = correlationSet;
+ }
+
+ /**
+ * @hibernate.property column="NAME"
+ */
+ public String getName() {
+ return _name;
+ }
+
+ public void setName(String name) {
+ _name = name;
+ }
+
+ /**
+ * @hibernate.property column="NAMESPACE"
+ */
+ public String getNamespace() {
+ return _namespace;
+ }
+
+ public void setNamespace(String namespace) {
+ _namespace = namespace;
+ }
+
+ /**
+ * @hibernate.property column="VALUE"
+ */
+ public String getValue() {
+ return _value;
+ }
+
+ public void setValue(String value) {
+ _value = value;
+ }
+
+ /**
+ * @hibernate.many-to-one column="CORR_SET_ID" foreign-key="none"
+ */
+ public HCorrelationSet getCorrelationSet() {
+ return _correlationSet;
+ }
+
+ public void setCorrelationSet(HCorrelationSet correlationSet) {
+ _correlationSet = correlationSet;
+ }
+
+ public QName getQName() {
+ return new QName(getNamespace(), getName());
+ }
}
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HCorrelationSet.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HCorrelationSet.java?rev=766592&r1=766591&r2=766592&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HCorrelationSet.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HCorrelationSet.java Mon Apr 20 06:44:37 2009
@@ -25,16 +25,14 @@
/**
* Hibernate table representing correlation set values.
* @hibernate.class table="BPEL_CORRELATION_SET"
- * @hibernate.query name="DELETE_CORSETS_BY_INSTANCE" query="delete from HCorrelationSet as c where c.instance = :instance"
- * @hibernate.query name="DELETE_CORSETS_BY_PROCESS" query="delete from HCorrelationSet as c where c.process = :process"
+ * @hibernate.query name="DELETE_CORSETS_BY_INSTANCES" query="delete from HCorrelationSet as c where c.instance in (:instances)"
* @hibernate.query name="SELECT_CORSETS_BY_INSTANCES" query="from HCorrelationSet as c left join fetch c.properties where c.instance.id in (:instances)"
- * @hibernate.query name="SELECT_ACTIVE_CORSETS" query="from HCorrelationSet as c left join fetch c.process left join fetch c.instance where c.instance.state = (:state)"
+ * @hibernate.query name="SELECT_CORSETS_BY_PROCESS_STATES" query="from HCorrelationSet as c left join fetch c.process left join fetch c.instance where c.instance.state in (:states)"
*/
public class HCorrelationSet extends HObject{
- public static final String DELETE_CORSETS_BY_INSTANCE = "DELETE_CORSETS_BY_INSTANCE";
- public static final String DELETE_CORSETS_BY_PROCESS = "DELETE_CORSETS_BY_PROCESS";
+ public static final String DELETE_CORSETS_BY_INSTANCES = "DELETE_CORSETS_BY_INSTANCES";
public static final String SELECT_CORSETS_BY_INSTANCES = "SELECT_CORSETS_BY_INSTANCES";
- public static final String SELECT_ACTIVE_CORSETS = "SELECT_ACTIVE_CORSETS";
+ public static final String SELECT_CORSETS_BY_PROCESS_STATES = "SELECT_CORSETS_BY_PROCESS_STATES";
private HProcess _process;
private HProcessInstance _instance;
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HCorrelatorMessage.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HCorrelatorMessage.java?rev=766592&r1=766591&r2=766592&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HCorrelatorMessage.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HCorrelatorMessage.java Mon Apr 20 06:44:37 2009
@@ -21,15 +21,13 @@
/**
* @hibernate.class table="BPEL_UNMATCHED" lazy="true"
- * @hibernate.query name="DELETE_CORMESSAGES_BY_PROCESS" query="delete from HCorrelatorMessage as m where m.correlator in(select c from HCorrelator as c where c.process = :process)"
- * @hibernate.query name="DELETE_CORMESSAGES_BY_INSTANCE" query="delete from HCorrelatorMessage as m where m.messageExchange in(select mex from HMessageExchange as mex where mex.instance = :instance)"
+ * @hibernate.query name="DELETE_CORMESSAGES_BY_INSTANCES" query="delete from HCorrelatorMessage as m where m.messageExchange in(select mex from HMessageExchange as mex where mex.instance in (:instances))"
* @hibernate.query name="DELETE_CORMESSAGES_BY_MEX" query="delete from HCorrelatorMessage as m where m.messageExchange = :mex"
*/
public class HCorrelatorMessage extends HObject {
- public final static String DELETE_CORMESSAGES_BY_PROCESS = "DELETE_CORMESSAGES_BY_PROCESS";
- public final static String DELETE_CORMESSAGES_BY_MEX = "DELETE_CORMESSAGES_BY_MEX";
- public final static String DELETE_CORMESSAGES_BY_INSTANCE = "DELETE_CORMESSAGES_BY_INSTANCE";
-
+ public final static String DELETE_CORMESSAGES_BY_MEX = "DELETE_CORMESSAGES_BY_MEX";
+ public final static String DELETE_CORMESSAGES_BY_INSTANCES = "DELETE_CORMESSAGES_BY_INSTANCES";
+
private HMessageExchange _messageExchange;
private HCorrelator _correlator;
private String _correlationKey;
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HCorrelatorSelector.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HCorrelatorSelector.java?rev=766592&r1=766591&r2=766592&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HCorrelatorSelector.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HCorrelatorSelector.java Mon Apr 20 06:44:37 2009
@@ -21,11 +21,13 @@
/**
* @hibernate.class table="BPEL_SELECTORS" lazy="true"
- * @hibernate.query name="DELETE_MESSAGE_ROUTES_BY_INSTANCE" query="delete from HCorrelatorSelector as m where m.instance = :instance)"
+ * @hibernate.query name="DELETE_MESSAGE_ROUTES_BY_PROCESS" query="delete from HCorrelatorSelector as m where m.correlator in(select c from HCorrelator c where c.process = :process)"
+ * @hibernate.query name="DELETE_MESSAGE_ROUTES_BY_INSTANCES" query="delete from HCorrelatorSelector as m where m.instance in (:instances))"
*/
public class HCorrelatorSelector extends HObject {
- public static final String DELETE_MESSAGE_ROUTES_BY_INSTANCE = "DELETE_MESSAGE_ROUTES_BY_INSTANCE";
-
+ public static final String DELETE_MESSAGE_ROUTES_BY_PROCESS = "DELETE_MESSAGE_ROUTES_BY_PROCESS";
+ public static final String DELETE_MESSAGE_ROUTES_BY_INSTANCES = "DELETE_MESSAGE_ROUTES_BY_INSTANCES";
+
private HProcessInstance _instance;
private String _groupId;
private int _idx;
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HFaultData.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HFaultData.java?rev=766592&r1=766591&r2=766592&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HFaultData.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HFaultData.java Mon Apr 20 06:44:37 2009
@@ -23,75 +23,72 @@
/**
* Persistent representation of a fault.
* @hibernate.class table="BPEL_FAULT"
- * @hibernate.query name="DELETE_FAULTS_BY_PROCESS" query="delete from HFaultData as f where f in (select i.fault from HProcessInstance as i where i.process = :process)"
- * @hibernate.query name="DELETE_FAULTS_BY_INSTANCE" query="delete from HFaultData as f where f in (select i.fault from HProcessInstance as i where i = :instance)"
+ * @hibernate.query name="DELETE_FAULTS_BY_INSTANCES" query="delete from HFaultData as f where f in (select i.fault from HProcessInstance as i where i in (:instances))"
*/
public class HFaultData extends HObject {
- public final static String DELETE_FAULTS_BY_PROCESS = "DELETE_FAULTS_BY_PROCESS";
- public final static String DELETE_FAULTS_BY_INSTANCE = "DELETE_FAULTS_BY_INSTANCE";
+ public final static String DELETE_FAULTS_BY_INSTANCES = "DELETE_FAULTS_BY_INSTANCES";
- private String _name;
- private String _explanation;
- private HLargeData _data;
- private int _lineNo;
- private int _activityId;
-
- /**
- * @hibernate.property column="FAULTNAME"
- */
- public String getName() {
- return _name;
- }
-
- public void setName(String name) {
- _name = name;
- }
-
- /**
- * @hibernate.many-to-one column="LDATA_ID" cascade="delete" foreign-key="none"
- */
- public HLargeData getData() {
- return _data;
- }
-
- public void setData(HLargeData data) {
- _data = data;
- }
-
-
- /**
- * @hibernate.property column="EXPLANATION" length="4000"
- */
- public String getExplanation() {
- return _explanation;
- }
-
- public void setExplanation(String explanation) {
- // Don't want to make this a blob, truncating to avoid errors
- if (explanation != null && explanation.length() > 4000)
- explanation = explanation.substring(0, 3999);
- _explanation = explanation;
- }
-
- /**
- * @hibernate.property column="LINE_NUM"
- */
- public int getLineNo() {
- return _lineNo;
- }
-
- public void setLineNo(int lineNo) {
- _lineNo = lineNo;
- }
-
- /**
- * @hibernate.property column="AID"
- */
- public int getActivityId() {
- return _activityId;
- }
-
- public void setActivityId(int activityId) {
- _activityId = activityId;
- }
+ private String _name;
+ private String _explanation;
+ private HLargeData _data;
+ private int _lineNo;
+ private int _activityId;
+
+ /**
+ * @hibernate.property column="FAULTNAME"
+ */
+ public String getName() {
+ return _name;
+ }
+
+ public void setName(String name) {
+ _name = name;
+ }
+
+ /**
+ * @hibernate.many-to-one column="LDATA_ID" cascade="delete" foreign-key="none"
+ */
+ public HLargeData getData() {
+ return _data;
+ }
+
+ public void setData(HLargeData data) {
+ _data = data;
+ }
+
+ /**
+ * @hibernate.property column="EXPLANATION" length="4000"
+ */
+ public String getExplanation() {
+ return _explanation;
+ }
+
+ public void setExplanation(String explanation) {
+ // Don't want to make this a blob, truncating to avoid errors
+ if (explanation != null && explanation.length() > 4000)
+ explanation = explanation.substring(0, 3999);
+ _explanation = explanation;
+ }
+
+ /**
+ * @hibernate.property column="LINE_NUM"
+ */
+ public int getLineNo() {
+ return _lineNo;
+ }
+
+ public void setLineNo(int lineNo) {
+ _lineNo = lineNo;
+ }
+
+ /**
+ * @hibernate.property column="AID"
+ */
+ public int getActivityId() {
+ return _activityId;
+ }
+
+ public void setActivityId(int activityId) {
+ _activityId = activityId;
+ }
}
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HLargeData.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HLargeData.java?rev=766592&r1=766591&r2=766592&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HLargeData.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HLargeData.java Mon Apr 20 06:44:37 2009
@@ -24,73 +24,62 @@
* instance needs to store as part of its state large binary or text
* data, a reference to an instance of this class must be created.
* @hibernate.class table="LARGE_DATA"
- * @hibernate.query name="DELETE_EVENT_LDATA_BY_PROCESS" query="delete from HLargeData as d where d in(select e.data from HBpelEvent as e where e.process = :process)"
- * @hibernate.query name="DELETE_XMLDATA_LDATA_BY_PROCESS" query="delete from HLargeData as d where d in(select x.data from HXmlData as x where x.instance.process = :process)"
- * @hibernate.query name="DELETE_ACTIVITY_RECOVERY_LDATA_BY_PROCESS" query="delete from HLargeData as d where d in(select a.details from HActivityRecovery as a where a.instance.process = :process)"
- * @hibernate.query name="DELETE_FAULT_LDATA_BY_PROCESS" query="delete from HLargeData as d where d in(select f.data from HFaultData as f, HProcessInstance as i where f.id = i.fault and i.process = :process)"
- * @hibernate.query name="DELETE_JACOB_LDATA_BY_PROCESS" query="delete from HLargeData as d where d in(select i.jacobState from HProcessInstance as i where i.process = :process)"
- * @hibernate.query name="DELETE_PARTNER_LINK_LDATA_BY_PROCESS" query="delete from HLargeData as d where d in(select l.myEPR from HPartnerLink as l where l.scope.instance.process = :process) or d IN(select l.partnerEPR from HPartnerLink as l where l.scope.instance.process = :process2)"
- * @hibernate.query name="DELETE_MESSAGE_LDATA_BY_PROCESS" query="delete from HLargeData as d where d in(select m.messageData from HMessage m where m.messageExchange.process = :process) or d IN(select m.header from HMessage m where m.messageExchange.process = :process2)"
- * @hibernate.query name="DELETE_MEX_LDATA_BY_PROCESS" query="delete from HLargeData as d where d in(select e.endpoint from HMessageExchange as e where e.process = :process) or d IN(select e.callbackEndpoint from HMessageExchange as e where e.process = :process2)"
- *
- * @hibernate.query name="DELETE_EVENT_LDATA_BY_INSTANCE" query="delete from HLargeData as d where d in(select e.data from HBpelEvent as e where e.instance = :instance)"
- * @hibernate.query name="DELETE_MESSAGE_LDATA_BY_MEX" query="delete from HLargeData as d where d in(select m.messageData from HMessage m where m.messageExchange = :mex) or d IN(select m.header from HMessage m where m.messageExchange = :mex2)"
- * @hibernate.query name="DELETE_UNMATCHED_MESSAGE_LDATA_BY_INSTANCE" query="delete from HLargeData as d where d in(select m.messageData from HMessage m, HCorrelatorMessage cm where m.messageExchange = cm.messageExchange and m.messageExchange.instance = :instance) or d IN(select m.header from HMessage m, HCorrelatorMessage cm where m.messageExchange = cm.messageExchange and m.messageExchange.instance = :instance2)"
- * @hibernate.query name="DELETE_XMLDATA_LDATA_BY_INSTANCE" query="delete from HLargeData as d where d in(select x.data from HXmlData as x where x.instance = :instance)"
- * @hibernate.query name="DELETE_PARTNER_LINK_LDATA_BY_INSTANCE" query="delete from HLargeData as d where d in(select l.myEPR from HPartnerLink as l where l.scope.instance = :instance) or d IN(select l.partnerEPR from HPartnerLink as l where l.scope.instance = :instance2)"
- * @hibernate.query name="DELETE_FAULT_LDATA_BY_INSTANCE_ID" query="delete from HLargeData as d where d in(select f.data from HFaultData as f, HProcessInstance as i where f.id = i.fault and i.id = :instanceId)"
+ * @hibernate.query name="DELETE_ACTIVITY_RECOVERY_LDATA_BY_INSTANCES" query="delete from HLargeData as d where d in(select a.details from HActivityRecovery as a where a.instance in (:instances))"
+ * @hibernate.query name="DELETE_JACOB_LDATA_BY_INSTANCES" query="delete from HLargeData as d where d in(select i.jacobState from HProcessInstance as i where i in (:instances))"
+ * @hibernate.query name="DELETE_MESSAGE_LDATA_BY_INSTANCES" query="delete from HLargeData as d where d in(select m.messageData from HMessage m where m.messageExchange.instance in (:instances)) or d IN(select m.header from HMessage m where m.messageExchange.instance in (:instances))"
+ * @hibernate.query name="DELETE_MEX_LDATA_BY_INSTANCES" query="delete from HLargeData as d where d in(select e.endpoint from HMessageExchange as e where e.instance in (:instances)) or d IN(select e.callbackEndpoint from HMessageExchange as e where e.instance in (:instances))"
+ *
+ * @hibernate.query name="DELETE_EVENT_LDATA_BY_INSTANCES" query="delete from HLargeData as d where d in(select e.data from HBpelEvent as e where e.instance in (:instances))"
+ * @hibernate.query name="DELETE_UNMATCHED_MESSAGE_LDATA_BY_INSTANCES" query="delete from HLargeData as d where d in(select m.messageData from HMessage m, HCorrelatorMessage cm where m.messageExchange = cm.messageExchange and m.messageExchange.instance in (:instances)) or d in(select m.header from HMessage m, HCorrelatorMessage cm where m.messageExchange = cm.messageExchange and m.messageExchange.instance in (:instances))"
+ * @hibernate.query name="DELETE_XMLDATA_LDATA_BY_INSTANCES" query="delete from HLargeData as d where d in(select x.data from HXmlData as x where x.instance in (:instances))"
+ * @hibernate.query name="DELETE_PARTNER_LINK_LDATA_BY_INSTANCES" query="delete from HLargeData as d where d in(select l.myEPR from HPartnerLink as l where l.scope.instance in (:instances)) or d IN(select l.partnerEPR from HPartnerLink as l where l.scope.instance in (:instances))"
+ * @hibernate.query name="DELETE_FAULT_LDATA_BY_INSTANCE_IDS" query="delete from HLargeData as d where d in(select f.data from HFaultData as f, HProcessInstance as i where f.id = i.fault and i.id in (:instanceIds))"
+
+ * @hibernate.query name="DELETE_MESSAGE_LDATA_BY_MEX" query="delete from HLargeData as d where d in(select m.messageData from HMessage m where m.messageExchange = :mex) or d in(select m.header from HMessage m where m.messageExchange = :mex)"
*/
public class HLargeData extends HObject {
- public final static String DELETE_EVENT_LDATA_BY_PROCESS = "DELETE_EVENT_LDATA_BY_PROCESS";
- public final static String DELETE_XMLDATA_LDATA_BY_PROCESS = "DELETE_XMLDATA_LDATA_BY_PROCESS";
- public final static String DELETE_ACTIVITY_RECOVERY_LDATA_BY_PROCESS = "DELETE_ACTIVITY_RECOVERY_LDATA_BY_PROCESS";
- public final static String DELETE_FAULT_LDATA_BY_PROCESS = "DELETE_FAULT_LDATA_BY_PROCESS";
- public final static String DELETE_JACOB_LDATA_BY_PROCESS = "DELETE_JACOB_LDATA_BY_PROCESS";
- public final static String DELETE_PARTNER_LINK_LDATA_BY_PROCESS = "DELETE_PARTNER_LINK_LDATA_BY_PROCESS";
- public final static String DELETE_MESSAGE_LDATA_BY_PROCESS = "DELETE_MESSAGE_LDATA_BY_PROCESS";
- public final static String DELETE_MEX_LDATA_BY_PROCESS = "DELETE_MEX_LDATA_BY_PROCESS";
-
- public final static String DELETE_EVENT_LDATA_BY_INSTANCE = "DELETE_EVENT_LDATA_BY_INSTANCE";
- public final static String DELETE_MESSAGE_LDATA_BY_MEX = "DELETE_MESSAGE_LDATA_BY_MEX";
- public final static String DELETE_UNMATCHED_MESSAGE_LDATA_BY_INSTANCE = "DELETE_UNMATCHED_MESSAGE_LDATA_BY_INSTANCE";
- public final static String DELETE_XMLDATA_LDATA_BY_INSTANCE = "DELETE_XMLDATA_LDATA_BY_INSTANCE";
- public final static String DELETE_PARTNER_LINK_LDATA_BY_INSTANCE = "DELETE_PARTNER_LINK_LDATA_BY_INSTANCE";
- public final static String DELETE_FAULT_LDATA_BY_INSTANCE_ID = "DELETE_FAULT_LDATA_BY_INSTANCE_ID";
+ public final static String DELETE_ACTIVITY_RECOVERY_LDATA_BY_INSTANCES = "DELETE_ACTIVITY_RECOVERY_LDATA_BY_INSTANCES";
+ public final static String DELETE_JACOB_LDATA_BY_INSTANCES = "DELETE_JACOB_LDATA_BY_INSTANCES";
+ public final static String DELETE_MESSAGE_LDATA_BY_INSTANCES = "DELETE_MESSAGE_LDATA_BY_INSTANCES";
+ public final static String DELETE_MEX_LDATA_BY_INSTANCES = "DELETE_MEX_LDATA_BY_INSTANCES";
+
+ public final static String DELETE_EVENT_LDATA_BY_INSTANCES = "DELETE_EVENT_LDATA_BY_INSTANCES";
+ public final static String DELETE_MESSAGE_LDATA_BY_MEX = "DELETE_MESSAGE_LDATA_BY_MEX";
+ public final static String DELETE_UNMATCHED_MESSAGE_LDATA_BY_INSTANCES = "DELETE_UNMATCHED_MESSAGE_LDATA_BY_INSTANCES";
+ public final static String DELETE_XMLDATA_LDATA_BY_INSTANCES = "DELETE_XMLDATA_LDATA_BY_INSTANCES";
+ public final static String DELETE_PARTNER_LINK_LDATA_BY_INSTANCES = "DELETE_PARTNER_LINK_LDATA_BY_INSTANCES";
+ public final static String DELETE_FAULT_LDATA_BY_INSTANCE_IDS = "DELETE_FAULT_LDATA_BY_INSTANCE_IDS";
- private byte[] binary = null;
+ private byte[] binary = null;
- public HLargeData() {
- super();
- }
-
- public HLargeData(byte[] binary) {
- super();
- this.binary = binary;
- }
-
- public HLargeData(String text) {
- super();
- this.binary = text.getBytes();
- }
-
- /**
- * @hibernate.property
- * type="binary"
- * length="2G"
- *
- * @hibernate.column
- * name="BIN_DATA"
- * sql-type="blob(2G)"
- */
- public byte[] getBinary() {
- return binary;
- }
-
- public void setBinary(byte[] binary) {
- this.binary = binary;
- }
-
- public String getText() {
- return new String(binary);
- }
+ public HLargeData() {
+ super();
+ }
+
+ public HLargeData(byte[] binary) {
+ super();
+ this.binary = binary;
+ }
+
+ public HLargeData(String text) {
+ super();
+ this.binary = text.getBytes();
+ }
+
+ /**
+ * @hibernate.property type="binary" length="2G"
+ *
+ * @hibernate.column name="BIN_DATA" sql-type="blob(2G)"
+ */
+ public byte[] getBinary() {
+ return binary;
+ }
+
+ public void setBinary(byte[] binary) {
+ this.binary = binary;
+ }
+
+ public String getText() {
+ return new String(binary);
+ }
}
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessage.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessage.java?rev=766592&r1=766591&r2=766592&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessage.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessage.java Mon Apr 20 06:44:37 2009
@@ -23,53 +23,53 @@
*
* @hibernate.class table="BPEL_MESSAGE"
* @hibernate.query name="DELETE_MESSAGES_BY_MEX" query="delete from HMessage as m WHERE m.messageExchange = :messageExchange"
- * @hibernate.query name="DELETE_MESSAGES_BY_PROCESS" query="delete from HMessage as m WHERE m.messageExchange IN(select e from HMessageExchange e where e.process = :process)"
+ * @hibernate.query name="DELETE_MESSAGES_BY_INSTANCES" query="delete from HMessage as m WHERE m.messageExchange IN(select e from HMessageExchange e where e.instance in (:instances))"
*/
public class HMessage extends HObject {
- public final static String DELETE_MESSAGES_BY_MEX = "DELETE_MESSAGES_BY_MEX";
- public final static String DELETE_MESSAGES_BY_PROCESS = "DELETE_MESSAGES_BY_PROCESS";
+ public final static String DELETE_MESSAGES_BY_MEX = "DELETE_MESSAGES_BY_MEX";
+ public final static String DELETE_MESSAGES_BY_INSTANCES = "DELETE_MESSAGES_BY_INSTANCES";
- private HMessageExchange _mex;
- private String _type;
- private HLargeData _data;
- private HLargeData _header;
-
- public void setMessageExchange(HMessageExchange mex) {
- _mex = mex;
- }
-
- /** @hibernate.many-to-one column="MEX" foreign-key="none"*/
- public HMessageExchange getMessageExchange() {
- return _mex;
- }
-
- public void setType(String type) {
- _type = type;
- }
-
- /** @hibernate.property column="TYPE" */
- public String getType() {
- return _type;
- }
-
- /**
- * @hibernate.many-to-one column="DATA" lazy="false" outer-join="true" foreign-key="none"
- * */
- public HLargeData getMessageData() {
- return _data;
- }
-
- public void setMessageData(HLargeData data) {
- _data = data;
- }
-
- /** @hibernate.many-to-one column="HEADER" lazy="false" outer-join="true" foreign-key="none" */
- public HLargeData getHeader() {
- return _header;
- }
-
- public void setHeader(HLargeData header) {
- _header = header;
- }
+ private HMessageExchange _mex;
+ private String _type;
+ private HLargeData _data;
+ private HLargeData _header;
+
+ public void setMessageExchange(HMessageExchange mex) {
+ _mex = mex;
+ }
+
+ /** @hibernate.many-to-one column="MEX" foreign-key="none"*/
+ public HMessageExchange getMessageExchange() {
+ return _mex;
+ }
+
+ public void setType(String type) {
+ _type = type;
+ }
+
+ /** @hibernate.property column="TYPE" */
+ public String getType() {
+ return _type;
+ }
+
+ /**
+ * @hibernate.many-to-one column="DATA" lazy="false" outer-join="true" foreign-key="none"
+ * */
+ public HLargeData getMessageData() {
+ return _data;
+ }
+
+ public void setMessageData(HLargeData data) {
+ _data = data;
+ }
+
+ /** @hibernate.many-to-one column="HEADER" lazy="false" outer-join="true" foreign-key="none" */
+ public HLargeData getHeader() {
+ return _header;
+ }
+
+ public void setHeader(HLargeData header) {
+ _header = header;
+ }
}
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessageExchange.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessageExchange.java?rev=766592&r1=766591&r2=766592&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessageExchange.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessageExchange.java Mon Apr 20 06:44:37 2009
@@ -27,16 +27,12 @@
* Hibernate-managed table for keeping track of message exchanges.
*
* @hibernate.class table="BPEL_MESSAGE_EXCHANGE" dynamic-update="true"
- * @hibernate.query name="DELETE_MEX_BY_INSTANCE" query="delete from HMessageExchange as m where m.instance = :instance"
- * @hibernate.query name="SELECT_UNMATCHED_MEX_BY_INSTANCE" query="from HMessageExchange as m where m in(select cm.messageExchange from HCorrelatorMessage as cm where cm.messageExchange.instance = :instance)"
- * @hibernate.query name="DELETE_UNMATCHED_MEX" query="delete from HMessageExchange as m where m in(:mex)"
- * @hibernate.query name="DELETE_MEX_BY_PROCESS" query="delete from HMessageExchange as m where m.process = :process"
+ * @hibernate.query name="DELETE_MEX_BY_INSTANCES" query="delete from HMessageExchange as m where m.instance in (:instances)"
+ * @hibernate.query name="SELECT_UNMATCHED_MEX_BY_INSTANCES" query="from HMessageExchange as m where m in(select cm.messageExchange from HCorrelatorMessage as cm where cm.messageExchange.instance in (:instances))"
*/
public class HMessageExchange extends HObject {
- public final static String DELETE_MEX_BY_INSTANCE = "DELETE_MEX_BY_INSTANCE";
- public final static String SELECT_UNMATCHED_MEX_BY_INSTANCE = "SELECT_UNMATCHED_MEX_BY_INSTANCE";
- public final static String DELETE_UNMATCHED_MEX = "DELETE_UNMATCHED_MEX";
- public final static String DELETE_MEX_BY_PROCESS = "DELETE_MEX_BY_PROCESS";
+ public final static String DELETE_MEX_BY_INSTANCES = "DELETE_MEX_BY_INSTANCES";
+ public final static String SELECT_UNMATCHED_MEX_BY_INSTANCES = "SELECT_UNMATCHED_MEX_BY_INSTANCES";
private String _channelName;
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessageExchangeProperty.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessageExchangeProperty.java?rev=766592&r1=766591&r2=766592&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessageExchangeProperty.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessageExchangeProperty.java Mon Apr 20 06:44:37 2009
@@ -25,72 +25,72 @@
* is excluded from schema export.
*
* @hibernate.class table="BPEL_MEX_PROPS" lazy="true"
- * @hibernate.query name="DELETE_MEX_PROPS_BY_PROCESS" query="delete from HMessageExchangeProperty as p where p.mex in(select e from HMessageExchange e where e.process = :process)"
+ * @hibernate.query name="DELETE_MEX_PROPS_BY_INSTANCES" query="delete from HMessageExchangeProperty as p where p.mex in(select e from HMessageExchange e where e.instance in (:instances))"
*/
@SuppressWarnings("serial")
public class HMessageExchangeProperty implements Serializable {
- public final static String DELETE_MEX_PROPS_BY_PROCESS = "DELETE_MEX_PROPS_BY_PROCESS";
+ public final static String DELETE_MEX_PROPS_BY_INSTANCES = "DELETE_MEX_PROPS_BY_INSTANCES";
+
+ private HMessageExchange _mex;
+ private String _name;
+ private String _value;
+
+ public HMessageExchangeProperty() {
+ }
- private HMessageExchange _mex;
- private String _name;
- private String _value;
-
- public HMessageExchangeProperty() {
- }
-
- /**
- * @hibernate.id
- * @return
- */
- public HMessageExchangeProperty getKey() {
- return null;
- }
-
- public void setKey(HMessageExchangeProperty property) {
- }
-
+ /**
+ * @hibernate.id
+ * @return
+ */
+ public HMessageExchangeProperty getKey() {
+ return null;
+ }
+
+ public void setKey(HMessageExchangeProperty property) {
+ }
+
/**
* @hibernate.many-to-one column="MEX" insert="false" update="false"
*/
- public HMessageExchange getMex() {
- return _mex;
- }
-
- public void setMex(HMessageExchange mex) {
- _mex = mex;
- }
-
- /**
- * @hibernate.property column="NAME" type="string" length="8000" insert="false" update="false"
- */
- public String getName() {
- return _name;
- }
-
- public void setName(String name) {
- _name = name;
- }
-
- /**
- * @hibernate.property column="VALUE" type="string" insert="false" update="false"
- */
- public String getValue() {
- return _value;
- }
-
- public void setValue(String value) {
- _value = value;
- }
-
- public boolean equals(Object another) {
- // fake implementation to suppress hibernate warning on key not hash-searchable;
- // actually HMessageExchangePropery is never retrieved by the id
- return super.equals(another);
- }
-
- public int hashCode() {
- // fake implementation to suppress hibernate warning on key not hash-searchable
- // actually HMessageExchangePropery is never retrieved by the id
- return _mex.hashCode() * 29 + _name.hashCode() * 13;
- }
+ public HMessageExchange getMex() {
+ return _mex;
+ }
+
+ public void setMex(HMessageExchange mex) {
+ _mex = mex;
+ }
+
+ /**
+ * @hibernate.property column="NAME" type="string" length="8000" insert="false" update="false"
+ */
+ public String getName() {
+ return _name;
+ }
+
+ public void setName(String name) {
+ _name = name;
+ }
+
+ /**
+ * @hibernate.property column="VALUE" type="string" insert="false" update="false"
+ */
+ public String getValue() {
+ return _value;
+ }
+
+ public void setValue(String value) {
+ _value = value;
+ }
+
+ public boolean equals(Object another) {
+ // fake implementation to suppress hibernate warning on key not hash-searchable;
+ // actually HMessageExchangePropery is never retrieved by the id
+ return super.equals(another);
+ }
+
+ public int hashCode() {
+ // fake implementation to suppress hibernate warning on key not hash-searchable
+ // actually HMessageExchangePropery is never retrieved by the id
+ return _mex.hashCode() * 29 + _name.hashCode() * 13;
+ }
}
\ No newline at end of file
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HObject.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HObject.java?rev=766592&r1=766591&r2=766592&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HObject.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HObject.java Mon Apr 20 06:44:37 2009
@@ -18,6 +18,7 @@
*/
package org.apache.ode.daohib.bpel.hobj;
+import java.util.Collection;
import java.util.Date;
/**
@@ -25,7 +26,6 @@
* timestamp and lock fields.
*/
public class HObject {
-
private Long _id;
private Date _created;
@@ -75,6 +75,28 @@
_lock = lock;
}
+ public static <T extends HObject> Object[] toIdArray(T[] objects) {
+ Object[] ids = new Object[objects.length];
+
+ int index = 0;
+ for( HObject object : objects ) {
+ ids[index++] = object.getId();
+ }
+
+ return ids;
+ }
+
+ public static Object[] toIdArray(Collection<? extends HObject> objects) {
+ Object[] ids = new Object[objects.size()];
+
+ int index = 0;
+ for( HObject object : objects ) {
+ ids[index++] = object.getId();
+ }
+
+ return ids;
+ }
+
public String toString() {
return this.getClass()+"{id="+_id+"}";
}
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HPartnerLink.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HPartnerLink.java?rev=766592&r1=766591&r2=766592&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HPartnerLink.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HPartnerLink.java Mon Apr 20 06:44:37 2009
@@ -28,12 +28,10 @@
* configuration).
*
* @hibernate.class table="BPEL_PLINK_VAL"
- * @hibernate.query name="DELETE_PARTNER_LINKS_BY_INSTANCE" query="delete from HPartnerLink as l where l.scope in (select s from HScope as s where s.instance = :instance)"
- * @hibernate.query name="DELETE_PARTNER_LINKS_BY_PROCESS" query="delete from HPartnerLink as l where l.scope in (select s.id from HScope as s where s.instance.process = :process)"
+ * @hibernate.query name="DELETE_PARTNER_LINKS_BY_INSTANCES" query="delete from HPartnerLink as l where l.scope in (select s from HScope as s where s.instance in (:instances))"
*/
public class HPartnerLink extends HObject {
- public final static String DELETE_PARTNER_LINKS_BY_INSTANCE = "DELETE_PARTNER_LINKS_BY_INSTANCE";
- public final static String DELETE_PARTNER_LINKS_BY_PROCESS = "DELETE_PARTNER_LINKS_BY_PROCESS";
+ public final static String DELETE_PARTNER_LINKS_BY_INSTANCES = "DELETE_PARTNER_LINKS_BY_INSTANCES";
private String _linkName;
@@ -201,5 +199,4 @@
public void setMessageExchanges(Set<HMessageExchange> mex) {
_mex = mex;
}
-
}
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HProcessInstance.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HProcessInstance.java?rev=766592&r1=766591&r2=766592&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HProcessInstance.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HProcessInstance.java Mon Apr 20 06:44:37 2009
@@ -28,18 +28,21 @@
* Hibernate table representing a BPEL process instance.
*
* @hibernate.class table="BPEL_INSTANCE" dynamic-update="true" lazy="true"
- * @hibernate.query name="DELETE_INSTANCES_BY_PROCESS" query="delete from HProcessInstance as p where p.process = :process"
- * @hibernate.query name="COUNT_INSTANCES_BY_STATUS_AND_PROCESS_ID" query="select count(i.id) as cnt, max(i.activityFailureDateTime) as lastFailureDt from HProcessInstance as i where i.process.processId = :processId and i.state in(:states) and i.activityFailureCount > 0"
- * @hibernate.query name="COUNT_FAILED_INSTANCES_BY_STATUS_AND_PROCESS_ID" query="select count(i.id) as cnt, max(i.activityFailureDateTime) as lastFailureDt from HProcessInstance as i where i.process.processId = :processId and i.state in(:states) and i.activityFailureCount > 0"
- * @hibernate.query name="SELECT_ACTIVE_INSTANCES" query="from HProcessInstance as i where i.process.id = :processId and i.state = :state"
+ * @hibernate.query name="COUNT_FAILED_INSTANCES_BY_PROCESS_IDS_AND_STATES" query="select count(i.id) as cnt, max(i.activityFailureDateTime) as lastFailureDt from HProcessInstance as i where i.process.processId in (:processIds) and i.state in(:states) and i.activityFailureCount > 0"
+ * @hibernate.query name="SELECT_INSTANCES_BY_PROCESS" query="from HProcessInstance as i where i.process = :process)"
+ * @hibernate.query name="SELECT_INSTANCES_BY_PROCESSES_AND_STATES" query="from HProcessInstance as i where i.process in (:processes) and i.state in (:states)"
+ * @hibernate.query name="DELETE_INSTANCES" query="delete from HProcessInstance as i where i in (:instances)"
*/
public class HProcessInstance extends HObject {
- public static final String SELECT_ACTIVE_INSTANCES="SELECT_ACTIVE_INSTANCES";
- public static final String DELETE_INSTANCES_BY_PROCESS="DELETE_INSTANCES_BY_PROCESS";
- public static final String COUNT_FAILED_INSTANCES_BY_STATUS_AND_PROCESS_ID="COUNT_FAILED_INSTANCES_BY_STATUS_AND_PROCESS_ID";
+ public static final String COUNT_FAILED_INSTANCES_BY_PROCESS_IDS_AND_STATES="COUNT_FAILED_INSTANCES_BY_PROCESS_IDS_AND_STATES";
+ public static final String SELECT_INSTANCES_BY_PROCESS="SELECT_INSTANCES_BY_PROCESS";
+ public static final String SELECT_INSTANCES_BY_PROCESSES_AND_STATES="SELECT_INSTANCES_BY_PROCESSES_AND_STATES";
+ public static final String DELETE_INSTANCES="DELETE_INSTANCES";
/** Foreign key to owner {@link HProcess}. */
private HProcess _process;
+
+ private Long _processId;
/** Foreign key to the instantiating {@link HCorrelator}. */
private HCorrelator _instantiatingCorrelator;
@@ -170,7 +173,7 @@
/**
*
- * @hibernate.many-to-one column="PROCESS_ID" lazy="false" outer-join="true" foreign-key="none"
+ * @hibernate.many-to-one column="PROCESS_ID" lazy="true" outer-join="true" not-found="ignore" foreign-key="none"
*/
public HProcess getProcess() {
return _process;
@@ -181,6 +184,17 @@
}
/**
+ * @hibernate.property column="PROCESS_ID" insert="false" update="false"
+ */
+ public Long getProcessId() {
+ return _processId;
+ }
+
+ public void setProcessId(Long processId) {
+ _processId = processId;
+ }
+
+ /**
* @hibernate.bag lazy="true" inverse="true"
* @hibernate.collection-key column="PIID" foreign-key="none"
* @hibernate.collection-one-to-many class="org.apache.ode.daohib.bpel.hobj.HScope"
@@ -273,5 +287,4 @@
public void setActivityFailureDateTime(Date dateTime) {
_activityFailureDateTime = dateTime;
}
-
}