From 99c3493ac3fcd674506653d44957315f3bcb3ee8 Mon Sep 17 00:00:00 2001 From: rfeng Date: Thu, 6 Aug 2009 22:52:36 +0000 Subject: Fix the DOM XMLStreamReader git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@801829 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/tuscany/sca/common/xml/dom/DOMHelper.java | 10 +++++++++- .../org/apache/tuscany/sca/common/xml/stax/DOMXmlNodeImpl.java | 10 ++-------- .../org/apache/tuscany/sca/common/xml/stax/StAXHelper.java | 5 +++-- 3 files changed, 14 insertions(+), 11 deletions(-) (limited to 'java/sca/modules/common-xml/src/main') diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/dom/DOMHelper.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/dom/DOMHelper.java index b575eb7718..89682badc8 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/dom/DOMHelper.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/dom/DOMHelper.java @@ -60,10 +60,18 @@ public final class DOMHelper { public static QName getQName(Node node) { String ns = node.getNamespaceURI(); + String prefix = node.getPrefix(); + String localName = node.getLocalName(); + if (localName == null) { + localName = node.getNodeName(); + } if (ns == null) { ns = ""; } - return new QName(ns, node.getNodeName()); + if (prefix == null) { + prefix = ""; + } + return new QName(ns, localName, prefix); } public static Element createElement(Document document, QName name) { diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/DOMXmlNodeImpl.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/DOMXmlNodeImpl.java index 83ff31000d..95b10358b8 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/DOMXmlNodeImpl.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/DOMXmlNodeImpl.java @@ -27,6 +27,7 @@ import java.util.Map; import javax.xml.namespace.QName; +import org.apache.tuscany.sca.common.xml.dom.DOMHelper; import org.w3c.dom.Attr; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; @@ -109,14 +110,7 @@ public class DOMXmlNodeImpl implements XmlNode { } private static QName getQName(Node node) { - int type = node.getNodeType(); - if (type == Node.ELEMENT_NODE || type == Node.ATTRIBUTE_NODE) { - String ns = node.getNamespaceURI(); - String prefix = node.getPrefix(); - String localName = node.getLocalName(); - return new QName(ns == null ? "" : ns, localName, prefix == null ? "" : prefix); - } - return null; + return DOMHelper.getQName(node); } /** diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/StAXHelper.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/StAXHelper.java index 9421a60339..e78e8558e7 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/StAXHelper.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/StAXHelper.java @@ -67,13 +67,14 @@ public final class StAXHelper { return inputFactory.createXMLStreamReader(source); } - /* public XMLStreamReader createXMLStreamReader(Node node) throws XMLStreamException { + /* // DOMSource is not supported by the XMLInputFactory from JDK 6 DOMSource source = new DOMSource(node); return createXMLStreamReader(source); + */ + return new DOMXMLStreamReader(node); } - */ public XMLStreamReader createXMLStreamReader(String string) throws XMLStreamException { StringReader reader = new StringReader(string); -- cgit v1.2.3