public WorkflowTaskDefinition createTaskDefinition(String id, WorkflowNode node, String typeName, boolean isStart) { TypeDefinition metaData = getTaskTypeDefinition(typeName, isStart); if(id == null) { id = qNameConverter.mapQNameToName(metaData.getName()); } return new WorkflowTaskDefinition(id, node, metaData); }
@Override protected TypeDefinition getBaseType(WorkflowTask task) { return task.getDefinition().getMetadata(); }
private String getTransitionValues(WorkflowTask item) { WorkflowTransition[] transitions = item.getDefinition().getNode().getTransitions(); if (transitions == null || transitions.length == 0) { return ""; } return buildTransitionString(item, transitions); }
@Test public void testGetDefinitionById() throws Exception { WorkflowDefinition definition = deployTestTaskDefinition(); WorkflowDefinition result = workflowEngine.getDefinitionById(definition.getId()); assertNotNull("The workflow definition was not found!", result); assertEquals(definition.getId(), result.getId()); assertEquals(definition.getDescription(), result.getDescription()); assertEquals(definition.getName(), result.getName()); assertEquals(definition.getTitle(), result.getTitle()); assertEquals(definition.getVersion(), result.getVersion()); WorkflowTaskDefinition resultStartDef = result.getStartTaskDefinition(); assertNotNull("Start task is null!", resultStartDef); WorkflowTaskDefinition originalStartDef = definition.getStartTaskDefinition(); assertEquals("Start task Id does not match!", originalStartDef.getId(), resultStartDef.getId()); WorkflowNode resultNode = resultStartDef.getNode(); assertNotNull("Start Task Node is null!", resultNode); assertEquals("Start Task Node Name does not match!", originalStartDef.getNode().getName(), resultNode.getName()); TypeDefinition metaData = resultStartDef.getMetadata(); assertNotNull("Start Task Metadata is null!", metaData); assertEquals("Start Task Metadata name does not match!", originalStartDef.getMetadata().getName(), metaData.getName()); workflowEngine.undeployDefinition(definition.getId()); WorkflowDefinition nullResult = workflowEngine.getDefinitionById(definition.getId()); assertNull("The workflow definition was found but should be null!", nullResult); }
@SuppressWarnings("deprecation") public LazyActivitiWorkflowTask(Task task, ActivitiTypeConverter typeConverter, TenantService tenantService, String workflowDefinitionName) { super(BPMEngineRegistry.createGlobalId(ActivitiConstants.ENGINE_ID, task.getId()), null, null, null, null, null, null, null); this.task = task; this.activitiTypeConverter = typeConverter; this.lazyPropertiesMap = new LazyPropertiesMap(); // Fetch task-definition and a partially-initialized WorkflowTask (not including properties and path) WorkflowTaskDefinition taskDefinition = activitiTypeConverter.getTaskDefinition(task); WorkflowTask partiallyInitialized = typeConverter.getWorkflowObjectFactory().createTask(task.getId(), taskDefinition, taskDefinition.getId(), task.getName(), task.getDescription(), WorkflowTaskState.IN_PROGRESS, null, workflowDefinitionName , lazyPropertiesMap); this.definition = taskDefinition; this.name = taskDefinition.getId(); this.title = partiallyInitialized.getTitle(); this.description = partiallyInitialized.getDescription(); this.state = partiallyInitialized.getState(); }
@Override public String toString() { return "WorkflowDefinition[id=" + id + ",name=" + name + ",version=" + version + ",title=" + title + ",startTask=" + ((getStartTaskDefinition() == null) ? "undefined" : getStartTaskDefinition().toString()) + "]"; } }
@SuppressWarnings("deprecation") public LazyActivitiWorkflowTask(Task task, ActivitiTypeConverter typeConverter, TenantService tenantService, String workflowDefinitionName) { super(BPMEngineRegistry.createGlobalId(ActivitiConstants.ENGINE_ID, task.getId()), null, null, null, null, null, null, null); this.task = task; this.activitiTypeConverter = typeConverter; this.lazyPropertiesMap = new LazyPropertiesMap(); // Fetch task-definition and a partially-initialized WorkflowTask (not including properties and path) WorkflowTaskDefinition taskDefinition = activitiTypeConverter.getTaskDefinition(task); WorkflowTask partiallyInitialized = typeConverter.getWorkflowObjectFactory().createTask(task.getId(), taskDefinition, taskDefinition.getId(), task.getName(), task.getDescription(), WorkflowTaskState.IN_PROGRESS, null, workflowDefinitionName , lazyPropertiesMap); this.definition = taskDefinition; this.name = taskDefinition.getId(); this.title = partiallyInitialized.getTitle(); this.description = partiallyInitialized.getDescription(); this.state = partiallyInitialized.getState(); }
@Override public String toString() { return "WorkflowDefinition[id=" + id + ",name=" + name + ",version=" + version + ",title=" + title + ",startTask=" + ((getStartTaskDefinition() == null) ? "undefined" : getStartTaskDefinition().toString()) + "]"; } }
@Override protected TypeDefinition getBaseType(WorkflowDefinition item) { // TODO: I'm not sure this is safe as getStartTaskDefinition() is 'optional'. WorkflowTaskDefinition startTask = item.getStartTaskDefinition(); return startTask.getMetadata(); }
private WorkflowTask getWorkflowTask(String definitionName) { WorkflowDefinition reviewDef = workflowService.getDefinitionByName(definitionName); Map<QName, Serializable> properties = new HashMap<QName, Serializable>(); properties.put(WorkflowModel.ASSOC_ASSIGNEE, personManager.get(USER_ONE)); properties.put(WorkflowModel.ASSOC_PACKAGE, folder); WorkflowPath path = workflowService.startWorkflow(reviewDef.getId(), properties); WorkflowTask task = getTaskForPath(path); String startTaskId = reviewDef.getStartTaskDefinition().getId(); if (startTaskId.equals(task.getDefinition().getId())) { workflowService.endTask(task.getId(), null); task = getTaskForPath(path); } return task; }
private String getTransitionValues(WorkflowTask item) { WorkflowTransition[] transitions = item.getDefinition().getNode().getTransitions(); if (transitions == null || transitions.length == 0) { return ""; } return buildTransitionString(item, transitions); }
public WorkflowTaskDefinition createTaskDefinition(String id, WorkflowNode node, String typeName, boolean isStart) { TypeDefinition metaData = getTaskTypeDefinition(typeName, isStart); if(id == null) { id = qNameConverter.mapQNameToName(metaData.getName()); } return new WorkflowTaskDefinition(id, node, metaData); }
@Override protected TypeDefinition getBaseType(WorkflowTask task) { return task.getDefinition().getMetadata(); }
@Test public void testGetWorkflowTaskDefinitionsWithMultiInstanceTask() { // Test added to validate fix for ALF-14224 WorkflowDefinition definition = deployDefinition(getParallelReviewDefinitionPath()); String workflowDefId = definition.getId(); List<WorkflowTaskDefinition> taskDefs = workflowService.getTaskDefinitions(workflowDefId); assertEquals(4, taskDefs.size()); // The first task is the start-task, the second one is a multi-instance UserTask. This should have the right form-key WorkflowTaskDefinition taskDef = taskDefs.get(1); assertEquals("wf:activitiReviewTask", taskDef.getId()); }
@Test public void testCompletedTaskInWorkflowWithSubProcess() { WorkflowDefinition definition = deployDefinition(ACTIVITI_TEST_WITH_SUB_PROCESS_XML); String workflowDefId = definition.getId(); List<WorkflowTaskDefinition> taskDefs = workflowService.getTaskDefinitions(workflowDefId); assertEquals(2, taskDefs.size()); // Prior to the fix for MNT-17601 this list only contained "Alfresco start". assertEquals("Alfresco start", taskDefs.get(0).getNode().getTitle()); assertEquals("Alfresco User Task", taskDefs.get(1).getNode().getTitle()); }
private WorkflowTaskDefinition makeTaskDefinition() { String id = "foo$startTaskDefId"; TypeDefinition metadata = makeTypeDef(); WorkflowNode node = new WorkflowNode("", "", "", "", false); return new WorkflowTaskDefinition(id, node, metadata); }
@Override protected TypeDefinition getBaseType(WorkflowDefinition item) { // TODO: I'm not sure this is safe as getStartTaskDefinition() is 'optional'. WorkflowTaskDefinition startTask = item.getStartTaskDefinition(); return startTask.getMetadata(); }
String title = historicTaskInstance.getName(); String description = historicTaskInstance.getDescription(); String taskName = taskDef.getId();
private WorkflowTaskDefinition makeTaskDefinition(WorkflowTransition... transitions) { String id = "DefinitionId"; TypeDefinition metadata = makeTypeDef(); WorkflowNode node = new WorkflowNode("", "", "", "", true, transitions); return new WorkflowTaskDefinition(id, node, metadata); }