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 ve...@apache.org on 2009/04/11 00:36:41 UTC
svn commit: r764089 - in /webservices/commons/trunk/modules/axiom/modules:
axiom-api/src/test/java/org/apache/axiom/om/OMElementTestBase.java
axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java
Author: veithen
Date: Fri Apr 10 22:36:41 2009
New Revision: 764089
URL: http://svn.apache.org/viewvc?rev=764089&view=rev
Log:
DOOM: Avoid generating unnecessary namespace declaration when creating an element from a QName with null namespace.
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/om/OMElementTestBase.java
webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/om/OMElementTestBase.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/om/OMElementTestBase.java?rev=764089&r1=764088&r2=764089&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/om/OMElementTestBase.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/om/OMElementTestBase.java Fri Apr 10 22:36:41 2009
@@ -20,8 +20,6 @@
package org.apache.axiom.om;
import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamConstants;
@@ -195,20 +193,6 @@
assertSame(element, att2.getOwner());
}
- // This methods filters out the ("", "") namespace declaration (empty namespace
- // to default). This declaration is present on OMElements produced by DOOM.
- // TODO: check if this is not a bug in DOOM
- private Iterator getRealAllDeclaredNamespaces(OMElement element) {
- List namespaces = new LinkedList();
- for (Iterator it = element.getAllDeclaredNamespaces(); it.hasNext(); ) {
- OMNamespace ns = (OMNamespace)it.next();
- if (!("".equals(ns.getPrefix()) && "".equals(ns.getNamespaceURI()))) {
- namespaces.add(ns);
- }
- }
- return namespaces.iterator();
- }
-
public void testAddAttributeWithoutExistingNamespaceDeclaration() {
OMFactory factory = getOMFactory();
OMElement element = factory.createOMElement(new QName("test"));
@@ -216,7 +200,7 @@
OMAttribute att = factory.createOMAttribute("test", ns, "test");
element.addAttribute(att);
assertEquals(ns, element.findNamespace(ns.getNamespaceURI(), ns.getPrefix()));
- Iterator it = getRealAllDeclaredNamespaces(element);
+ Iterator it = element.getAllDeclaredNamespaces();
assertTrue(it.hasNext());
assertEquals(ns, it.next());
assertFalse(it.hasNext());
@@ -229,7 +213,7 @@
element.declareNamespace(ns);
OMAttribute att = factory.createOMAttribute("test", ns, "test");
element.addAttribute(att);
- Iterator it = getRealAllDeclaredNamespaces(element);
+ Iterator it = element.getAllDeclaredNamespaces();
assertTrue(it.hasNext());
assertEquals(ns, it.next());
assertFalse(it.hasNext());
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java?rev=764089&r1=764088&r2=764089&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java Fri Apr 10 22:36:41 2009
@@ -202,7 +202,9 @@
public OMElement createOMElement(QName qname, OMContainer parent)
throws OMException {
NamespaceImpl ns;
- if (qname.getPrefix() != null) {
+ if (qname.getNamespaceURI().length() == 0) {
+ ns = null;
+ } else if (qname.getPrefix() != null) {
ns = new NamespaceImpl(qname.getNamespaceURI(), qname.getPrefix());
} else {
ns = new NamespaceImpl(qname.getNamespaceURI());