Do not require namespace repairing 97/10697/2
authorRobert Varga <rovarga@cisco.com>
Wed, 3 Sep 2014 14:00:13 +0000 (16:00 +0200)
committerRobert Varga <rovarga@cisco.com>
Wed, 3 Sep 2014 17:22:21 +0000 (19:22 +0200)
Turns the requirement off, as we are generating namespaces as needed.

Change-Id: I7d91324a00c0281c3e6ffbf3a5c3befc432db8e0
Signed-off-by: Robert Varga <rovarga@cisco.com>
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/RandomPrefix.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/XMLStreamNormalizedNodeStreamWriter.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/XmlStreamUtils.java

index 518e796808d9676519e201d89db4dfabc1e90140..125ac23eb86fd057551e821e76fa757b0f2a36bf 100644 (file)
@@ -15,6 +15,7 @@ import com.google.common.collect.HashBiMap;
 import java.net.URI;
 import java.util.Map;
 
+import javax.xml.XMLConstants;
 import javax.xml.namespace.NamespaceContext;
 
 class RandomPrefix {
@@ -57,7 +58,12 @@ class RandomPrefix {
     }
 
     private boolean alreadyUsedPrefix(final String prefix) {
-        return context != null && context.getNamespaceURI(prefix) != null;
+        if (context == null) {
+            return false;
+        }
+
+        final String str = context.getNamespaceURI(prefix);
+        return !XMLConstants.NULL_NS_URI.equals(str);
     }
 
     @VisibleForTesting
index c24486707704a2e2fdb2cc5435d0503a0f68f3fb..bec315491fc268c169ca5b41f6f1e6aaeb177778 100644 (file)
@@ -11,7 +11,6 @@ import com.google.common.base.Preconditions;
 
 import java.io.IOException;
 
-import javax.xml.stream.XMLOutputFactory;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 
@@ -68,8 +67,6 @@ public final class XMLStreamNormalizedNodeStreamWriter implements NormalizedNode
      * @return A new {@link NormalizedNodeStreamWriter}
      */
     public static NormalizedNodeStreamWriter create(final XMLStreamWriter writer, final SchemaContext context, final SchemaPath path) {
-        final Boolean repairing = (Boolean) writer.getProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES);
-        Preconditions.checkArgument(repairing == true, "XML Stream Writer has to be repairing namespaces");
         return new XMLStreamNormalizedNodeStreamWriter(writer, context, path);
     }
 
index 14b5c8593f5d85b68533d95bd496929653a03cd6..22fc3b9f767079a0897f98e73e1dd68919fdf729 100644 (file)
@@ -269,7 +269,7 @@ public class XmlStreamUtils {
         if (value instanceof YangInstanceIdentifier) {
             write(writer, (YangInstanceIdentifier)value);
         } else {
-            LOG.debug("Value of {}:{} is not an InstanceIdentifier but {}", type.getQName().getNamespace(), type.getQName().getLocalName(), value.getClass());
+            LOG.warn("Value of {}:{} is not an InstanceIdentifier but {}", type.getQName().getNamespace(), type.getQName().getLocalName(), value.getClass());
             writer.writeCharacters(String.valueOf(value));
         }
     }