📄 xpdlutils.java
字号:
Iterator it = wp.getActivitySets().toElements().iterator(); while (it.hasNext()) { ActivitySet as = (ActivitySet) it.next(); references.addAll(tGetParticipantReferences(as, referencedId)); } return references; } protected List tGetParticipantReferences(XMLComplexElement pkgOrWpOrAs, String referencedId) { List references = new ArrayList(); if (referencedId.equals("")) { return references; } if (!(pkgOrWpOrAs instanceof ActivitySet)) { Iterator it = ((RedefinableHeader) pkgOrWpOrAs.get("RedefinableHeader")).getResponsibles() .toElements() .iterator(); while (it.hasNext()) { Responsible rs = (Responsible) it.next(); if (rs.toValue().equals(referencedId)) { references.add(rs); } } } if (!(pkgOrWpOrAs instanceof Package)) { Iterator it = ((Activities) pkgOrWpOrAs.get("Activities")).toElements() .iterator(); while (it.hasNext()) { Activity act = (Activity) it.next(); String perf = act.getPerformer(); if (perf.equals(referencedId)) { references.add(act.get("Performer")); } } } return references; } public List getApplicationReferences(XMLComplexElement pkgOrWp, String referencedId) { if (referencedId.equals("")) { return new ArrayList(); } if (pkgOrWp instanceof Package) { return getApplicationReferences((Package) pkgOrWp, referencedId); } return getApplicationReferences((WorkflowProcess) pkgOrWp, referencedId); } public List getReferences(Package pkg, Application referenced) { if (XMLUtil.getPackage(referenced) != pkg && pkg.getApplication(referenced.getId()) != null) { return new ArrayList(); } return getApplicationReferences(pkg, referenced.getId()); } public List getApplicationReferences(Package pkg, String referencedId) { List references = new ArrayList(); if (referencedId.equals("")) { return references; } Iterator it = pkg.getWorkflowProcesses().toElements().iterator(); while (it.hasNext()) { WorkflowProcess wp = (WorkflowProcess) it.next(); if (wp.getApplication(referencedId) == null) { references.addAll(getApplicationReferences(wp, referencedId)); } } return references; } public List getReferences(WorkflowProcess wp, Application referenced) { if (XMLUtil.getWorkflowProcess(referenced) == null && wp.getApplication(referenced.getId()) != null) { return new ArrayList(); } Package pkg = XMLUtil.getPackage(wp); if (XMLUtil.getPackage(referenced) != pkg && pkg.getParticipant(referenced.getId()) != null) { return new ArrayList(); } return getApplicationReferences(wp, referenced.getId()); } public List getApplicationReferences(WorkflowProcess wp, String referencedId) { List references = new ArrayList(); if (referencedId.equals("")) { return references; } references.addAll(tGetApplicationReferences(wp, referencedId)); Iterator it = wp.getActivitySets().toElements().iterator(); while (it.hasNext()) { ActivitySet as = (ActivitySet) it.next(); references.addAll(tGetApplicationReferences(as, referencedId)); } return references; } protected List tGetApplicationReferences(XMLCollectionElement wpOrAs, String referencedId) { List references = new ArrayList(); if (referencedId.equals("")) { return references; } List types = new ArrayList(); types.add(new Integer(XPDLConstants.ACTIVITY_TYPE_TOOL)); Iterator it = getActivities((Activities) wpOrAs.get("Activities"), types).iterator(); while (it.hasNext()) { Activity act = (Activity) it.next(); Iterator tools = act.getActivityTypes() .getImplementation() .getImplementationTypes() .getTools() .toElements() .iterator(); while (tools.hasNext()) { Tool t = (Tool) tools.next(); if (t.getId().equals(referencedId)) { references.add(t); } } } return references; } public List getDataFieldReferences(XMLComplexElement pkgOrWp, String referencedId) { if (referencedId.equals("")) { return new ArrayList(); } if (pkgOrWp instanceof Package) { return getDataFieldReferences((Package) pkgOrWp, referencedId); } return getDataFieldReferences((WorkflowProcess) pkgOrWp, referencedId); } public List getReferences(Package pkg, DataField referenced) { return getDataFieldReferences(pkg, referenced.getId()); } public List getDataFieldReferences(Package pkg, String referencedId) { List references = new ArrayList(); if (referencedId.equals("")) { return references; } Iterator it = pkg.getWorkflowProcesses().toElements().iterator(); while (it.hasNext()) { WorkflowProcess wp = (WorkflowProcess) it.next(); if (wp.getDataField(referencedId) == null) { references.addAll(getDataFieldReferences(wp, referencedId)); } } return references; } public List getReferences(WorkflowProcess wp, DataField referenced) { if (XMLUtil.getWorkflowProcess(referenced) == null && (wp.getDataField(referenced.getId()) != null || wp.getFormalParameter(referenced.getId()) != null)) { return new ArrayList(); } return getDataFieldReferences(wp, referenced.getId()); } public List getDataFieldReferences(WorkflowProcess wp, String referencedId) { List references = new ArrayList(); if (referencedId.equals("")) { return references; } references.addAll(getVariableReferences(wp, referencedId)); Iterator it = wp.getActivitySets().toElements().iterator(); while (it.hasNext()) { ActivitySet as = (ActivitySet) it.next(); references.addAll(getVariableReferences(as, referencedId)); } return references; } public List getReferences(Package pkg, WorkflowProcess referenced) { List references = new ArrayList(); if (XMLUtil.getPackage(referenced) != pkg && pkg.getWorkflowProcess(referenced.getId()) != null) { return references; } Iterator it = pkg.getWorkflowProcesses().toElements().iterator(); while (it.hasNext()) { WorkflowProcess wp = (WorkflowProcess) it.next(); references.addAll(getReferences(wp, referenced)); } return references; } public List getWorkflowProcessReferences(Package pkg, String referencedId) { List references = new ArrayList(); if (referencedId.equals("")) { return references; } Iterator it = pkg.getWorkflowProcesses().toElements().iterator(); while (it.hasNext()) { WorkflowProcess wp = (WorkflowProcess) it.next(); references.addAll(getWorkflowProcessReferences(wp, referencedId)); } return references; } public List getReferences(WorkflowProcess wp, WorkflowProcess referenced) { return getWorkflowProcessReferences(wp, referenced.getId()); } public List getWorkflowProcessReferences(WorkflowProcess wp, String referencedId) { List references = new ArrayList(); if (referencedId.equals("")) { return references; } references.addAll(tGetWorkflowProcessReferences(wp, referencedId)); Iterator it = wp.getActivitySets().toElements().iterator(); while (it.hasNext()) { ActivitySet as = (ActivitySet) it.next(); references.addAll(tGetWorkflowProcessReferences(as, referencedId)); } return references; } protected List tGetWorkflowProcessReferences(XMLCollectionElement wpOrAs, String referencedId) { List references = new ArrayList(); if (referencedId.equals("")) { return references; } List types = new ArrayList(); types.add(new Integer(XPDLConstants.ACTIVITY_TYPE_SUBFLOW)); Iterator it = getActivities((Activities) wpOrAs.get("Activities"), types).iterator(); while (it.hasNext()) { Activity act = (Activity) it.next(); SubFlow s = act.getActivityTypes() .getImplementation() .getImplementationTypes() .getSubFlow(); if (s.getId().equals(referencedId)) { references.add(s); } } return references; } public List getReferences(WorkflowProcess wp, FormalParameter referenced) { List references = new ArrayList(); if (!(referenced.getParent().getParent() instanceof WorkflowProcess)) { return references; } return getFormalParameterReferences(wp, referenced.getId()); } public List getFormalParameterReferences(WorkflowProcess wp, String referencedId) { List references = new ArrayList(); if (referencedId.equals("")) { return references; } if (wp.getDataField(referencedId) != null) { return references; } references.addAll(getVariableReferences(wp, referencedId)); Iterator it = wp.getActivitySets().toElements().iterator(); while (it.hasNext()) { ActivitySet as = (ActivitySet) it.next(); references.addAll(getVariableReferences(as, referencedId)); } return references; } protected List getVariableReferences(XMLCollectionElement wpOrAs, String dfOrFpId) { List references = new ArrayList(); if (dfOrFpId.equals("")) { return references; } Map allVars = XMLUtil.getWorkflowProcess(wpOrAs).getAllVariables(); Iterator it = ((Activities) wpOrAs.get("Activities")).toElements().iterator(); while (it.hasNext()) { Activity act = (Activity) it.next(); int type = act.getActivityType(); // actual parameter (can be expression containing variable, or direct variable // reference) List aps = new ArrayList(); if (type == XPDLConstants.ACTIVITY_TYPE_SUBFLOW) { aps.addAll(act.getActivityTypes() .getImplementation() .getImplementationTypes() .getSubFlow() .getActualParameters() .toElements()); } else if (type == XPDLConstants.ACTIVITY_TYPE_TOOL) { Tools tools = act.getActivityTypes() .getImplementation() .getImplementationTypes() .getTools(); Iterator itt = tools.toElements().iterator(); while (itt.hasNext()) { Tool t = (Tool) itt.next(); aps.addAll(t.getActualParameters().toElements()); } } Iterator itap = aps.iterator(); while (itap.hasNext()) { ActualParameter ap = (ActualParameter) itap.next(); if (XMLUtil.getUsingPositions(ap.toValue(), dfOrFpId, allVars).size() > 0) { references.add(ap); } } Iterator itdls = act.getDeadlines().toElements().iterator(); while (itdls.hasNext()) { Deadline dl = (Deadline) itdls.next(); String dcond = dl.getDeadlineCondition();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -