diff --git a/proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs/svn/SvnChangeLogWriter.java b/proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs/svn/SvnChangeLogWriter.java index 0e09274bc..380bd22a6 100644 --- a/proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs/svn/SvnChangeLogWriter.java +++ b/proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs/svn/SvnChangeLogWriter.java @@ -22,12 +22,10 @@ import java.text.SimpleDateFormat; import javax.xml.parsers.DocumentBuilder; import org.apache.tools.ant.util.DOMElementWriter; -import org.apache.tools.ant.util.JAXPUtils; +import org.apache.tools.ant.util.DOMUtils; -import org.w3c.dom.CDATASection; import org.w3c.dom.Document; import org.w3c.dom.Element; -import org.w3c.dom.Text; /** * Class used to generate an XML changelog. @@ -51,7 +49,7 @@ public class SvnChangeLogWriter { public void printChangeLog(final PrintWriter output, final SvnEntry[] entries) throws IOException { output.println(""); - Document doc = JAXPUtils.getDocumentBuilder().newDocument(); + Document doc = DOMUtils.newDocument(); Element root = doc.createElement("changelog"); DOM_WRITER.openElement(root, output, 0, "\t"); output.println(); @@ -77,53 +75,22 @@ public class SvnChangeLogWriter { Document doc = element.getOwnerDocument(); Element ent = doc.createElement("entry"); - appendTextElement(ent, "date", OUTPUT_DATE.format(entry.getDate())); - appendTextElement(ent, "time", OUTPUT_TIME.format(entry.getDate())); - appendCDATAElement(ent, "author", entry.getAuthor()); - appendTextElement(ent, "revision", entry.getRevision()); + DOMUtils.appendTextElement(ent, "date", + OUTPUT_DATE.format(entry.getDate())); + DOMUtils.appendTextElement(ent, "time", + OUTPUT_TIME.format(entry.getDate())); + DOMUtils.appendCDATAElement(ent, "author", entry.getAuthor()); + DOMUtils.appendTextElement(ent, "revision", entry.getRevision()); SvnEntry.Path[] paths = entry.getPaths(); for (int i = 0; i < paths.length; i++) { - Element path = doc.createElement("path"); - ent.appendChild(path); - appendCDATAElement(path, "name", paths[i].getName()); - appendTextElement(path, "action", paths[i].getActionDescription()); + Element path = DOMUtils.createChildElement(ent, "path"); + DOMUtils.appendCDATAElement(path, "name", paths[i].getName()); + DOMUtils.appendTextElement(path, "action", + paths[i].getActionDescription()); } - appendCDATAElement(ent, "message", entry.getMessage()); + DOMUtils.appendCDATAElement(ent, "message", entry.getMessage()); DOM_WRITER.write(ent, output, 1, "\t"); } - - /** - * Creates a named element with nested text as child of the given element. - * - * @param parent the parent element - * @param name name of the child element - * @param content the content of the nested text - */ - private static void appendTextElement(Element parent, String name, - String content) { - Document doc = parent.getOwnerDocument(); - Element e = doc.createElement(name); - parent.appendChild(e); - Text t = doc.createTextNode(content); - e.appendChild(t); - } - - /** - * Creates a named element with a nested CDATA section as child of - * the given element. - * - * @param parent the parent element - * @param name name of the child element - * @param content the content of the nested text - */ - private static void appendCDATAElement(Element parent, String name, - String content) { - Document doc = parent.getOwnerDocument(); - Element e = doc.createElement(name); - parent.appendChild(e); - CDATASection c = doc.createCDATASection(content); - e.appendChild(c); - } }