You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by di...@apache.org on 2007/07/12 18:32:05 UTC
svn commit: r555689 - in /webservices/commons/trunk/modules/axiom: ./
modules/axiom-api/src/main/java/org/apache/axiom/om/impl/serialize/
modules/axiom-api/src/main/java/org/apache/axiom/om/impl/util/
modules/axiom-api/src/main/java/org/apache/axiom/so...
Author: dims
Date: Thu Jul 12 09:31:59 2007
New Revision: 555689
URL: http://svn.apache.org/viewvc?view=rev&rev=555689
Log:
Fix for WSCOMMONS-214 - Test Failures when switching parser to sjsxp 1.0.1
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/serialize/StreamingOMSerializer.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/util/OMSerializerUtil.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/SOAPBuilderHelper.java
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/impl/llom/OMSourcedElementTest.java
webservices/commons/trunk/modules/axiom/pom.xml
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/serialize/StreamingOMSerializer.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/serialize/StreamingOMSerializer.java?view=diff&rev=555689&r1=555688&r2=555689
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/serialize/StreamingOMSerializer.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/serialize/StreamingOMSerializer.java Thu Jul 12 09:31:59 2007
@@ -139,8 +139,28 @@
if (!setPrefixFirst) {
if (eNamespace != null) {
if (ePrefix == null) {
- writer.writeStartElement("", reader.getLocalName(), eNamespace);
+ if (writer.getNamespaceContext().getNamespaceURI(eNamespace) == null) {
+
+ if (writePrefixList == null) {
+ writePrefixList = new ArrayList();
+ writeNSList = new ArrayList();
+ }
+ writePrefixList.add("");
+ writeNSList.add(eNamespace);
+ }
+
+ writer.writeStartElement("", reader.getLocalName(), eNamespace);
} else {
+
+ if (writer.getNamespaceContext().getNamespaceURI(eNamespace) == null) {
+ if (writePrefixList == null) {
+ writePrefixList = new ArrayList();
+ writeNSList = new ArrayList();
+ }
+ writePrefixList.add(ePrefix);
+ writeNSList.add(eNamespace);
+ }
+
writer.writeStartElement(ePrefix, reader.getLocalName(), eNamespace);
}
} else {
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/util/OMSerializerUtil.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/util/OMSerializerUtil.java?view=diff&rev=555689&r1=555688&r2=555689
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/util/OMSerializerUtil.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/util/OMSerializerUtil.java Thu Jul 12 09:31:59 2007
@@ -157,7 +157,7 @@
*/
public static boolean isSetPrefixBeforeStartElement(XMLStreamWriter writer) {
NamespaceContext nc = writer.getNamespaceContext();
- return (nc == null || nc.getClass().getName().indexOf("wstx") == -1);
+ return (nc == null || (nc.getClass().getName().indexOf("wstx") == -1 && nc.getClass().getName().indexOf("sun") == -1));
}
/**
@@ -216,11 +216,39 @@
// Write the startElement if required
boolean setPrefixFirst = isSetPrefixBeforeStartElement(writer);
+
if (!setPrefixFirst) {
if (eNamespace != null) {
if (ePrefix == null) {
+ if (writer.getNamespaceContext().getNamespaceURI("") == null
+ || !writer.getNamespaceContext().getNamespaceURI("").equals(eNamespace)) {
+
+ if (writePrefixList == null) {
+ writePrefixList = new ArrayList();
+ writeNSList = new ArrayList();
+ }
+ if (! writePrefixList.contains("")) {
+ writePrefixList.add("");
+ writeNSList.add(eNamespace);
+ }
+ }
writer.writeStartElement("", localName, eNamespace);
} else {
+ /*
+ * If XMLStreamWriter.writeStartElement(prefix,localName,namespaceURI) associates
+ * the prefix with the namespace ..
+ */
+ if (writer.getNamespaceContext().getNamespaceURI(ePrefix) == null) {
+ if (writePrefixList == null) {
+ writePrefixList = new ArrayList();
+ writeNSList = new ArrayList();
+ }
+ if (! writePrefixList.contains(ePrefix)) {
+ writePrefixList.add(ePrefix);
+ writeNSList.add(eNamespace);
+ }
+ }
+
writer.writeStartElement(ePrefix, localName, eNamespace);
}
} else {
@@ -375,7 +403,7 @@
// prefix is empty then do not replace because attributes do not
// default to the default namespace like elements do.
String writerPrefix = writer.getPrefix(namespace);
- if (!prefix.equals(writerPrefix) && !"".equals(writerPrefix)) {
+ if (!prefix.equals(writerPrefix) && writerPrefix != null && !"".equals(writerPrefix)) {
prefix = writerPrefix;
}
}
@@ -546,6 +574,7 @@
// No Action needed..The writer already has associated this prefix to this namespace
if(isSetPrefixFirst){
newPrefix = writer.getNamespaceContext().getPrefix(namespace);
+ newPrefix = (newPrefix == null || newPrefix.length() == 0) ? null : newPrefix ;
}
}
} else {
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/SOAPBuilderHelper.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/SOAPBuilderHelper.java?view=diff&rev=555689&r1=555688&r2=555689
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/SOAPBuilderHelper.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/SOAPBuilderHelper.java Thu Jul 12 09:31:59 2007
@@ -43,11 +43,10 @@
protected void processNamespaceData(OMElement node, boolean checkSOAPNamespace) {
int namespaceCount = parser.getNamespaceCount();
for (int i = 0; i < namespaceCount; i++) {
- String nsp = parser.getNamespaceURI(i);
- String prefix = parser.getNamespacePrefix(i);
- if(nsp != null && prefix != null) {
- node.declareNamespace(nsp,
- prefix);
+ String namespaceURI = parser.getNamespaceURI(i);
+ if (namespaceURI != null) {
+ node.declareNamespace(parser.getNamespaceURI(i),
+ parser.getNamespacePrefix(i));
}
}
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java?view=diff&rev=555689&r1=555688&r2=555689
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java Thu Jul 12 09:31:59 2007
@@ -315,6 +315,9 @@
this.namespaces = new HashMap(5);
}
namespaces.put("", namespace);
+ if (ns == null || "".equals(ns.getPrefix())) {
+ ns = namespace;
+ }
return namespace;
}
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/impl/llom/OMSourcedElementTest.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/impl/llom/OMSourcedElementTest.java?view=diff&rev=555689&r1=555688&r2=555689
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/impl/llom/OMSourcedElementTest.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/impl/llom/OMSourcedElementTest.java Thu Jul 12 09:31:59 2007
@@ -139,12 +139,12 @@
ByteArrayOutputStream bos = new ByteArrayOutputStream();
element.serialize(bos);
String newText = new String(bos.toByteArray());
- assertXMLEqual("Serialized text error", testDocument, newText);
+ assertEquals("Serialized text error", testDocument, newText);
assertTrue("Element not expanded when serializing", element.isExpanded());
bos = new ByteArrayOutputStream();
element.serialize(bos);
- assertXMLEqual("Serialized text error", testDocument,
+ assertEquals("Serialized text error", testDocument,
new String(bos.toByteArray()));
assertTrue("Element not expanded when serializing", element.isExpanded());
}
@@ -171,13 +171,13 @@
StringWriter writer = new StringWriter();
element.serialize(writer);
String result = writer.toString();
- assertXMLEqual("Serialized text error", testDocument, result);
+ assertEquals("Serialized text error", testDocument, result);
assertTrue("Element not expanded when serializing", element.isExpanded());
writer = new StringWriter();
element.serialize(writer);
result = writer.toString();
- assertXMLEqual("Serialized text error", testDocument, result);
+ assertEquals("Serialized text error", testDocument, result);
assertTrue("Element not expanded when serializing", element.isExpanded());
}
@@ -190,7 +190,7 @@
StringWriter writer = new StringWriter();
element.serializeAndConsume(writer);
String result = writer.toString();
- assertXMLEqual("Serialized text error", testDocument, result);
+ assertEquals("Serialized text error", testDocument, result);
assertFalse("Element expansion when serializing", element.isExpanded());
}
@@ -204,14 +204,14 @@
XMLStreamWriter xmlwriter = XMLOutputFactory.newInstance().createXMLStreamWriter(writer);
element.serialize(writer);
xmlwriter.flush();
- assertXMLEqual("Serialized text error", testDocument, writer.toString());
+ assertEquals("Serialized text error", testDocument, writer.toString());
assertTrue("Element not expanded when serializing", element.isExpanded());
writer = new StringWriter();
xmlwriter = XMLOutputFactory.newInstance().createXMLStreamWriter(writer);
element.serialize(writer);
xmlwriter.flush();
- assertXMLEqual("Serialized text error", testDocument, writer.toString());
+ assertEquals("Serialized text error", testDocument, writer.toString());
assertTrue("Element not expanded when serializing", element.isExpanded());
}
@@ -225,7 +225,7 @@
XMLStreamWriter xmlwriter = XMLOutputFactory.newInstance().createXMLStreamWriter(writer);
element.serializeAndConsume(writer);
xmlwriter.flush();
- assertXMLEqual("Serialized text error", testDocument, writer.toString());
+ assertEquals("Serialized text error", testDocument, writer.toString());
assertFalse("Element expansion when serializing", element.isExpanded());
}
Modified: webservices/commons/trunk/modules/axiom/pom.xml
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/pom.xml?view=diff&rev=555689&r1=555688&r2=555689
==============================================================================
--- webservices/commons/trunk/modules/axiom/pom.xml (original)
+++ webservices/commons/trunk/modules/axiom/pom.xml Thu Jul 12 09:31:59 2007
@@ -505,5 +505,10 @@
<stax.impl.groupid>org.codehaus.woodstox</stax.impl.groupid>
<stax.impl.artifact>wstx-asl</stax.impl.artifact>
<stax.impl.version>3.2.1</stax.impl.version>
+ <!--
+ <stax.impl.groupid>com.sun.xml.stream</stax.impl.groupid>
+ <stax.impl.artifact>sjsxp</stax.impl.artifact>
+ <stax.impl.version>1.0.1</stax.impl.version>
+ -->
</properties>
</project>
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: commons-dev-help@ws.apache.org