You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2012/04/20 23:27:15 UTC
svn commit: r1328516 - in
/webservices/commons/trunk/modules/axiom/modules/axiom-api: ./
src/main/java/org/apache/axiom/util/stax/dialect/
src/test/java/org/apache/axiom/util/stax/dialect/
Author: veithen
Date: Fri Apr 20 21:27:14 2012
New Revision: 1328516
URL: http://svn.apache.org/viewvc?rev=1328516&view=rev
Log:
AXIOM-407: Implemented workaround for WSTX-201 (which affects Woodstox 4.x).
Added:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/CloseShieldInputStream.java (with props)
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/CloseShieldReader.java (with props)
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3Dialect.java
- copied, changed from r1327272, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxDialect.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3OutputFactoryWrapper.java
- copied, changed from r1327272, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxOutputFactoryWrapper.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3StreamReaderWrapper.java
- copied, changed from r1327272, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxStreamReaderWrapper.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3StreamWriterWrapper.java
- copied, changed from r1327272, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxStreamWriterWrapper.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4Dialect.java
- copied, changed from r1327272, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxDialect.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4InputFactoryWrapper.java (with props)
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4OutputFactoryWrapper.java
- copied, changed from r1327272, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxOutputFactoryWrapper.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4StreamReaderWrapper.java
- copied, changed from r1327272, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxStreamReaderWrapper.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4StreamWriterWrapper.java
- copied, changed from r1327272, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxStreamWriterWrapper.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/TestCloseInputStream.java (with props)
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/TestCloseReader.java (with props)
Removed:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxDialect.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxOutputFactoryWrapper.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxStreamReaderWrapper.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxStreamWriterWrapper.java
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-api/pom.xml
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/StAXDialectDetector.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/DialectTestSuiteBuilder.java
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/pom.xml
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/pom.xml?rev=1328516&r1=1328515&r2=1328516&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/pom.xml (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/pom.xml Fri Apr 20 21:27:14 2012
@@ -189,6 +189,11 @@
<version>4.1.0</version>
</artifactItem>
<artifactItem>
+ <groupId>org.codehaus.woodstox</groupId>
+ <artifactId>woodstox-core-asl</artifactId>
+ <version>4.1.2</version>
+ </artifactItem>
+ <artifactItem>
<groupId>com.sun.xml.stream</groupId>
<artifactId>sjsxp</artifactId>
<version>1.0.1</version>
Added: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/CloseShieldInputStream.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/CloseShieldInputStream.java?rev=1328516&view=auto
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/CloseShieldInputStream.java (added)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/CloseShieldInputStream.java Fri Apr 20 21:27:14 2012
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.util.stax.dialect;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+public class CloseShieldInputStream extends InputStream {
+ private final InputStream parent;
+
+ public CloseShieldInputStream(InputStream parent) {
+ this.parent = parent;
+ }
+
+ public int available() throws IOException {
+ return parent.available();
+ }
+
+ public void close() throws IOException {
+ }
+
+ public void mark(int readlimit) {
+ parent.mark(readlimit);
+ }
+
+ public boolean markSupported() {
+ return parent.markSupported();
+ }
+
+ public int read() throws IOException {
+ return parent.read();
+ }
+
+ public int read(byte[] b, int off, int len) throws IOException {
+ return parent.read(b, off, len);
+ }
+
+ public int read(byte[] b) throws IOException {
+ return parent.read(b);
+ }
+
+ public void reset() throws IOException {
+ parent.reset();
+ }
+
+ public long skip(long n) throws IOException {
+ return parent.skip(n);
+ }
+}
Propchange: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/CloseShieldInputStream.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/CloseShieldReader.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/CloseShieldReader.java?rev=1328516&view=auto
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/CloseShieldReader.java (added)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/CloseShieldReader.java Fri Apr 20 21:27:14 2012
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.util.stax.dialect;
+
+import java.io.IOException;
+import java.io.Reader;
+import java.nio.CharBuffer;
+
+public class CloseShieldReader extends Reader {
+ private final Reader parent;
+
+ public CloseShieldReader(Reader parent) {
+ this.parent = parent;
+ }
+
+ public void close() throws IOException {
+ }
+
+ public void mark(int readAheadLimit) throws IOException {
+ parent.mark(readAheadLimit);
+ }
+
+ public boolean markSupported() {
+ return parent.markSupported();
+ }
+
+ public int read() throws IOException {
+ return parent.read();
+ }
+
+ public int read(char[] cbuf, int off, int len) throws IOException {
+ return parent.read(cbuf, off, len);
+ }
+
+ public int read(char[] cbuf) throws IOException {
+ return parent.read(cbuf);
+ }
+
+ public int read(CharBuffer target) throws IOException {
+ return parent.read(target);
+ }
+
+ public boolean ready() throws IOException {
+ return parent.ready();
+ }
+
+ public void reset() throws IOException {
+ parent.reset();
+ }
+
+ public long skip(long n) throws IOException {
+ return parent.skip(n);
+ }
+}
Propchange: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/CloseShieldReader.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/StAXDialectDetector.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/StAXDialectDetector.java?rev=1328516&r1=1328515&r2=1328516&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/StAXDialectDetector.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/StAXDialectDetector.java Fri Apr 20 21:27:14 2012
@@ -226,7 +226,13 @@ public class StAXDialectDetector {
// For the moment, the dialect detection is quite simple, but in the future we will probably
// have to differentiate by version number
if (vendor != null && vendor.toLowerCase().indexOf("woodstox") != -1) {
- return WoodstoxDialect.INSTANCE;
+ if (version.startsWith("3.")) {
+ return Woodstox3Dialect.INSTANCE;
+ } else if (version.startsWith("4.")) {
+ return Woodstox4Dialect.INSTANCE;
+ } else {
+ return null;
+ }
} else if (title != null && title.indexOf("SJSXP") != -1) {
return new SJSXPDialect(false);
} else if ("com.bea.core.weblogic.stax".equals(symbolicName)) {
Copied: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3Dialect.java (from r1327272, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxDialect.java)
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3Dialect.java?p2=webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3Dialect.java&p1=webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxDialect.java&r1=1327272&r2=1328516&rev=1328516&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxDialect.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3Dialect.java Fri Apr 20 21:27:14 2012
@@ -24,11 +24,11 @@ import javax.xml.stream.XMLOutputFactory
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;
-class WoodstoxDialect extends AbstractStAXDialect {
- public static final WoodstoxDialect INSTANCE = new WoodstoxDialect();
+class Woodstox3Dialect extends AbstractStAXDialect {
+ public static final Woodstox3Dialect INSTANCE = new Woodstox3Dialect();
public String getName() {
- return "Woodstox";
+ return "Woodstox 3.x";
}
public XMLInputFactory enableCDataReporting(XMLInputFactory factory) {
@@ -52,11 +52,11 @@ class WoodstoxDialect extends AbstractSt
}
public XMLStreamReader normalize(XMLStreamReader reader) {
- return new WoodstoxStreamReaderWrapper(reader);
+ return new Woodstox3StreamReaderWrapper(reader);
}
public XMLStreamWriter normalize(XMLStreamWriter writer) {
- return new WoodstoxStreamWriterWrapper(writer);
+ return new Woodstox3StreamWriterWrapper(writer);
}
public XMLInputFactory normalize(XMLInputFactory factory) {
@@ -64,6 +64,6 @@ class WoodstoxDialect extends AbstractSt
}
public XMLOutputFactory normalize(XMLOutputFactory factory) {
- return new WoodstoxOutputFactoryWrapper(factory, this);
+ return new Woodstox3OutputFactoryWrapper(factory, this);
}
}
Copied: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3OutputFactoryWrapper.java (from r1327272, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxOutputFactoryWrapper.java)
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3OutputFactoryWrapper.java?p2=webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3OutputFactoryWrapper.java&p1=webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxOutputFactoryWrapper.java&r1=1327272&r2=1328516&rev=1328516&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxOutputFactoryWrapper.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3OutputFactoryWrapper.java Fri Apr 20 21:27:14 2012
@@ -26,8 +26,8 @@ import javax.xml.stream.XMLOutputFactory
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
-class WoodstoxOutputFactoryWrapper extends NormalizingXMLOutputFactoryWrapper {
- public WoodstoxOutputFactoryWrapper(XMLOutputFactory parent, AbstractStAXDialect dialect) {
+class Woodstox3OutputFactoryWrapper extends NormalizingXMLOutputFactoryWrapper {
+ public Woodstox3OutputFactoryWrapper(XMLOutputFactory parent, AbstractStAXDialect dialect) {
super(parent, dialect);
}
Copied: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3StreamReaderWrapper.java (from r1327272, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxStreamReaderWrapper.java)
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3StreamReaderWrapper.java?p2=webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3StreamReaderWrapper.java&p1=webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxStreamReaderWrapper.java&r1=1327272&r2=1328516&rev=1328516&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxStreamReaderWrapper.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3StreamReaderWrapper.java Fri Apr 20 21:27:14 2012
@@ -24,8 +24,8 @@ import javax.xml.stream.XMLStreamReader;
import org.apache.axiom.ext.stax.DelegatingXMLStreamReader;
import org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper;
-class WoodstoxStreamReaderWrapper extends XMLStreamReaderWrapper implements DelegatingXMLStreamReader {
- public WoodstoxStreamReaderWrapper(XMLStreamReader reader) {
+class Woodstox3StreamReaderWrapper extends XMLStreamReaderWrapper implements DelegatingXMLStreamReader {
+ public Woodstox3StreamReaderWrapper(XMLStreamReader reader) {
super(reader);
}
@@ -70,43 +70,10 @@ class WoodstoxStreamReaderWrapper extend
}
public boolean isCharacters() {
- // TODO: in the dialect detection we should take into account the Woodstox version,
- // so that we can avoid creating the wrapper for Woodstox versions where this
- // issue has been fixed
// This addresses WSTX-201:
return getEventType() == CHARACTERS;
}
- public String getPrefix() {
- // Woodstox 4.0 may return "" instead of null
- String prefix = super.getPrefix();
- return prefix == null || prefix.length() == 0 ? null : prefix;
- }
-
- public String getNamespaceURI() {
- // Woodstox 4.0 may return "" instead of null
- String uri = super.getNamespaceURI();
- return uri == null || uri.length() == 0 ? null : uri;
- }
-
- public String getNamespaceURI(String prefix) {
- // Woodstox 4.0 may return "" instead of null
- String uri = super.getNamespaceURI(prefix);
- return uri == null || uri.length() == 0 ? null : uri;
- }
-
- public String getNamespacePrefix(int index) {
- // Woodstox 4.0 may return "" instead of null
- String prefix = super.getNamespacePrefix(index);
- return prefix == null || prefix.length() == 0 ? null : prefix;
- }
-
- public String getAttributeNamespace(int index) {
- // Woodstox 4.0 may return "" instead of null
- String uri = super.getAttributeNamespace(index);
- return uri == null || uri.length() == 0 ? null : uri;
- }
-
public NamespaceContext getNamespaceContext() {
return new NamespaceURICorrectingNamespaceContextWrapper(super.getNamespaceContext());
}
Copied: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3StreamWriterWrapper.java (from r1327272, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxStreamWriterWrapper.java)
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3StreamWriterWrapper.java?p2=webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3StreamWriterWrapper.java&p1=webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxStreamWriterWrapper.java&r1=1327272&r2=1328516&rev=1328516&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxStreamWriterWrapper.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox3StreamWriterWrapper.java Fri Apr 20 21:27:14 2012
@@ -24,8 +24,8 @@ import javax.xml.stream.XMLStreamWriter;
import org.apache.axiom.util.stax.wrapper.XMLStreamWriterWrapper;
-class WoodstoxStreamWriterWrapper extends XMLStreamWriterWrapper {
- public WoodstoxStreamWriterWrapper(XMLStreamWriter parent) {
+class Woodstox3StreamWriterWrapper extends XMLStreamWriterWrapper {
+ public Woodstox3StreamWriterWrapper(XMLStreamWriter parent) {
super(parent);
}
Copied: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4Dialect.java (from r1327272, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxDialect.java)
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4Dialect.java?p2=webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4Dialect.java&p1=webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxDialect.java&r1=1327272&r2=1328516&rev=1328516&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxDialect.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4Dialect.java Fri Apr 20 21:27:14 2012
@@ -24,11 +24,11 @@ import javax.xml.stream.XMLOutputFactory
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;
-class WoodstoxDialect extends AbstractStAXDialect {
- public static final WoodstoxDialect INSTANCE = new WoodstoxDialect();
+class Woodstox4Dialect extends AbstractStAXDialect {
+ public static final Woodstox4Dialect INSTANCE = new Woodstox4Dialect();
public String getName() {
- return "Woodstox";
+ return "Woodstox 4.x";
}
public XMLInputFactory enableCDataReporting(XMLInputFactory factory) {
@@ -52,18 +52,18 @@ class WoodstoxDialect extends AbstractSt
}
public XMLStreamReader normalize(XMLStreamReader reader) {
- return new WoodstoxStreamReaderWrapper(reader);
+ return new Woodstox4StreamReaderWrapper(reader);
}
public XMLStreamWriter normalize(XMLStreamWriter writer) {
- return new WoodstoxStreamWriterWrapper(writer);
+ return new Woodstox4StreamWriterWrapper(writer);
}
public XMLInputFactory normalize(XMLInputFactory factory) {
- return new NormalizingXMLInputFactoryWrapper(factory, this);
+ return new Woodstox4InputFactoryWrapper(factory, this);
}
public XMLOutputFactory normalize(XMLOutputFactory factory) {
- return new WoodstoxOutputFactoryWrapper(factory, this);
+ return new Woodstox4OutputFactoryWrapper(factory, this);
}
}
Added: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4InputFactoryWrapper.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4InputFactoryWrapper.java?rev=1328516&view=auto
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4InputFactoryWrapper.java (added)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4InputFactoryWrapper.java Fri Apr 20 21:27:14 2012
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.util.stax.dialect;
+
+import java.io.InputStream;
+import java.io.Reader;
+
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+public class Woodstox4InputFactoryWrapper extends NormalizingXMLInputFactoryWrapper {
+ public Woodstox4InputFactoryWrapper(XMLInputFactory parent, AbstractStAXDialect dialect) {
+ super(parent, dialect);
+ }
+
+ public XMLStreamReader createXMLStreamReader(InputStream stream, String encoding) throws XMLStreamException {
+ return super.createXMLStreamReader(new CloseShieldInputStream(stream), encoding);
+ }
+
+ public XMLStreamReader createXMLStreamReader(InputStream stream) throws XMLStreamException {
+ return super.createXMLStreamReader(new CloseShieldInputStream(stream));
+ }
+
+ public XMLStreamReader createXMLStreamReader(Reader reader) throws XMLStreamException {
+ return super.createXMLStreamReader(new CloseShieldReader(reader));
+ }
+
+ public XMLStreamReader createXMLStreamReader(String systemId, InputStream stream) throws XMLStreamException {
+ return super.createXMLStreamReader(systemId, new CloseShieldInputStream(stream));
+ }
+
+ public XMLStreamReader createXMLStreamReader(String systemId, Reader reader) throws XMLStreamException {
+ return super.createXMLStreamReader(systemId, new CloseShieldReader(reader));
+ }
+}
Propchange: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4InputFactoryWrapper.java
------------------------------------------------------------------------------
svn:eol-style = native
Copied: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4OutputFactoryWrapper.java (from r1327272, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxOutputFactoryWrapper.java)
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4OutputFactoryWrapper.java?p2=webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4OutputFactoryWrapper.java&p1=webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxOutputFactoryWrapper.java&r1=1327272&r2=1328516&rev=1328516&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxOutputFactoryWrapper.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4OutputFactoryWrapper.java Fri Apr 20 21:27:14 2012
@@ -26,8 +26,8 @@ import javax.xml.stream.XMLOutputFactory
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
-class WoodstoxOutputFactoryWrapper extends NormalizingXMLOutputFactoryWrapper {
- public WoodstoxOutputFactoryWrapper(XMLOutputFactory parent, AbstractStAXDialect dialect) {
+class Woodstox4OutputFactoryWrapper extends NormalizingXMLOutputFactoryWrapper {
+ public Woodstox4OutputFactoryWrapper(XMLOutputFactory parent, AbstractStAXDialect dialect) {
super(parent, dialect);
}
Copied: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4StreamReaderWrapper.java (from r1327272, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxStreamReaderWrapper.java)
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4StreamReaderWrapper.java?p2=webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4StreamReaderWrapper.java&p1=webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxStreamReaderWrapper.java&r1=1327272&r2=1328516&rev=1328516&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxStreamReaderWrapper.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4StreamReaderWrapper.java Fri Apr 20 21:27:14 2012
@@ -24,8 +24,8 @@ import javax.xml.stream.XMLStreamReader;
import org.apache.axiom.ext.stax.DelegatingXMLStreamReader;
import org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper;
-class WoodstoxStreamReaderWrapper extends XMLStreamReaderWrapper implements DelegatingXMLStreamReader {
- public WoodstoxStreamReaderWrapper(XMLStreamReader reader) {
+class Woodstox4StreamReaderWrapper extends XMLStreamReaderWrapper implements DelegatingXMLStreamReader {
+ public Woodstox4StreamReaderWrapper(XMLStreamReader reader) {
super(reader);
}
Copied: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4StreamWriterWrapper.java (from r1327272, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxStreamWriterWrapper.java)
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4StreamWriterWrapper.java?p2=webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4StreamWriterWrapper.java&p1=webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxStreamWriterWrapper.java&r1=1327272&r2=1328516&rev=1328516&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/WoodstoxStreamWriterWrapper.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/dialect/Woodstox4StreamWriterWrapper.java Fri Apr 20 21:27:14 2012
@@ -24,8 +24,8 @@ import javax.xml.stream.XMLStreamWriter;
import org.apache.axiom.util.stax.wrapper.XMLStreamWriterWrapper;
-class WoodstoxStreamWriterWrapper extends XMLStreamWriterWrapper {
- public WoodstoxStreamWriterWrapper(XMLStreamWriter parent) {
+class Woodstox4StreamWriterWrapper extends XMLStreamWriterWrapper {
+ public Woodstox4StreamWriterWrapper(XMLStreamWriter parent) {
super(parent);
}
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/DialectTestSuiteBuilder.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/DialectTestSuiteBuilder.java?rev=1328516&r1=1328515&r2=1328516&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/DialectTestSuiteBuilder.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/DialectTestSuiteBuilder.java Fri Apr 20 21:27:14 2012
@@ -42,6 +42,8 @@ public class DialectTestSuiteBuilder ext
private void addTests(StAXImplementation staxImpl) {
String[] conformanceTestFiles = AbstractTestCase.getConformanceTestFiles();
+ addTest(new TestCloseInputStream(staxImpl));
+ addTest(new TestCloseReader(staxImpl));
addTest(new TestCreateXMLEventWriterWithNullEncoding(staxImpl));
addTest(new TestCreateXMLStreamReaderThreadSafety(staxImpl));
addTest(new TestCreateXMLStreamWriterThreadSafety(staxImpl));
Added: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/TestCloseInputStream.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/TestCloseInputStream.java?rev=1328516&view=auto
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/TestCloseInputStream.java (added)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/TestCloseInputStream.java Fri Apr 20 21:27:14 2012
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.util.stax.dialect;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.axiom.testutils.io.CloseSensorInputStream;
+
+/**
+ * Tests that {@link XMLStreamReader#close()} doesn't close the underlying {@link InputStream}.
+ */
+public class TestCloseInputStream extends DialectTestCase {
+ public TestCloseInputStream(StAXImplementation staxImpl) {
+ super(staxImpl);
+ }
+
+ protected void runTest() throws Throwable {
+ CloseSensorInputStream in = new CloseSensorInputStream(new ByteArrayInputStream("<root/>".getBytes("UTF-8")));
+ XMLStreamReader reader = staxImpl.newNormalizedXMLInputFactory().createXMLStreamReader(in);
+ reader.close();
+ assertFalse(in.isClosed());
+ }
+}
Propchange: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/TestCloseInputStream.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/TestCloseReader.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/TestCloseReader.java?rev=1328516&view=auto
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/TestCloseReader.java (added)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/TestCloseReader.java Fri Apr 20 21:27:14 2012
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.util.stax.dialect;
+
+import java.io.Reader;
+import java.io.StringReader;
+
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.axiom.testutils.io.CloseSensorReader;
+
+/**
+ * Tests that {@link XMLStreamReader#close()} doesn't close the underlying {@link Reader}.
+ */
+public class TestCloseReader extends DialectTestCase {
+ public TestCloseReader(StAXImplementation staxImpl) {
+ super(staxImpl);
+ }
+
+ protected void runTest() throws Throwable {
+ CloseSensorReader in = new CloseSensorReader(new StringReader("<root/>"));
+ XMLStreamReader reader = staxImpl.newNormalizedXMLInputFactory().createXMLStreamReader(in);
+ reader.close();
+ assertFalse(in.isClosed());
+ }
+}
Propchange: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/TestCloseReader.java
------------------------------------------------------------------------------
svn:eol-style = native