package org.codehaus.mojo.graphing.generators; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.Iterator; import org.codehaus.mojo.graphing.model.Edge; import org.codehaus.mojo.graphing.model.GraphModel; import org.codehaus.mojo.graphing.model.Node; public class XmlGraphModelGenerator implements GraphGenerator { public void generate( GraphModel model, String filename ) throws IOException { FileWriter writer = new FileWriter(filename); PrintWriter dot = new PrintWriter(writer); dot.println("<?xml version=\"1.0\" ?>"); dot.println("<graphmodel>"); Iterator it = model.getEdgesIterator(); while(it.hasNext()) { Edge edge = (Edge) it.next(); dot.println(" <edge scope=\"" + edge.getType() + "\""); dot.println(" parent=\"" + getID(edge.getNode1()) + "\""); dot.println(" child=\"" + getID(edge.getNode2()) + "\" />"); } dot.println("</graphmodel>"); dot.flush(); writer.flush(); writer.close(); } private String getID(Node node) { return node.getId(); } public String getOutputName() { return "graphmodel.xml"; } }