1 19 20 package edu.umd.cs.findbugs.workflow; 21 22 import java.util.Iterator ; 23 import java.util.Set ; 24 25 import edu.umd.cs.findbugs.BugCollection; 26 import edu.umd.cs.findbugs.BugInstance; 27 import edu.umd.cs.findbugs.DetectorFactoryCollection; 28 import edu.umd.cs.findbugs.Project; 29 import edu.umd.cs.findbugs.ProjectStats; 30 import edu.umd.cs.findbugs.SortedBugCollection; 31 32 36 public class UnionResults { 37 38 static { 39 DetectorFactoryCollection.instance(); } 41 static public SortedBugCollection union (SortedBugCollection origCollection, SortedBugCollection newCollection) { 42 43 SortedBugCollection result = origCollection.duplicate(); 44 45 for (Iterator <BugInstance> i = newCollection.iterator(); i.hasNext();) { 46 BugInstance bugInstance = i.next(); 47 result.add(bugInstance); 48 } 49 ProjectStats stats = result.getProjectStats(); 50 ProjectStats stats2 = newCollection.getProjectStats(); 51 stats.addStats(stats2); 52 53 return result; 54 } 55 56 public static void main(String [] argv) throws Exception { 57 58 59 if (argv.length == 0 || "-help".equals(argv[0])) { 60 System.err.println("Usage: " + UnionResults.class.getName() + " <results1> <results2> ... <resultsn>"); 61 System.exit(1); 62 } 63 64 SortedBugCollection results = new SortedBugCollection(); 65 results.readXML(argv[0], new Project()); 66 for(int i = 1; i < argv.length; i++) { 67 SortedBugCollection more = new SortedBugCollection(); 68 more.readXML(argv[i], new Project()); 69 results = union(results, more); 70 } 71 72 results.writeXML(System.out, new Project()); 73 } 74 75 76 } 77 78 | Popular Tags |