[jbpm-commits] JBoss JBPM SVN: r6260 - in jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm: graph/node and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu Apr 15 16:04:37 EDT 2010
Author: alex.guizar at jboss.com
Date: 2010-04-15 16:04:36 -0400 (Thu, 15 Apr 2010)
New Revision: 6260
Modified:
jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/db/GraphSession.java
jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/graph/node/DbSubProcessResolver.java
jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/graph/node/ProcessState.java
Log:
restored old method of deleting process instances because mysql did not like the new one
Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/db/GraphSession.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/db/GraphSession.java 2010-04-15 16:45:49 UTC (rev 6259)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/db/GraphSession.java 2010-04-15 20:04:36 UTC (rev 6260)
@@ -27,11 +27,11 @@
import java.util.Iterator;
import java.util.List;
-import org.hibernate.Hibernate;
import org.hibernate.HibernateException;
import org.hibernate.LockMode;
import org.hibernate.ObjectNotFoundException;
import org.hibernate.Session;
+import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.jbpm.JbpmContext;
@@ -245,19 +245,15 @@
public void deleteProcessDefinition(ProcessDefinition processDefinition) {
try {
// delete all instances of the given process
- Iterator processInstanceIter = session.getNamedQuery("GraphSession.findAllProcessInstancesForDefinition")
- .setLong("processDefinitionId", processDefinition.getId())
- .iterate();
- while (processInstanceIter.hasNext()) {
- ProcessInstance processInstance = (ProcessInstance) processInstanceIter.next();
- if (processInstance != null) {
- deleteProcessInstance(processInstance);
- // flush changes and then evict process instance to avoid exhausting memory
- session.flush();
- session.evict(processInstance);
- }
+ List processInstances = session.createCriteria(ProcessInstance.class)
+ .add(Restrictions.eq("processDefinition", processDefinition))
+ .setProjection(Projections.id())
+ .list();
+ for (Iterator iter = processInstances.iterator(); iter.hasNext();) {
+ Long id = (Long) iter.next();
+ ProcessInstance processInstance = (ProcessInstance) session.get(ProcessInstance.class, id);
+ if (processInstance != null) deleteProcessInstance(processInstance);
}
- Hibernate.close(processInstanceIter);
List referencingProcessStates = findReferencingProcessStates(processDefinition);
for (Iterator i = referencingProcessStates.iterator(); i.hasNext();) {
Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/graph/node/DbSubProcessResolver.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/graph/node/DbSubProcessResolver.java 2010-04-15 16:45:49 UTC (rev 6259)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/graph/node/DbSubProcessResolver.java 2010-04-15 20:04:36 UTC (rev 6260)
@@ -11,7 +11,6 @@
private static final long serialVersionUID = 1L;
public ProcessDefinition findSubProcess(Element subProcessElement) {
-
// if this parsing is done in the context of a process deployment,
// there is a database connection to look up the subprocess.
// when there is no jbpmSession, the definition will be left null...
@@ -41,8 +40,7 @@
return graphSession.findProcessDefinition(subProcessName, version);
}
catch (NumberFormatException e) {
- throw new JpdlException("subprocess version is invalid: "
- + subProcessElement.getPath());
+ throw new JpdlException("bad subprocess version: " + subProcessVersion);
}
}
Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/graph/node/ProcessState.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/graph/node/ProcessState.java 2010-04-15 16:45:49 UTC (rev 6259)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/graph/node/ProcessState.java 2010-04-15 20:04:36 UTC (rev 6260)
@@ -120,7 +120,7 @@
}
}
catch (JbpmException e) {
- jpdlReader.addWarning(e.getMessage());
+ jpdlReader.addError("failed to resolve subprocess", e);
}
// check whether this is a recursive process invocation
More information about the jbpm-commits
mailing list