public String getOutputSkeletonXML(String caseID, String taskID) { YParametersSchema params = _paramsDefinitions.getParamsForTask(taskID); YWorkItem item = _engineClient.getWorkItem(caseID + ":" + taskID); YSpecificationID specID = item.getSpecificationID(); YTask task = _engineClient.getTaskDefinition(specID, item.getTaskID()); return Marshaller.getOutputParamsInXML( params, task.getDecompositionPrototype().getRootDataElementName()); }
private void updateSelf() { boolean inSequence = false; Set availableWorkItems = _engineClient.getAvailableWorkItems(); for (Iterator iterator = availableWorkItems.iterator(); iterator.hasNext(); ) { YWorkItem item = (YWorkItem) iterator.next(); if (inSequenceWorkitemIDs.contains(item.getTaskID())) { inSequence = true; } else { inSequence = false; } if (item.getStatus().equals(YWorkItemStatus.statusEnabled)) { addEnabledWorkItem(item, inSequence); } else if (item.getStatus().equals(YWorkItemStatus.statusFired)) { addFiredWorkItem(item, inSequence); } } Set allWorkItems = _engineClient.getAllWorkItems(); for (Iterator iterator = allWorkItems.iterator(); iterator.hasNext(); ) { YWorkItem item = (YWorkItem) iterator.next(); if (inSequenceWorkitemIDs.contains(item.getTaskID())) { inSequence = true; } else { inSequence = false; } if (item.getStatus().equals(YWorkItemStatus.statusExecuting)) { addStartedWorkItem(item, inSequence); } if (_paramsDefinitions.getParamsForTask(item.getTaskID()) == null) { YTask task = _engineClient.getTaskDefinition(item.getSpecificationID(), item.getTaskID()); String paramsAsXML = task.getInformation(); TaskInformation taskInfo = Marshaller.unmarshalTaskInformation(paramsAsXML); YParametersSchema paramsForTask = taskInfo.getParamSchema(); _paramsDefinitions.setParamsForTask(item.getTaskID(), paramsForTask); } } }