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

📄 comparison.java

📁 Petri网分析工具PIPE is open-source
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
      if(compareName)   s+="<br>Name = \"" + source[i].getName() + "\"";      if(compareMarking) s+="<br>Marking = \"" + source[i].getCurrentMarking() + "\"";      results.add(s);    }    // Fill in unmatched comparison places    for(i=0;i<comparison.length;i++) if(comparison[i]!= null) {      results.add("");      results.add(comparison[i].getName());      s="Not found in source Petri net";      if(compareID)     s+="<br>Id = \"" + comparison[i].getId() + "\"";      if(compareName)   s+="<br>Name = \"" + comparison[i].getName() + "\"";      if(compareMarking) s+="<br>Marking = \"" + comparison[i].getCurrentMarking() + "\"";      results.add(s);    }    return "<h2>Places</h2>"+ResultsHTMLPane.makeTable(results.toArray(),3,false,true,true,false);  }  private String compareTransitions(Transition[] source, Transition[] comparison, boolean compareID, boolean compareName, boolean compareRate) {    int i = 0, j = 0, k = -1;    String s;    ArrayList results=new ArrayList(); // arraylist for creating the table         results.add("Source transition name");    results.add("Comparison transition name");    results.add("Comparison");        for(i = 0 ; i < source.length ; i++) {      k = -1;      // Find matching Transition with a match for either id or name      for(j = 0 ; j < comparison.length; j++) {        if(comparison[j] != null && source[i] != null && source[i].getId() != null && comparison[j].getId() != null && source[i].getName() != null && comparison[j].getName() != null)          if(source[i].getId().equals(comparison[j].getId()) || source[i].getName().equals(comparison[j].getName()))            k = j;      }      j = k;      if(j != -1 && source[i] != null && comparison[j] != null) {        results.add(source[i].getName());        results.add(comparison[j].getName());        if((!compareID   || source[i].getId().equals(comparison[j].getId())) &&           (!compareName || source[i].getName().equals(comparison[j].getName())) &&           (!compareRate || source[i].getRate() == comparison[j].getRate())) {           s="Identical";        } else {          s="";          if(compareID) {            s+="Id";            if(source[i].getId().equals(comparison[j].getId())) s+=" (match)";            s+=": Source = \"" + source[i].getId() + "\"  Comparison  = \"" + comparison[j].getId() + "\"<br>";          }          if(compareName) {            s+="Name";            if(source[i].getName().equals(comparison[j].getName())) s+=" (match)";            s+=": Source = \"" + source[i].getName() + "\"  Comparison  = \"" + comparison[j].getName() + "\"<br>";          }          if(compareRate) {            s+="Rate";            if(source[i].getRate()==comparison[j].getRate()) s+=" (match)";            s+=": Source = \"" + source[i].getRate() + "\"  Comparison  = \"" + comparison[j].getRate() + "\"";          }        }        source[i]=null;       // null ones that have been done        comparison[j]=null;        results.add(s);      }    }        // Fill in unmatched source transitions    for(i=0;i<source.length;i++) if(source[i]!= null) {      results.add(source[i].getName());      results.add("");      s="Not found in comparison Petri net";      if(compareID)     s+="<br>Id= \"" + source[i].getId() + "\"";      if(compareName)   s+="<br>Name= \"" + source[i].getName() + "\"";      if(compareRate)   s+="<br>Marking= \"" + source[i].getRate() + "\"";      results.add(s);    }    // Fill in unmatched comparison transitions    for(i=0;i<comparison.length;i++) if(comparison[i]!= null) {      results.add("");      results.add(comparison[i].getName());      s="Not found in source Petri net";      if(compareID)     s+="<br>Id = \"" + comparison[i].getId() + "\"";      if(compareName)   s+="<br>Name = \"" + comparison[i].getName() + "\"";      if(compareRate)   s+="<br>Marking = \"" + comparison[i].getRate() + "\"";      results.add(s);    }    return "<h2>Transitions</h2>"+ResultsHTMLPane.makeTable(results.toArray(),3,false,true,true,false);  }  private String compareArcs(Arc[] source, Arc[] comparison, boolean compareName, boolean compareID, boolean compareWeighting) {    int i = 0, j = 0, k = -1;    String s;    ArrayList results=new ArrayList(); // arraylist for creating the table         results.add("Source arc");    results.add("Comparison arc");    results.add("Comparison");        for(i = 0 ; i < source.length ; i++) {      k = -1;      // Find matching Arc with a match for both source and dest      // this is pretty horrible      for(j = 0 ; j < comparison.length; j++) {        if(comparison[j] != null &&                source[i] != null &&                source[i].getSource().getId() != null &&                comparison[j].getSource().getId() != null &&                  source[i].getSource().getName() != null &&              comparison[j].getSource().getName() != null &&              source[i].getTarget().getId() != null &&           comparison[j].getTarget().getId() != null &&             source[i].getTarget().getName() != null &&         comparison[j].getTarget().getName() != null)          if(              (source[i].getSource().getId().equals(comparison[j].getSource().getId()) && source[i].getTarget().getId().equals(comparison[j].getTarget().getId())) ||              (source[i].getSource().getName().equals(comparison[j].getSource().getName()) && source[i].getTarget().getName().equals(comparison[j].getTarget().getName()))              )            k = j;      }      j = k;      if(j != -1 && source[i] != null && comparison[j] != null) {        results.add(source[i].getSource().getName()+"->"+source[i].getTarget().getName());        results.add(comparison[i].getSource().getName()+"->"+comparison[i].getTarget().getName());        if((!compareID        || (source[i].getSource().getId().equals(comparison[j].getSource().getId()) && source[i].getTarget().getId().equals(comparison[j].getTarget().getId()))) &&           (!compareName      || (source[i].getSource().getName().equals(comparison[j].getSource().getName()) && source[i].getTarget().getName().equals(comparison[j].getTarget().getName()))) &&           (!compareWeighting || (source[i].getWeight() == comparison[j].getWeight()))) {           s="Identical";        } else {          s="";          if(compareID) {            s+="Id";            if(source[i].getSource().getId().equals(comparison[j].getSource().getId()) &&               source[i].getTarget().getId().equals(comparison[j].getTarget().getId()) ) s+=" (match)";            s+=": Source = \"" + source[i].getSource().getId() + "\"->\""+source[i].getTarget().getId()+"\""+               "Comparison  = \"" + comparison[i].getSource().getId() + "\"->\""+comparison[i].getTarget().getId()+"\""+               "<br>";          }          if(compareName) {            s+="Name";            if(source[i].getSource().getName().equals(comparison[j].getSource().getName()) &&                source[i].getTarget().getName().equals(comparison[j].getTarget().getName()) ) s+=" (match)";             s+=": Source = \"" + source[i].getSource().getName() + "\"->\""+source[i].getTarget().getName()+"\""+                "Comparison  = \"" + comparison[i].getSource().getName() + "\"->\""+comparison[i].getTarget().getName()+"\""+                "<br>";          }          if(compareWeighting) {            s+="Weighting";            if(source[i].getWeight()==comparison[j].getWeight()) s+=" (match)";            s+=": Source = \"" + source[i].getWeight() + "\"  Comparison  = \"" + comparison[j].getWeight() + "\"";          }        }        source[i]=null;       // null ones that have been done        comparison[j]=null;        results.add(s);      }    }        // Fill in unmatched source arcs    for(i=0;i<source.length;i++) if(source[i]!= null) {      results.add(source[i].getSource().getName()+"->"+source[i].getTarget().getName());      results.add("");      s="Not found in comparison Petri net";      if(compareID)        s+="<br>Id= \"" + source[i].getSource().getId() + "\"->\""+source[i].getTarget().getId()+"\"";      if(compareName)      s+="<br>Name= \"" + source[i].getSource().getName() + "\"->\""+source[i].getTarget().getName()+"\"";      if(compareWeighting) s+="<br>Weighting= \"" + source[i].getWeight() + "\"";      results.add(s);    }    // Fill in unmatched comparison arcs    for(i=0;i<comparison.length;i++) if(comparison[i]!= null) {      results.add("");      results.add(comparison[i].getSource().getName()+"->"+comparison[i].getTarget().getName());      s="Not found in source Petri net";      if(compareID)        s+="<br>Id= \"" + comparison[i].getSource().getId() + "\"->\""+comparison[i].getTarget().getId()+"\"";      if(compareName)      s+="<br>Name= \"" + comparison[i].getSource().getName() + "\"->\""+comparison[i].getTarget().getName()+"\"";      if(compareWeighting) s+="<br>Weighting= \"" + comparison[i].getWeight() + "\"";      results.add(s);    }    return "<h2>Arcs</h2>"+ResultsHTMLPane.makeTable(results.toArray(),3,false,true,true,false);  }}

⌨️ 快捷键说明

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