⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jawetypes.java

📁 jawe的最新版本,基于Java的图形化工作流编辑器。图形化工作流编辑器 。使用JAVA语言开发
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
/** * Miroslav Popov, Oct 3, 2005 miroslav.popov@gmail.com */package org.enhydra.jawe.base.controller;import java.awt.Color;import java.io.File;import java.io.FileInputStream;import java.io.StringReader;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Properties;import javax.swing.ImageIcon;import org.apache.xerces.parsers.DOMParser;import org.enhydra.jawe.JaWEComponent;import org.enhydra.jawe.JaWEComponentSettings;import org.enhydra.jawe.JaWEConstants;import org.enhydra.jawe.JaWEEAHandler;import org.enhydra.jawe.JaWEManager;import org.enhydra.jawe.ResourceManager;import org.enhydra.jawe.Utils;import org.enhydra.shark.utilities.SequencedHashMap;import org.enhydra.shark.xpdl.XMLAttribute;import org.enhydra.shark.xpdl.XMLCollection;import org.enhydra.shark.xpdl.XMLComplexChoice;import org.enhydra.shark.xpdl.XMLComplexElement;import org.enhydra.shark.xpdl.XMLElement;import org.enhydra.shark.xpdl.XMLSimpleElement;import org.enhydra.shark.xpdl.XMLUtil;import org.enhydra.shark.xpdl.elements.Activities;import org.enhydra.shark.xpdl.elements.Activity;import org.enhydra.shark.xpdl.elements.ActivitySet;import org.enhydra.shark.xpdl.elements.ActivitySets;import org.enhydra.shark.xpdl.elements.ActualParameter;import org.enhydra.shark.xpdl.elements.ActualParameters;import org.enhydra.shark.xpdl.elements.Application;import org.enhydra.shark.xpdl.elements.Applications;import org.enhydra.shark.xpdl.elements.DataField;import org.enhydra.shark.xpdl.elements.DataFields;import org.enhydra.shark.xpdl.elements.Deadline;import org.enhydra.shark.xpdl.elements.Deadlines;import org.enhydra.shark.xpdl.elements.EnumerationType;import org.enhydra.shark.xpdl.elements.EnumerationValue;import org.enhydra.shark.xpdl.elements.ExtendedAttribute;import org.enhydra.shark.xpdl.elements.ExtendedAttributes;import org.enhydra.shark.xpdl.elements.ExternalPackage;import org.enhydra.shark.xpdl.elements.ExternalPackages;import org.enhydra.shark.xpdl.elements.FormalParameter;import org.enhydra.shark.xpdl.elements.FormalParameters;import org.enhydra.shark.xpdl.elements.Member;import org.enhydra.shark.xpdl.elements.Namespace;import org.enhydra.shark.xpdl.elements.Namespaces;import org.enhydra.shark.xpdl.elements.Package;import org.enhydra.shark.xpdl.elements.Participant;import org.enhydra.shark.xpdl.elements.Participants;import org.enhydra.shark.xpdl.elements.Responsible;import org.enhydra.shark.xpdl.elements.Responsibles;import org.enhydra.shark.xpdl.elements.Tool;import org.enhydra.shark.xpdl.elements.Tools;import org.enhydra.shark.xpdl.elements.Transition;import org.enhydra.shark.xpdl.elements.Transitions;import org.enhydra.shark.xpdl.elements.TypeDeclaration;import org.enhydra.shark.xpdl.elements.TypeDeclarations;import org.enhydra.shark.xpdl.elements.WorkflowProcess;import org.enhydra.shark.xpdl.elements.WorkflowProcesses;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.xml.sax.InputSource;/** * @author Miroslav Popov * @author Sasa Bojanic */public class JaWETypes extends JaWEComponentSettings {   public static final String XPDL_TEMPLATE = "XPDLTemplate";   public static final String COLECTION_TYPE_APPLICATIONS = "applications";   public static final String COLECTION_TYPE_EXTERNAL_PACKAGES = "external_packages";   public static final String COLLECTION_TYPE_PARTICIPANTS = "participants";   public static final String COLLECTION_TYPE_WORKFLOW_PROCESSES = "workflow_processes";   public static final String COLLECTION_TYPE_TYPE_DECLARATION = "type_declaration";   protected Map allTypes = new HashMap();   protected Map allTypesMapping = new HashMap();   protected List activityTypes = new ArrayList();   protected List activitySetTypes = new ArrayList();   protected List actualParameterTypes = new ArrayList();   protected List applicationTypes = new ArrayList();   protected List dataFieldTypes = new ArrayList();   protected List deadlineTypes = new ArrayList();   protected List enumerationValueTypes = new ArrayList();   protected List extendedAttributeTypes = new ArrayList();   protected Map extAttribTypes = new HashMap();   protected List externalPackageTypes = new ArrayList();   protected List formalParameterTypes = new ArrayList();   protected List memberTypes = new ArrayList();   protected List namespaceTypes = new ArrayList();   protected List packageTypes = new ArrayList();   protected List participantTypes = new ArrayList();   protected List responsibleTypes = new ArrayList();   protected List toolTypes = new ArrayList();   protected List transitionTypes = new ArrayList();   protected List typeDeclarationTypes = new ArrayList();   protected List workflowProcessTypes = new ArrayList();   protected Map templateMap = new SequencedHashMap();   protected boolean fullTemplateCheckForNonStandardTypes = true;   public void init(JaWEComponent comp) {      PROPERTYFILE_PATH = "org/enhydra/jawe/base/controller/properties/";      PROPERTYFILE_NAME = "jawetypes.properties";      super.init(comp);   }   public JaWEType getType(String typeId) {      return (JaWEType) allTypes.get(typeId);   }   public boolean hasTemplateId(String templateId) {      if (templateId == null) {         return false;      }      return templateMap.containsKey(templateId);   }   public XMLElement getTemplateElement(String templateId) {      return (XMLElement) ((XMLElement) templateMap.get(templateId)).clone();   }   public boolean fillFromTemplate(XMLElement el, String tmplId) {      if (tmplId == null) {         return false;      }      XMLElement tmplEl = (XMLElement) templateMap.get(tmplId);      if (tmplEl != null) {         el.makeAs(tmplEl);         return true;      }      return false;   }   public List getTypes(XMLElement el) {      Class parentForEA = null;      if (el instanceof ExtendedAttribute) {         parentForEA = el.getParent().getParent().getClass();      } else if (el instanceof ExtendedAttributes) {         parentForEA = el.getParent().getClass();      }      return getTypes(el.getClass(), parentForEA);   }   public List getTypes(Class xpdlClass, Class xpdlParentForEA) {      if (xpdlClass == Activities.class || xpdlClass == Activity.class) {         return new ArrayList(activityTypes);      } else if (xpdlClass == ActivitySet.class || xpdlClass == ActivitySets.class) {         return new ArrayList(activitySetTypes);      } else if (xpdlClass == ActualParameter.class                 || xpdlClass == ActualParameters.class) {         return new ArrayList(actualParameterTypes);      } else if (xpdlClass == Application.class || xpdlClass == Applications.class) {         return new ArrayList(applicationTypes);      } else if (xpdlClass == DataField.class || xpdlClass == DataFields.class) {         return new ArrayList(dataFieldTypes);      } else if (xpdlClass == Deadline.class || xpdlClass == Deadlines.class) {         return new ArrayList(deadlineTypes);      } else if (xpdlClass == EnumerationType.class) {         return new ArrayList(enumerationValueTypes);      } else if (xpdlClass == ExtendedAttribute.class                 || xpdlClass == ExtendedAttributes.class) {         if (xpdlParentForEA == null             || ((List) extAttribTypes.get(XMLUtil.getShortClassName(xpdlParentForEA.getName()))).size() == 0) {            return new ArrayList(extendedAttributeTypes);         }         return new ArrayList((List) extAttribTypes.get(XMLUtil.getShortClassName(xpdlParentForEA.getName())));      } else if (xpdlClass == ExternalPackage.class                 || xpdlClass == ExternalPackages.class) {         return new ArrayList(externalPackageTypes);      } else if (xpdlClass == FormalParameter.class                 || xpdlClass == FormalParameters.class) {         return new ArrayList(formalParameterTypes);      } else if (xpdlClass == Member.class) {         return new ArrayList(memberTypes);      } else if (xpdlClass == Namespace.class || xpdlClass == Namespaces.class) {         return new ArrayList(namespaceTypes);      } else if (xpdlClass == Package.class) {         return new ArrayList(packageTypes);      } else if (xpdlClass == Participant.class || xpdlClass == Participants.class) {         return new ArrayList(participantTypes);      } else if (xpdlClass == Responsible.class || xpdlClass == Responsibles.class) {         return new ArrayList(responsibleTypes);      } else if (xpdlClass == Tool.class || xpdlClass == Tools.class) {         return new ArrayList(toolTypes);      } else if (xpdlClass == Transition.class || xpdlClass == Transitions.class) {         return new ArrayList(transitionTypes);      } else if (xpdlClass == TypeDeclaration.class                 || xpdlClass == TypeDeclarations.class) {         return new ArrayList(typeDeclarationTypes);      } else if (xpdlClass == WorkflowProcess.class                 || xpdlClass == WorkflowProcesses.class) {         return new ArrayList(workflowProcessTypes);      }      return new ArrayList();   }   public String getDefaultType(XMLElement el) {      Class parentForEA = null;      if (el instanceof ExtendedAttribute) {         parentForEA = el.getParent().getParent().getClass();      } else if (el instanceof ExtendedAttributes) {         parentForEA = el.getParent().getClass();      }      return getDefaultType(el.getClass(), parentForEA);   }   public String getDefaultType(Class el, Class xpdlParentForEA) {      if (el == Activity.class) {         if (activityTypes.size() > 0) {            return ((JaWEType) activityTypes.get(0)).getTypeId();         }      } else if (el == ActivitySet.class) {         if (activitySetTypes.size() > 0) {            return ((JaWEType) activitySetTypes.get(0)).getTypeId();         }      } else if (el == ActualParameter.class) {         if (actualParameterTypes.size() > 0) {            return ((JaWEType) actualParameterTypes.get(0)).getTypeId();         }      } else if (el == Application.class) {         if (applicationTypes.size() > 0) {            return ((JaWEType) applicationTypes.get(0)).getTypeId();         }      } else if (el == DataField.class) {         if (dataFieldTypes.size() > 0) {            return ((JaWEType) dataFieldTypes.get(0)).getTypeId();         }      } else if (el == Deadline.class) {         if (deadlineTypes.size() > 0) {            return ((JaWEType) deadlineTypes.get(0)).getTypeId();         }      } else if (el == EnumerationType.class) {         if (enumerationValueTypes.size() > 0) {            return ((JaWEType) enumerationValueTypes.get(0)).getTypeId();         }      } else if (el == ExtendedAttribute.class) {         if (xpdlParentForEA == null) {            if (extendedAttributeTypes.size() > 0) {               return ((JaWEType) extendedAttributeTypes.get(0)).getTypeId();            }         } else {            List tps = (List) extAttribTypes.get(XMLUtil.getShortClassName(xpdlParentForEA.getName()));            if (tps.size() > 0) {               return ((JaWEType) tps.get(0)).getTypeId();            }         }      } else if (el == ExternalPackage.class) {         if (externalPackageTypes.size() > 0) {            return ((JaWEType) externalPackageTypes.get(0)).getTypeId();         }      } else if (el == FormalParameter.class) {         if (formalParameterTypes.size() > 0) {            return ((JaWEType) formalParameterTypes.get(0)).getTypeId();         }      } else if (el == Member.class) {         if (memberTypes.size() > 0) {            return ((JaWEType) memberTypes.get(0)).getTypeId();         }      } else if (el == Namespace.class) {         if (namespaceTypes.size() > 0) {            return ((JaWEType) namespaceTypes.get(0)).getTypeId();         }      } else if (el == Package.class) {         if (packageTypes.size() > 0) {            return ((JaWEType) packageTypes.get(0)).getTypeId();         }      } else if (el == Participant.class) {         if (participantTypes.size() > 0) {            return ((JaWEType) participantTypes.get(0)).getTypeId();         }      } else if (el == Responsible.class) {         if (responsibleTypes.size() > 0) {            return ((JaWEType) responsibleTypes.get(0)).getTypeId();         }      } else if (el == Tool.class) {         if (toolTypes.size() > 0) {            return ((JaWEType) toolTypes.get(0)).getTypeId();         }      } else if (el == Transition.class) {         if (transitionTypes.size() > 0) {            return ((JaWEType) transitionTypes.get(0)).getTypeId();         }      } else if (el == TypeDeclaration.class) {         if (typeDeclarationTypes.size() > 0) {            return ((JaWEType) typeDeclarationTypes.get(0)).getTypeId();         }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -