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

📄 utils.java

📁 jawe的最新版本,基于Java的图形化工作流编辑器。图形化工作流编辑器 。使用JAVA语言开发
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                  ZipEntry entry = (ZipEntry) e.nextElement();                  String entryname = entry.getName();                  // entry must end with '.properties'                  if (entryname.indexOf(LANG_PROP_PREFIX) != -1                      && entryname.endsWith(".properties")) {                     pfs.add(entryname);                  }               } catch (Exception ex) {               }            }         } catch (Exception ex) {            ex.printStackTrace();         }      }      // if there are no property files, try to find the default ones distributed      // with JaWE      if (pfs.size() == 0) {         u = Utils.class.getClassLoader()            .getResource("org/enhydra/jawe/language/JaWE.properties");         if (u != null) {            pfs.add("JaWE.properties");         }         u = Utils.class.getClassLoader()            .getResource("org/enhydra/jawe/language/JaWE_de.properties");         if (u != null) {            pfs.add("JaWE_de.properties");         }         u = Utils.class.getClassLoader()            .getResource("org/enhydra/jawe/language/JaWE_fr.properties");         if (u != null) {            pfs.add("JaWE_fr.properties");         }         u = Utils.class.getClassLoader()            .getResource("org/enhydra/jawe/language/JaWE_sh.properties");         if (u != null) {            pfs.add("JaWE_sh.properties");         }         u = Utils.class.getClassLoader()            .getResource("org/enhydra/jawe/language/JaWE_es.properties");         if (u != null) {            pfs.add("JaWE_es.properties");         }         u = Utils.class.getClassLoader()            .getResource("org/enhydra/jawe/language/JaWE_pt.properties");         if (u != null) {            pfs.add("JaWE_pt.properties");         }      }      java.util.List pfLocales = new ArrayList();      if (pfs.size() > 0) {         // adding default locale (for default property file)         pfLocales.add(new PFLocale());         for (int i = 0; i < pfs.size(); i++) {            String propFile = (String) pfs.get(i);            int p1 = propFile.indexOf(LANG_PROP_PREFIX) + LANG_PROP_PREFIX.length();            boolean isDefault = !propFile.substring(p1, p1 + 1).equals("_");            if (!isDefault) {               PFLocale pfl = PFLocale.createPFLocale(propFile.substring(p1 + 1,                                                                         propFile.length()                                                                               - ".properties".length()));               if (pfl != null) {                  pfLocales.add(pfl);               }            }         }      }      return pfLocales;   }   public static void copyFile(String src, String dest) {      try {         FileChannel sourceChannel = new FileInputStream(src).getChannel();         FileChannel destinationChannel = new FileOutputStream(dest).getChannel();         // Copy source file to destination file         destinationChannel.transferFrom(sourceChannel, 0, sourceChannel.size());         sourceChannel.close();         destinationChannel.close();      } catch (Exception ex) {         ex.printStackTrace();      }   }   public static void showEAS(ExtendedAttributes el) {      System.err.println("ExtendedAttributes, el = "                         + el + ", there are " + el.size() + " eas");      Iterator it = el.toElements().iterator();      while (it.hasNext()) {         System.err.println();         Utils.showEA((ExtendedAttribute) it.next());      }   }   public static void showEA(ExtendedAttribute el) {      System.err.println("ExtendedAttribute, el = " + el);      System.err.println("ExtendedAttribute.name), el = " + el.get("Name"));      System.err.println("ExtendedAttribute.value), el = " + el.get("Value"));      System.err.println();   }   /** Gets the current date and time string in ISO-8601 format. */   public static String getCurrentDateAndTime() {      String dateSeparator = "-";      String timeSeparator = ":";      Calendar cal = new GregorianCalendar();      String dateTime = "";      dateTime = dateTime + String.valueOf(cal.get(Calendar.YEAR)) + dateSeparator;      int mnth = cal.get(Calendar.MONTH) + 1;      if (mnth < 10) {         dateTime = dateTime + "0";      }      dateTime = dateTime + String.valueOf(mnth) + dateSeparator;      int dayOfMnth = cal.get(Calendar.DAY_OF_MONTH);      if (dayOfMnth < 10) {         dateTime = dateTime + "0";      }      dateTime = dateTime + String.valueOf(dayOfMnth) + " ";      int hr = cal.get(Calendar.HOUR_OF_DAY);      int ampm = cal.get(Calendar.AM_PM);      if (ampm == Calendar.PM && hr < 12) {         hr += 12;      }      if (hr < 10) {         dateTime = dateTime + "0";      }      dateTime = dateTime + String.valueOf(hr) + timeSeparator;      int min = cal.get(Calendar.MINUTE);      if (min < 10) {         dateTime = dateTime + "0";      }      dateTime = dateTime + String.valueOf(min) + timeSeparator;      int sec = cal.get(Calendar.SECOND);      if (sec < 10) {         dateTime = dateTime + "0";      }      dateTime = dateTime + String.valueOf(sec);      return dateTime;   }   public static String getActivityStringType(int activityType) {      String retVal = "";      switch (activityType) {         case XPDLConstants.ACTIVITY_TYPE_NO:            retVal = JaWEConstants.ACTIVITY_TYPE_NO;            break;         case XPDLConstants.ACTIVITY_TYPE_TOOL:            retVal = JaWEConstants.ACTIVITY_TYPE_TOOL;            break;         case XPDLConstants.ACTIVITY_TYPE_BLOCK:            retVal = JaWEConstants.ACTIVITY_TYPE_BLOCK;            break;         case XPDLConstants.ACTIVITY_TYPE_ROUTE:            retVal = JaWEConstants.ACTIVITY_TYPE_ROUTE;            break;         case XPDLConstants.ACTIVITY_TYPE_SUBFLOW:            retVal = JaWEConstants.ACTIVITY_TYPE_SUBFLOW;            break;      }      return retVal;   }   public static List sortValidationErrorList(List verrs) {      List sorted = new ArrayList();      Map epves = JaWEManager.getInstance()         .getXPDLValidator()         .getExtPkgValidationErrors();      Iterator it = epves.values().iterator();      while (it.hasNext()) {         List l = (List) it.next();         verrs.removeAll(l);      }      sorted.addAll(Utils.sortValidationErrorList(verrs, JaWEManager.getInstance()         .getJaWEController()         .getMainPackage()));      it = epves.entrySet().iterator();      while (it.hasNext()) {         Map.Entry me = (Map.Entry) it.next();         Package p = (Package) me.getKey();         List l = (List) me.getValue();         sorted.addAll(Utils.sortValidationErrorList(l, p));      }      return sorted;   }   public static List sortValidationErrorList(List verrs, Package p) {      List sorted = new ArrayList();      sorted.addAll(findErrorList(verrs,                                  Package.class,                                  XMLValidationError.SUB_TYPE_SCHEMA));      sorted.addAll(findErrorList(verrs, p, XMLValidationError.SUB_TYPE_LOGIC));      sorted.addAll(findErrorListParent(verrs, p));      sorted.addAll(findErrorListParent(verrs, p.getTypeDeclarations()));      sorted.addAll(findErrorListParent(verrs, p.getApplications()));      sorted.addAll(findErrorListParent(verrs, p.getParticipants()));      sorted.addAll(findErrorListParent(verrs, p.getDataFields()));      Iterator it = p.getApplications().toElements().iterator();      while (it.hasNext()) {         Application app = (Application) it.next();         sorted.addAll(findErrorListParent(verrs, app.getApplicationTypes()            .getFormalParameters()));      }      it = p.getWorkflowProcesses().toElements().iterator();      while (it.hasNext()) {         WorkflowProcess wp = (WorkflowProcess) it.next();         sorted.addAll(findErrorList(verrs, wp));      }      it = p.getWorkflowProcesses().toElements().iterator();      while (it.hasNext()) {         WorkflowProcess wp = (WorkflowProcess) it.next();         Iterator it2 = wp.getActivitySets().toElements().iterator();         while (it2.hasNext()) {            ActivitySet as = (ActivitySet) it2.next();            sorted.addAll(findErrorList(verrs, as));         }      }      it = p.getWorkflowProcesses().toElements().iterator();      while (it.hasNext()) {         WorkflowProcess wp = (WorkflowProcess) it.next();         sorted.addAll(findErrorListParent(verrs, wp.getApplications()));         sorted.addAll(findErrorListParent(verrs, wp.getParticipants()));         sorted.addAll(findErrorListParent(verrs, wp.getDataFields()));         sorted.addAll(findErrorListParent(verrs, wp.getFormalParameters()));         Iterator it2 = wp.getApplications().toElements().iterator();         while (it2.hasNext()) {            Application app = (Application) it2.next();            sorted.addAll(findErrorListParent(verrs, app.getApplicationTypes()               .getFormalParameters()));         }         it2 = wp.getActivitySets().toElements().iterator();         while (it2.hasNext()) {            ActivitySet as = (ActivitySet) it2.next();            Iterator it3 = as.getActivities().toElements().iterator();            while (it3.hasNext()) {               Activity act = (Activity) it3.next();               sorted.addAll(findErrorList(verrs, act));            }            it3 = as.getTransitions().toElements().iterator();            while (it3.hasNext()) {               Transition tra = (Transition) it3.next();               sorted.addAll(findErrorList(verrs, tra));            }         }         it2 = wp.getActivities().toElements().iterator();         while (it2.hasNext()) {            Activity act = (Activity) it2.next();            sorted.addAll(findErrorList(verrs, act));         }         it2 = wp.getTransitions().toElements().iterator();         while (it2.hasNext()) {            Transition tra = (Transition) it2.next();            sorted.addAll(findErrorList(verrs, tra));         }      }      verrs.removeAll(sorted);      sorted.addAll(verrs);      return sorted;   }   public static List findErrorList(List allErrs, Object obj, String validationType) {      List toRet = new ArrayList();      for (int i = 0; i < allErrs.size(); i++) {         ValidationError verr = (ValidationError) allErrs.get(i);         if (verr.getSubType().equals(validationType) && verr.getElement() == obj) {            toRet.add(verr);         }      }      return toRet;   }   public static List findErrorList(List allErrs, Object obj) {      List toRet = new ArrayList();      for (int i = 0; i < allErrs.size(); i++) {         ValidationError verr = (ValidationError) allErrs.get(i);         if (verr.getElement() == obj) {            toRet.add(verr);         }      }      return toRet;   }   public static List findErrorList(List allErrs, Class objClass) {      List toRet = new ArrayList();      for (int i = 0; i < allErrs.size(); i++) {         ValidationError verr = (ValidationError) allErrs.get(i);         if (verr.getElement().getClass() == objClass) {            toRet.add(verr);         }      }      return toRet;   }   public static List findErrorList(List allErrs, Class objClass, String validationType) {      List toRet = new ArrayList();      for (int i = 0; i < allErrs.size(); i++) {         ValidationError verr = (ValidationError) allErrs.get(i);         if (verr.getSubType().equals(validationType)             && verr.getElement().getClass() == objClass) {            toRet.add(verr);         }      }      return toRet;   }   public static List findErrorListParent(List allErrs, Object parentObj) {      List toRet = new ArrayList();      for (int i = 0; i < allErrs.size(); i++) {         ValidationError verr = (ValidationError) allErrs.get(i);         if (verr.getElement().getParent() == parentObj) {            toRet.add(verr);         }      }      return toRet;   }   public static int countErrors(List verrs) {      int errs = 0;      for (int i = 0; i < verrs.size(); i++) {         ValidationError verr = (ValidationError) verrs.get(i);         if (verr.getType().equalsIgnoreCase(XMLValidationError.TYPE_ERROR)) {            errs++;         }      }      return errs;   }   /**    * Java doesn't support direct opening of arbitrary documents, but this hack should do    * it. For Windows executing "start", and for KDE "kfmclient exec" will open document    * with associated application. Associations are of course system dependant, and we    * cannot do anything about them.    */   public static boolean showExternalDocument(String document) {      if (!(new File(document).canRead())) {         return false;      }      String startCommand = System.getProperty("path.to.start");      if (null != startCommand) {         if (!new File(startCommand).canRead()) {            return false;         }         if (System.getProperty("path.separator").equals(";")) {            document = "\"" + document + "\"";         }      } else {         if (System.getProperty("path.separator").equals(":")) {            startCommand = "kfmclient exec";         } else {            startCommand = "cmd /c start";            document = "\"" + document + "\"" + " \"" + document + "\"";         }      }      try {         Runtime.getRuntime().exec(startCommand + " " + document);      } catch (Throwable t) {         t.printStackTrace();         return false;      }      return true;   }   public static XMLElement getLocation(XMLElement el) {      XMLElement location = XMLUtil.getActivity(el);      if (location == null) {         location = XMLUtil.getTransition(el);      }      if (location == null) {         location = XMLUtil.getTransition(el);      }      if (location == null) {         location = XMLUtil.getParentElement(TypeDeclaration.class, el);      }      if (location == null) {         location = XMLUtil.getParentElement(FormalParameter.class, el);      }      if (location == null) {         location = XMLUtil.getParentElement(Application.class, el);      }      if (location == null) {         location = XMLUtil.getParentElement(Participant.class, el);      }      if (location == null) {         location = XMLUtil.getParentElement(DataField.class, el);      }      ActivitySet as = XMLUtil.getActivitySet(el);      if (location == null) {         location = as;      }      WorkflowProcess wp = XMLUtil.getWorkflowProcess(el);      if (location == null) {         location = wp;      }      Package pkg = XMLUtil.getPackage(el);      if (location == null) {

⌨️ 快捷键说明

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