xpdlobjectfactory.java
来自「jawe的最新版本,基于Java的图形化工作流编辑器。图形化工作流编辑器 。使用」· Java 代码 · 共 812 行 · 第 1/2 页
JAVA
812 行
} int i = 0; while (fps.getFormalParameter(id) != null) { id = id + String.valueOf(++i); } fp.setId(id); } adjustXPDLObject(fp,type); if (addToCollection) { fps.add(fp); } return fp; } public Namespace createXPDLObject(Namespaces nss, String type, boolean addToCollection) { Namespace ns = (Namespace) nss.generateNewElement(); adjustType(ns, type); JaWETypes jts = JaWEManager.getInstance().getJaWEController().getJaWETypes(); boolean hasTemplate = jts.hasTemplateId(type); if (hasTemplate) { jts.fillFromTemplate(ns, type); } adjustXPDLObject(ns,type); if (addToCollection) { nss.add(ns); } return ns; } public Participant createXPDLObject(Participants ps, String type, boolean addToCollection) { Participant par = (Participant) ps.generateNewElement(); adjustType(par, type); JaWETypes jts = JaWEManager.getInstance().getJaWEController().getJaWETypes(); boolean hasTemplate = jts.hasTemplateId(type); if (hasTemplate) { jts.fillFromTemplate(par, type); } String id = par.getId(); if (!hasTemplate || id.equals("") || ps.getParticipant(id) != null) { if (id.equals("")) { id=JaWEManager.getInstance().getIdFactory().generateUniqueId(ps); } else { id = JaWEManager.getInstance().getIdFactory().generateSimilarOrIdenticalUniqueId(ps,new HashSet(),id); } int i = 0; while (ps.getParticipant(id) != null) { id = id + String.valueOf(++i); } par.setId(id); } if (type == null || type.equals("")) type = JaWEConstants.PARTICIPANT_TYPE_ROLE; if (type.equals(JaWEConstants.PARTICIPANT_TYPE_HUMAN)) { par.getParticipantType().setTypeHUMAN(); } else if (type.equals(JaWEConstants.PARTICIPANT_TYPE_ROLE)) { par.getParticipantType().setTypeROLE(); } else if (type.equals(JaWEConstants.PARTICIPANT_TYPE_ORGANIZATIONAL_UNIT)) { par.getParticipantType().setTypeORGANIZATIONAL_UNIT(); } else if (type.equals(JaWEConstants.PARTICIPANT_TYPE_RESOURCE)) { par.getParticipantType().setTypeRESOURCE(); } else if (type.equals(JaWEConstants.PARTICIPANT_TYPE_RESOURCE_SET)) { par.getParticipantType().setTypeRESOURCE_SET(); } else if (type.equals(JaWEConstants.PARTICIPANT_TYPE_SYSTEM)) { par.getParticipantType().setTypeSYSTEM(); } adjustXPDLObject(par,type); if (addToCollection) { ps.add(par); } return par; } public Member createXPDLObject(RecordType rt, String type, boolean addToCollection) { Member m = (Member) rt.generateNewElement(); adjustType(m, type); JaWETypes jts = JaWEManager.getInstance().getJaWEController().getJaWETypes(); boolean hasTemplate = jts.hasTemplateId(type); if (hasTemplate) { jts.fillFromTemplate(m, type); } adjustXPDLObject(m,type); if (addToCollection) { rt.add(m); } return m; } public Responsible createXPDLObject(Responsibles rs, String type, boolean addToCollection) { Responsible r = (Responsible) rs.generateNewElement(); adjustType(r, type); JaWETypes jts = JaWEManager.getInstance().getJaWEController().getJaWETypes(); boolean hasTemplate = jts.hasTemplateId(type); if (hasTemplate) { jts.fillFromTemplate(r, type); } // Map m=Utils.getPossibleResponsibles(rs,null); // String parId=""; // if (m.size()>0) { // parId=(String)m.keySet().iterator().next(); // // } // r.setValue(parId); adjustXPDLObject(r,type); if (addToCollection) { rs.add(r); } return r; } public Tool createXPDLObject(Tools ts, String type, boolean addToCollection) { Tool t = (Tool) ts.generateNewElement(); adjustType(t, type); JaWETypes jts = JaWEManager.getInstance().getJaWEController().getJaWETypes(); boolean hasTemplate = jts.hasTemplateId(type); if (hasTemplate) { jts.fillFromTemplate(t, type); } // Map m=XMLUtil.getPossibleApplications(XMLUtil.getWorkflowProcess(ts), // JaWEManager.getInstance().getXPDLHandler()); // String toolRef=""; // if (m.size()>0) { // toolRef=(String)m.keySet().iterator().next(); // } // t.setId(toolRef); adjustXPDLObject(t,type); if (addToCollection) { ts.add(t); } return t; } public Transition createXPDLObject(Transitions tras, String type, boolean addToCollection) { if (type == null || type.equals("")) type = JaWEConstants.TRANSITION_TYPE_UNCONDITIONAL; Transition tra = createXPDLTransition(tras,type); // if (type.equals(JaWEConstants.TRANSITION_TYPE_UNCONDITIONAL)) // do nothing // else if (type.equals(JaWEConstants.TRANSITION_TYPE_CONDITIONAL)) tra.getCondition().setTypeCONDITION(); else if (type.equals(JaWEConstants.TRANSITION_TYPE_OTHERWISE)) tra.getCondition().setTypeOTHERWISE(); else if (type.equals(JaWEConstants.TRANSITION_TYPE_EXCEPTION)) tra.getCondition().setTypeEXCEPTION(); else if (type.equals(JaWEConstants.TRANSITION_TYPE_DEFAULTEXCEPTION)) tra.getCondition().setTypeDEFAULTEXCEPTION(); adjustXPDLObject(tra,type); if (addToCollection) { tras.add(tra); } return tra; } protected Transition createXPDLTransition(Transitions tras,String type) { Transition tra = (Transition) tras.generateNewElement(); JaWETypes jts = JaWEManager.getInstance().getJaWEController().getJaWETypes(); boolean hasTemplate = jts.hasTemplateId(type); if (hasTemplate) { jts.fillFromTemplate(tra, type); } String id = tra.getId(); if (!hasTemplate || id.equals("") || tras.getTransition(id) != null) { if (id.equals("")) { id=JaWEManager.getInstance().getIdFactory().generateUniqueId(tras); } else { id = JaWEManager.getInstance().getIdFactory().generateSimilarOrIdenticalUniqueId(tras,new HashSet(),id); } int i = 0; while (tras.getTransition(id) != null) { id = id + String.valueOf(++i); } tra.setId(id); } return tra; } public TransitionRef createXPDLObject(TransitionRefs trs, String type, boolean addToCollection) { TransitionRef tr = (TransitionRef) trs.generateNewElement(); adjustType(tr, type); JaWETypes jts = JaWEManager.getInstance().getJaWEController().getJaWETypes(); boolean hasTemplate = jts.hasTemplateId(type); if (hasTemplate) { jts.fillFromTemplate(tr, type); } adjustXPDLObject(tr,type); if (addToCollection) { trs.add(tr); } return tr; } public TransitionRestriction createXPDLObject(TransitionRestrictions trests, String type, boolean addToCollection) { TransitionRestriction tres = (TransitionRestriction) trests.generateNewElement(); adjustType(tres, type); JaWETypes jts = JaWEManager.getInstance().getJaWEController().getJaWETypes(); boolean hasTemplate = jts.hasTemplateId(type); if (hasTemplate) { jts.fillFromTemplate(tres, type); } adjustXPDLObject(tres,type); if (addToCollection) { trests.add(tres); } return tres; } public TypeDeclaration createXPDLObject(TypeDeclarations tds, String type, boolean addToCollection) { TypeDeclaration td = (TypeDeclaration) tds.generateNewElement(); adjustType(td, type); JaWETypes jts = JaWEManager.getInstance().getJaWEController().getJaWETypes(); boolean hasTemplate = jts.hasTemplateId(type); if (hasTemplate) { jts.fillFromTemplate(td, type); } String id = td.getId(); if (!hasTemplate || id.equals("") || tds.getTypeDeclaration(id) != null) { if (id.equals("")) { id=JaWEManager.getInstance().getIdFactory().generateUniqueId(tds); } else { id = JaWEManager.getInstance().getIdFactory().generateSimilarOrIdenticalUniqueId(tds,new HashSet(),id); } int i = 0; while (tds.getTypeDeclaration(id) != null) { id = id + String.valueOf(++i); } td.setId(id); } adjustXPDLObject(td,type); if (addToCollection) { tds.add(td); } return td; } public Member createXPDLObject(UnionType ut, String type, boolean addToCollection) { Member m = (Member) ut.generateNewElement(); adjustType(m, type); JaWETypes jts = JaWEManager.getInstance().getJaWEController().getJaWETypes(); boolean hasTemplate = jts.hasTemplateId(type); if (hasTemplate) { jts.fillFromTemplate(m, type); } adjustXPDLObject(m,type); if (addToCollection) { ut.add(m); } return m; } public WorkflowProcess createXPDLObject(WorkflowProcesses wps, String type, boolean addToCollection) { WorkflowProcess wp = (WorkflowProcess) wps.generateNewElement(); adjustType(wp, type); JaWETypes jts = JaWEManager.getInstance().getJaWEController().getJaWETypes(); boolean hasTemplate = jts.hasTemplateId(type); if (hasTemplate) { jts.fillFromTemplate(wp, type); } String id = wp.getId(); if (!hasTemplate || id.equals("") || wps.getWorkflowProcess(id) != null) { if (id.equals("")) { id=JaWEManager.getInstance().getIdFactory().generateUniqueId(wps); } else { id = JaWEManager.getInstance().getIdFactory().generateSimilarOrIdenticalUniqueId(wps,new HashSet(),id); } int i = 0; while (wps.getWorkflowProcess(id) != null) { id = id + String.valueOf(++i); } wp.setId(id); } if (!hasTemplate || wp.getName().equals("")) { wp.setName(id); } wp.getProcessHeader().setCreated(Utils.getCurrentDateAndTime()); wp.getRedefinableHeader().setAuthor(XMLUtil.getPackage(wps) .getRedefinableHeader() .getAuthor()); adjustXPDLObject(wp,type); if (addToCollection) { wps.add(wp); } return wp; } public void adjustXPDLObject(XMLElement el,String type) { if (type!=null && !type.equals("")) { JaWEEAHandler.setJaWEType(el, type); } } public XMLElement createXPDLObject(XMLCollection col, String type, boolean addToCollection) { try { Class cl = col.getClass(); Method m = null; try { m = this.getClass().getMethod("createXPDLObject", new Class[] { cl, String.class, boolean.class }); } catch (Exception ex) { if (!(cl == XMLCollection.class)) { if (XMLCollection.class.isAssignableFrom(cl)) { cl = XMLCollection.class; } } } m = this.getClass().getMethod("createXPDLObject", new Class[] { cl, String.class, boolean.class }); // System.err.println("calling "+m.toString()); return (XMLElement) m.invoke(this, new Object[] { col, type, new Boolean(addToCollection) }); } catch (Throwable e) { e.printStackTrace(); return null; } } public XMLElement duplicateXPDLObject(XMLCollection col, XMLElement el) { XMLElement dup = col.generateNewElement(); dup.makeAs(el); if (dup instanceof XMLCollectionElement) { if (!(dup instanceof Tool)) { ((XMLCollectionElement) dup).setId(JaWEManager.getInstance() .getIdFactory() .generateUniqueId((XMLCollection) dup.getParent())); } XMLElement name = ((XMLCollectionElement) el).get("Name"); if (name != null && name.toValue().length() > 0) { ((XMLCollectionElement) dup).set("Name", ResourceManager.getLanguageDependentString("CopyOfKey") + " " + name.toValue()); } } return dup; } public XMLElement makeIdenticalXPDLObject(XMLCollection col, XMLElement el) { XMLElement dup = col.generateNewElement(); dup.makeAs(el); return dup; } protected String adjustType (XMLElement el,String type) { if (type==null || type.equals("")) { type=JaWEManager.getInstance().getJaWEController().getJaWETypes().getDefaultType(el); } return type; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?