From 52a12f2a5bbecdb1390ebbf7a00491e2d8c346f8 Mon Sep 17 00:00:00 2001 From: tama3 Date: Tue, 28 Aug 2007 05:59:27 +0000 Subject: [PATCH] some bug fixed git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/stigmata/trunk@174 acee48c3-7b26-0410-bdac-b3d0e5314bbc --- pom.xml | 11 +- src/main/java/jp/naist/se/stigmata/Main.java | 9 +- src/main/java/jp/naist/se/stigmata/Stigmata.java | 13 +- ...nheritanceStructureBirthmarkExtractVisitor.java | 4 +- .../xml/BirthmarkComparisonResultXmlFormat.java | 8 +- .../xml/BirthmarkExtractionListXmlFormat.java | 4 +- .../format/xml/BirthmarkServiceListXmlFormat.java | 4 +- .../se/stigmata/ui/swing/TargetSelectionPane.java | 1 + .../se/stigmata/ui/swing/actions/LinkFollower.java | 2 +- .../se/stigmata/utils/ConfigFileExporter.java | 1 + .../se/stigmata/utils/WellknownClassManager.java | 22 +-- src/main/resources/META-INF/birthmark-1.0.rng | 146 ++++++++++++++ src/main/resources/META-INF/stigmata-4.0.rng | 218 +++++++++++++++++++++ src/main/resources/resources/options.xml | 4 +- .../stigmata/birthmarks/BirthmarkCompareTest.java | 2 +- .../cvfv/CVFVBirthmarkExtractorTest.java | 4 +- .../birthmarks/uc/UCBirthmarkExtractorTest.java | 3 +- 17 files changed, 414 insertions(+), 42 deletions(-) create mode 100755 src/main/resources/META-INF/birthmark-1.0.rng create mode 100755 src/main/resources/META-INF/stigmata-4.0.rng diff --git a/pom.xml b/pom.xml index 49f255e..e565574 100755 --- a/pom.xml +++ b/pom.xml @@ -21,6 +21,11 @@ Stigmata Maven2 Repository in sourceforge.jp http://stigmata.sourceforge.jp/maven2 + + talisman.sourceforge.jp + Talisman Maven2 Repository in sourceforge.jp + http://talisman.sourceforge.jp/maven2 + @@ -53,9 +58,9 @@ compile - jp.cafebabe.commons + jp.sourceforge.talisman xmlcli - 1.2 + 1.2.1 compile @@ -64,12 +69,14 @@ 1.0.2 compile + junit junit diff --git a/src/main/java/jp/naist/se/stigmata/Main.java b/src/main/java/jp/naist/se/stigmata/Main.java index e058466..a0b9f9a 100644 --- a/src/main/java/jp/naist/se/stigmata/Main.java +++ b/src/main/java/jp/naist/se/stigmata/Main.java @@ -16,10 +16,6 @@ import java.net.URL; import java.util.ArrayList; import java.util.List; -import jp.cafebabe.commons.xmlcli.CommandLinePlus; -import jp.cafebabe.commons.xmlcli.HelpFormatterPlus; -import jp.cafebabe.commons.xmlcli.OptionsBuilder; -import jp.cafebabe.commons.xmlcli.builder.OptionsBuilderFactory; import jp.naist.se.stigmata.format.BirthmarkComparisonResultFormat; import jp.naist.se.stigmata.format.BirthmarkExtractionResultFormat; import jp.naist.se.stigmata.format.BirthmarkServiceListFormat; @@ -29,6 +25,9 @@ import jp.naist.se.stigmata.spi.BirthmarkSpi; import jp.naist.se.stigmata.spi.ResultFormatSpi; import jp.naist.se.stigmata.ui.swing.StigmataFrame; import jp.naist.se.stigmata.utils.ConfigFileExporter; +import jp.sourceforge.talisman.xmlcli.CommandLinePlus; +import jp.sourceforge.talisman.xmlcli.OptionsBuilder; +import jp.sourceforge.talisman.xmlcli.builder.OptionsBuilderFactory; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.HelpFormatter; @@ -242,7 +241,7 @@ public final class Main{ private void printHelp(Options options){ Package p = getClass().getPackage(); - HelpFormatter formatter = new HelpFormatterPlus(); + HelpFormatter formatter = new HelpFormatter(); System.out.println(options.getClass().getName()); formatter.printHelp( String.format( diff --git a/src/main/java/jp/naist/se/stigmata/Stigmata.java b/src/main/java/jp/naist/se/stigmata/Stigmata.java index acf565c..4c5718b 100644 --- a/src/main/java/jp/naist/se/stigmata/Stigmata.java +++ b/src/main/java/jp/naist/se/stigmata/Stigmata.java @@ -90,8 +90,7 @@ public final class Stigmata{ filePath = null; } } - - if(filePath == null){ + else{ File file = new File("stigmata.xml"); if(!file.exists()){ file = new File(System.getProperty("user.home"), ".stigmata.xml"); @@ -246,6 +245,7 @@ public final class Stigmata{ return list.toArray(new BirthmarkExtractor[list.size()]); } + @SuppressWarnings("unchecked") private BirthmarkExtractor createExtractor(String birthmarkType, BirthmarkEnvironment environment){ BirthmarkSpi spi = environment.getService(birthmarkType); if(spi != null){ @@ -346,16 +346,15 @@ public final class Stigmata{ BirthmarkExtractor[] extractors = createExtractors(birthmarks, environment); ExtractionUnit unit = environment.getExtractionUnit(); - if(unit == ExtractionUnit.CLASS){ - return extractFromClass(archives, extractors, environment); - } - else if(unit == ExtractionUnit.PACKAGE){ + if(unit == ExtractionUnit.PACKAGE){ return extractFromPackage(archives, extractors, environment); } else if(unit == ExtractionUnit.ARCHIVE){ return extractFromProduct(archives, extractors, environment); } - return null; + else{ + return extractFromClass(archives, extractors, environment); + } } private BirthmarkSet[] extractFromPackage(ClassFileArchive[] archives, BirthmarkExtractor[] extractors, BirthmarkEnvironment environment) throws IOException, BirthmarkExtractionFailedException{ diff --git a/src/main/java/jp/naist/se/stigmata/birthmarks/is/InheritanceStructureBirthmarkExtractVisitor.java b/src/main/java/jp/naist/se/stigmata/birthmarks/is/InheritanceStructureBirthmarkExtractVisitor.java index 83932b8..34cd107 100644 --- a/src/main/java/jp/naist/se/stigmata/birthmarks/is/InheritanceStructureBirthmarkExtractVisitor.java +++ b/src/main/java/jp/naist/se/stigmata/birthmarks/is/InheritanceStructureBirthmarkExtractVisitor.java @@ -28,7 +28,7 @@ public class InheritanceStructureBirthmarkExtractVisitor extends BirthmarkExtrac public void visit(int version, int access, String name, String signature, String superName, String[] interfaces){ try { - Class c = getEnvironment().getClasspathContext().findClass(name.replace('/', '.')); + Class c = getEnvironment().getClasspathContext().findClass(name.replace('/', '.')); if(c != null && !c.isInterface()){ addISBirthmark(c); } @@ -37,7 +37,7 @@ public class InheritanceStructureBirthmarkExtractVisitor extends BirthmarkExtrac } } - private void addISBirthmark(Class c){ + private void addISBirthmark(Class c){ WellknownClassManager wcm = getEnvironment().getWellknownClassManager(); do{ String className = c.getName(); diff --git a/src/main/java/jp/naist/se/stigmata/format/xml/BirthmarkComparisonResultXmlFormat.java b/src/main/java/jp/naist/se/stigmata/format/xml/BirthmarkComparisonResultXmlFormat.java index beb5d28..fd845bc 100644 --- a/src/main/java/jp/naist/se/stigmata/format/xml/BirthmarkComparisonResultXmlFormat.java +++ b/src/main/java/jp/naist/se/stigmata/format/xml/BirthmarkComparisonResultXmlFormat.java @@ -31,12 +31,12 @@ public class BirthmarkComparisonResultXmlFormat extends AbstractBirthmarkCompari out.println(""); out.println(""); out.println(" "); - list.printBirthmarkHolder(out, pair.getTarget1()); - list.printBirthmarkHolder(out, pair.getTarget2()); + list.printBirthmarkSet(out, pair.getTarget1()); + list.printBirthmarkSet(out, pair.getTarget2()); out.println(" "); - out.println(" "); + out.println(" "); printComparisonPair(out, pair); - out.println(" "); + out.println(" "); out.println(""); } diff --git a/src/main/java/jp/naist/se/stigmata/format/xml/BirthmarkExtractionListXmlFormat.java b/src/main/java/jp/naist/se/stigmata/format/xml/BirthmarkExtractionListXmlFormat.java index 83d6531..806fe2c 100644 --- a/src/main/java/jp/naist/se/stigmata/format/xml/BirthmarkExtractionListXmlFormat.java +++ b/src/main/java/jp/naist/se/stigmata/format/xml/BirthmarkExtractionListXmlFormat.java @@ -25,13 +25,13 @@ public class BirthmarkExtractionListXmlFormat extends AbstractBirthmarkExtractio out.println(""); out.println(" "); for(int i = 0; i < holders.length; i++){ - printBirthmarkHolder(out, holders[i]); + printBirthmarkSet(out, holders[i]); } out.println(" "); out.println(""); } - protected void printBirthmarkHolder(PrintWriter out, BirthmarkSet set){ + protected void printBirthmarkSet(PrintWriter out, BirthmarkSet set){ out.println(" "); out.printf(" %s%n", escapeToXmlString(set.getName())); out.printf(" %s%n", escapeToXmlString(set.getLocation())); diff --git a/src/main/java/jp/naist/se/stigmata/format/xml/BirthmarkServiceListXmlFormat.java b/src/main/java/jp/naist/se/stigmata/format/xml/BirthmarkServiceListXmlFormat.java index 1076082..e7d28c3 100644 --- a/src/main/java/jp/naist/se/stigmata/format/xml/BirthmarkServiceListXmlFormat.java +++ b/src/main/java/jp/naist/se/stigmata/format/xml/BirthmarkServiceListXmlFormat.java @@ -24,9 +24,11 @@ public class BirthmarkServiceListXmlFormat extends AbstractBirthmarkServiceListF for(BirthmarkSpi spi: spilist){ out.println(" "); out.printf(" %s%n", spi.getType()); - out.printf(" %s%n", spi.getDisplayType()); + out.printf(" %s%n", spi.getDisplayType()); out.printf(" %s%n", spi.getDescription()); out.printf(" %s%n", spi.getClass().getName()); + out.printf(" %s%n", spi.getExtractorClassName()); + out.printf(" %s%n", spi.getComparatorClassName()); out.println(" "); } out.println(" "); diff --git a/src/main/java/jp/naist/se/stigmata/ui/swing/TargetSelectionPane.java b/src/main/java/jp/naist/se/stigmata/ui/swing/TargetSelectionPane.java index 875d354..f999c5c 100644 --- a/src/main/java/jp/naist/se/stigmata/ui/swing/TargetSelectionPane.java +++ b/src/main/java/jp/naist/se/stigmata/ui/swing/TargetSelectionPane.java @@ -333,6 +333,7 @@ public class TargetSelectionPane extends JPanel{ } }; + @SuppressWarnings("unchecked") private class TargetSelectionDropTarget extends DropTarget{ private static final long serialVersionUID = 3204457621345L; diff --git a/src/main/java/jp/naist/se/stigmata/ui/swing/actions/LinkFollower.java b/src/main/java/jp/naist/se/stigmata/ui/swing/actions/LinkFollower.java index c21a6ab..8ab27d9 100755 --- a/src/main/java/jp/naist/se/stigmata/ui/swing/actions/LinkFollower.java +++ b/src/main/java/jp/naist/se/stigmata/ui/swing/actions/LinkFollower.java @@ -31,7 +31,7 @@ class LinkFollower implements HyperlinkListener{ } private void browse(URL url) throws Exception{ - Class c = Class.forName("edu.stanford.ejalbert.BrowserLauncher"); + Class c = Class.forName("edu.stanford.ejalbert.BrowserLauncher"); Object o = c.newInstance(); Method m = c.getMethod("openURLinBrowser", String.class); m.invoke(o, url.toString()); diff --git a/src/main/java/jp/naist/se/stigmata/utils/ConfigFileExporter.java b/src/main/java/jp/naist/se/stigmata/utils/ConfigFileExporter.java index 620b521..e47df86 100644 --- a/src/main/java/jp/naist/se/stigmata/utils/ConfigFileExporter.java +++ b/src/main/java/jp/naist/se/stigmata/utils/ConfigFileExporter.java @@ -93,6 +93,7 @@ public class ConfigFileExporter{ out.println(" "); } + @SuppressWarnings("unchecked") private void exportFilters(PrintWriter out) throws IOException{ out.println(" "); for(ComparisonPairFilterSet filterset: environment.getFilterManager().getFilterSets()){ diff --git a/src/main/java/jp/naist/se/stigmata/utils/WellknownClassManager.java b/src/main/java/jp/naist/se/stigmata/utils/WellknownClassManager.java index 1344ff9..658bd05 100644 --- a/src/main/java/jp/naist/se/stigmata/utils/WellknownClassManager.java +++ b/src/main/java/jp/naist/se/stigmata/utils/WellknownClassManager.java @@ -84,8 +84,8 @@ public class WellknownClassManager{ return false; } - for(Iterator i = systemClassesList.iterator(); i.hasNext(); ){ - WellknownClassJudgeRule section = (WellknownClassJudgeRule)i.next(); + for(Iterator i = systemClassesList.iterator(); i.hasNext(); ){ + WellknownClassJudgeRule section = i.next(); String target = fully; if(section.isClassNameType()){ target = cn; @@ -115,8 +115,8 @@ public class WellknownClassManager{ } private boolean isExcludes(String fully){ - for(Iterator i = excludes.iterator(); i.hasNext(); ){ - WellknownClassJudgeRule s = (WellknownClassJudgeRule)i.next(); + for(Iterator i = excludes.iterator(); i.hasNext(); ){ + WellknownClassJudgeRule s = i.next(); switch(s.getMatchType()){ case WellknownClassJudgeRule.PREFIX_TYPE: if(fully.startsWith(s.getName())){ @@ -139,11 +139,11 @@ public class WellknownClassManager{ } /** - * ˆÈ‰º‚Ì‚Ç‚ê‚©‚̃ƒ\ƒbƒh‚Å‚ ‚ê‚Î true ‚ð•Ô‚·D + * check system defined methods, which are following methods. *
    *
  • public static void main(String[])
  • - *
  • static void <clinit>(void)(static ƒCƒjƒVƒƒƒ‰ƒCƒU)
  • - *
  • void <init>(ƒRƒ“ƒXƒgƒ‰ƒNƒ^)
  • + *
  • static void <clinit>(void)(static initializer)
  • + *
  • void <init>(constructor)
  • *
*/ private boolean checkSystemMethod(int access, String methodName, String signature){ @@ -162,7 +162,10 @@ public class WellknownClassManager{ } /** - * static final long serialVersionUID ‚©‚Ç‚¤‚©‚ð”»’è‚·‚éD + * check system defined field, which is following field. + *
    + * static final long serialVersionUID + *
*/ private boolean checkSystemField(int access, String fieldName, String signature){ if(fieldName.equals("serialVersionUID")){ @@ -182,9 +185,6 @@ public class WellknownClassManager{ return checkSystemMethod(access, methodName, signature); } - /** - * static final long serialVersionUID ‚©‚Ç‚¤‚©‚ð”»’è‚·‚éD - */ public boolean isSystemField(int access, String fieldName, String signature){ return checkSystemField(access, fieldName, signature); } diff --git a/src/main/resources/META-INF/birthmark-1.0.rng b/src/main/resources/META-INF/birthmark-1.0.rng new file mode 100755 index 0000000..2762f32 --- /dev/null +++ b/src/main/resources/META-INF/birthmark-1.0.rng @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/META-INF/stigmata-4.0.rng b/src/main/resources/META-INF/stigmata-4.0.rng new file mode 100755 index 0000000..1737664 --- /dev/null +++ b/src/main/resources/META-INF/stigmata-4.0.rng @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + any + all + + + + + + + + + + + + + + + + + + + + + + LESS_THAN + LESS_EQUALS + GREATER_THAN + GREATER_EQUALS + EQUALS_AS + NOT_EQUALS_AS + STARTS_WITH + NOT_STARTS_WITH + ENDS_WITH + NOT_ENDS_WITH + MATCH + NOT_MATCH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/resources/options.xml b/src/main/resources/resources/options.xml index deab40a..51f0951 100755 --- a/src/main/resources/resources/options.xml +++ b/src/main/resources/resources/options.xml @@ -9,7 +9,7 @@ REQUIRED CLASSPATH , - + @@ -22,7 +22,7 @@ REQUIRED BIRTHMARKS , - + diff --git a/src/test/java/jp/naist/se/stigmata/birthmarks/BirthmarkCompareTest.java b/src/test/java/jp/naist/se/stigmata/birthmarks/BirthmarkCompareTest.java index c3e5f84..cf0b4ba 100755 --- a/src/test/java/jp/naist/se/stigmata/birthmarks/BirthmarkCompareTest.java +++ b/src/test/java/jp/naist/se/stigmata/birthmarks/BirthmarkCompareTest.java @@ -19,7 +19,7 @@ public class BirthmarkCompareTest{ new String[] { "target/classes/jp/naist/se/stigmata/Stigmata.class", "target/classes/jp/naist/se/stigmata/Main.class", - "target/classes/jp/naist/se/stigmata/BirthmarkContext.class", + "target/classes/jp/naist/se/stigmata/BirthmarkEnvironment.class", } ); } diff --git a/src/test/java/jp/naist/se/stigmata/birthmarks/cvfv/CVFVBirthmarkExtractorTest.java b/src/test/java/jp/naist/se/stigmata/birthmarks/cvfv/CVFVBirthmarkExtractorTest.java index c777414..1df90c7 100755 --- a/src/test/java/jp/naist/se/stigmata/birthmarks/cvfv/CVFVBirthmarkExtractorTest.java +++ b/src/test/java/jp/naist/se/stigmata/birthmarks/cvfv/CVFVBirthmarkExtractorTest.java @@ -59,7 +59,7 @@ public class CVFVBirthmarkExtractorTest{ Assert.assertEquals("Ljp/naist/se/stigmata/Stigmata;", ((TypeAndValueBirthmarkElement)elements[0]).getSignature()); Assert.assertEquals(null, ((TypeAndValueBirthmarkElement)elements[0]).getValue()); - Assert.assertEquals("Ljp/naist/se/stigmata/BirthmarkContext;", + Assert.assertEquals("Ljp/naist/se/stigmata/BirthmarkEnvironment;", ((TypeAndValueBirthmarkElement)elements[1]).getSignature()); Assert.assertEquals(null, ((TypeAndValueBirthmarkElement)elements[1]).getValue()); Assert.assertEquals("Z", ((TypeAndValueBirthmarkElement)elements[2]).getSignature()); @@ -108,7 +108,7 @@ public class CVFVBirthmarkExtractorTest{ Assert.assertEquals("Ljava/util/List;", ((TypeAndValueBirthmarkElement)elements[1]).getSignature()); Assert.assertEquals(null, ((TypeAndValueBirthmarkElement)elements[1]).getValue()); - Assert.assertEquals("Ljp/naist/se/stigmata/BirthmarkContext;", + Assert.assertEquals("Ljp/naist/se/stigmata/BirthmarkEnvironment;", ((TypeAndValueBirthmarkElement)elements[2]).getSignature()); Assert.assertEquals(null, ((TypeAndValueBirthmarkElement)elements[2]).getValue()); diff --git a/src/test/java/jp/naist/se/stigmata/birthmarks/uc/UCBirthmarkExtractorTest.java b/src/test/java/jp/naist/se/stigmata/birthmarks/uc/UCBirthmarkExtractorTest.java index 6293cd3..2a874e6 100755 --- a/src/test/java/jp/naist/se/stigmata/birthmarks/uc/UCBirthmarkExtractorTest.java +++ b/src/test/java/jp/naist/se/stigmata/birthmarks/uc/UCBirthmarkExtractorTest.java @@ -38,7 +38,7 @@ public class UCBirthmarkExtractorTest{ Birthmark birthmark = array[0].getBirthmark("uc"); Assert.assertEquals("uc", birthmark.getType()); - Assert.assertEquals(24, birthmark.getElementCount()); + Assert.assertEquals(23, birthmark.getElementCount()); BirthmarkElement[] elements = birthmark.getElements(); int index = 0; @@ -48,7 +48,6 @@ public class UCBirthmarkExtractorTest{ Assert.assertEquals("java.io.FileInputStream", elements[index++].getValue()); Assert.assertEquals("java.io.InputStream", elements[index++].getValue()); Assert.assertEquals("java.lang.Class", elements[index++].getValue()); - Assert.assertEquals("java.lang.Double", elements[index++].getValue()); Assert.assertEquals("java.lang.Object", elements[index++].getValue()); Assert.assertEquals("java.lang.String", elements[index++].getValue()); Assert.assertEquals("java.lang.StringBuilder", elements[index++].getValue()); -- 2.11.0