diff --git a/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomBuilder.java b/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomBuilder.java index 640a9c4a..b03da580 100644 --- a/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomBuilder.java +++ b/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomBuilder.java @@ -40,7 +40,6 @@ * @author Kristian Rosenvold */ public class Xpp3DomBuilder { - private static final boolean DEFAULT_TRIM = true; /** * @param reader {@link Reader} @@ -48,7 +47,7 @@ public class Xpp3DomBuilder { * @throws XmlPullParserException in case of an error */ public static Xpp3Dom build(@WillClose @Nonnull Reader reader) throws XmlPullParserException { - return build(reader, DEFAULT_TRIM); + return build(reader, false); } /** @@ -58,21 +57,23 @@ public static Xpp3Dom build(@WillClose @Nonnull Reader reader) throws XmlPullPar * @throws XmlPullParserException in case of an error */ public static Xpp3Dom build(@WillClose InputStream is, @Nonnull String encoding) throws XmlPullParserException { - return build(is, encoding, DEFAULT_TRIM); + return build(is, encoding, false); } /** * @param is {@link InputStream} * @param encoding the encoding - * @param trim true/false + * @param noop vestigial argument with no effect * @return the built DOM * @throws XmlPullParserException in case of an error + * @deprecated use the two-arg variant */ - public static Xpp3Dom build(@WillClose InputStream is, @Nonnull String encoding, boolean trim) + @Deprecated + public static Xpp3Dom build(@WillClose InputStream is, @Nonnull String encoding, boolean noop) throws XmlPullParserException { try { Reader reader = new InputStreamReader(is, encoding); - return build(reader, trim); + return build(reader); } catch (UnsupportedEncodingException e) { throw new XmlPullParserException(e); } @@ -80,13 +81,15 @@ public static Xpp3Dom build(@WillClose InputStream is, @Nonnull String encoding, /** * @param in {@link Reader} - * @param trim true/false + * @param noop vestigial argument with no effect * @return the built DOM * @throws XmlPullParserException in case of an error + * @deprecated use {#build(java.io.Reader)} */ - public static Xpp3Dom build(@WillClose Reader in, boolean trim) throws XmlPullParserException { + @Deprecated + public static Xpp3Dom build(@WillClose Reader in, boolean noop) throws XmlPullParserException { try (Reader reader = in) { - DocHandler docHandler = parseSax(new InputSource(reader), trim); + DocHandler docHandler = parseSax(new InputSource(reader)); reader.close(); return docHandler.result; } catch (final IOException e) { @@ -94,9 +97,9 @@ public static Xpp3Dom build(@WillClose Reader in, boolean trim) throws XmlPullPa } } - private static DocHandler parseSax(@Nonnull InputSource inputSource, boolean trim) throws XmlPullParserException { + private static DocHandler parseSax(@Nonnull InputSource inputSource) throws XmlPullParserException { try { - DocHandler ch = new DocHandler(trim); + DocHandler ch = new DocHandler(); XMLReader parser = createXmlReader(); parser.setContentHandler(ch); parser.parse(inputSource); @@ -147,14 +150,8 @@ private static class DocHandler extends DefaultHandler { Xpp3Dom result = null; - private final boolean trim; - private boolean spacePreserve = false; - DocHandler(boolean trim) { - this.trim = trim; - } - @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { @@ -216,7 +213,7 @@ public void endElement(String uri, String localName, String qName) throws SAXExc @Override public void characters(char[] ch, int start, int length) throws SAXException { String text = new String(ch, start, length); - appendToTopValue((trim && !spacePreserve) ? text.trim() : text); + appendToTopValue(text); } private void appendToTopValue(String toAppend) { diff --git a/src/test/java/org/apache/maven/shared/utils/xml/Xpp3DomBuilderTest.java b/src/test/java/org/apache/maven/shared/utils/xml/Xpp3DomBuilderTest.java index ab921d14..f5324327 100644 --- a/src/test/java/org/apache/maven/shared/utils/xml/Xpp3DomBuilderTest.java +++ b/src/test/java/org/apache/maven/shared/utils/xml/Xpp3DomBuilderTest.java @@ -71,15 +71,10 @@ public void trimming() throws Exception { String domString = createDomString(); Xpp3Dom dom = Xpp3DomBuilder.build(new StringReader(domString), true); - - assertEquals("element1value", dom.getChild("element1").getValue()); - + assertEquals(" element1value\n ", dom.getChild("element1").getValue()); assertEquals(" preserve space ", dom.getChild("element6").getValue()); - dom = Xpp3DomBuilder.build(new StringReader(domString), false); - assertEquals(" element1value\n ", dom.getChild("element1").getValue()); - assertEquals(" preserve space ", dom.getChild("element6").getValue()); }