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 + -
显示快捷键?