1 20 package net.sf.clirr.core; 21 22 import java.io.IOException ; 23 import java.io.PrintStream ; 24 25 32 public final class XmlDiffListener extends FileDiffListener 33 { 34 private static final String DIFFREPORT = "diffreport"; 35 private static final String DIFFERENCE = "difference"; 36 37 private MessageTranslator translator = new MessageTranslator(); 38 39 public XmlDiffListener(String outFile) throws IOException 40 { 41 super(outFile); 42 } 43 44 public void reportDiff(ApiDifference difference) 45 { 46 PrintStream out = getOutputStream(); 47 out.print(" <" + DIFFERENCE); 48 out.print(" binseverity=\"" + difference.getBinaryCompatibilitySeverity() + "\""); 49 out.print(" srcseverity=\"" + difference.getSourceCompatibilitySeverity() + "\""); 50 out.print(" class=\"" + difference.getAffectedClass() + "\""); 51 if (difference.getAffectedMethod() != null) 52 { 53 out.print(" method=\"" + difference.getAffectedMethod() + "\""); 54 } 55 if (difference.getAffectedField() != null) 56 { 57 out.print(" field=\"" + difference.getAffectedField() + "\""); 58 } 59 out.print(">"); 60 out.print(difference.getReport(translator)); out.println("</" + DIFFERENCE + '>'); 62 } 63 64 69 public void start() 70 { 71 PrintStream out = getOutputStream(); 72 out.println("<?xml version=\"1.0\"?>"); 73 out.println('<' + DIFFREPORT + '>'); 74 } 75 76 77 82 protected void writeFooter() 83 { 84 PrintStream out = getOutputStream(); 85 out.println("</" + DIFFREPORT + '>'); 86 } 87 } 88 | Popular Tags |