Added method to find tasks based on workflow definition name (String instead of QName as in setProcessName)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28578 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Frederik Heremans
2011-06-24 15:22:20 +00:00
parent 855a129c80
commit 28161f0e2b
7 changed files with 99 additions and 4 deletions

View File

@@ -29,8 +29,8 @@ import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import java.util.Set;
import java.util.zip.ZipInputStream;
import org.alfresco.model.ContentModel;
@@ -1601,6 +1601,11 @@ public class JBPMEngine extends AlfrescoBpmEngine implements WorkflowEngine
query.setProcessName(tenantService.getName(query.getProcessName()));
}
if ((query.getWorkflowDefinitionName() != null) && (tenantService.isEnabled()))
{
query.setWorkflowDefinitionName(tenantService.getName(query.getWorkflowDefinitionName()));
}
Criteria criteria = createTaskQueryCriteria(session, query);
List<TaskInstance> tasks = criteria.list();
return getWorkflowTasks(tasks);
@@ -1915,6 +1920,25 @@ public class JBPMEngine extends AlfrescoBpmEngine implements WorkflowEngine
processDef.add(Restrictions.eq("name", processName));
}
// Process definition name
if (query.getWorkflowDefinitionName() != null)
{
process = (process == null) ? root.createCriteria("processInstance") : process;
Criteria processDef = process.createCriteria("processDefinition");
String processName = null;
if (tenantService.isEnabled())
{
String baseProcessName = tenantService.getBaseName(query.getWorkflowDefinitionName(), true);
processName = tenantService.getName(baseProcessName);
}
else
{
processName = query.getWorkflowDefinitionName();
}
processDef.add(Restrictions.eq("name", processName));
}
return process;
}