Merge "Remove unnecessary casts"
[yangtools.git] / yang / yang-data-impl / src / main / java / org / opendaylight / yangtools / yang / data / impl / schema / transform / dom / serializer / DomFromNormalizedNodeSerializerFactory.java
index 0a5aba7c4a67789935bd98770d85e07e2cb1d8c6..6cf200deb56d31fb138cfdda1db6042bf4cebc3b 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.yangtools.yang.data.impl.schema.transform.dom.serializer;
 
+import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
@@ -15,10 +16,12 @@ import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetNode;
 import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
+import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListNode;
 import org.opendaylight.yangtools.yang.data.impl.codec.xml.XmlCodecProvider;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.FromNormalizedNodeSerializer;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.FromNormalizedNodeSerializerFactory;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.serializer.NodeSerializerDispatcher;
+import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
@@ -27,6 +30,8 @@ import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
+// TODO Is this used anywhere ? it is replaced by the NormalizedNode stream writer, COuld this be removed ?
+
 public final class DomFromNormalizedNodeSerializerFactory implements FromNormalizedNodeSerializerFactory<Element> {
     private final ContainerNodeDomSerializer containerSerializer;
     private final ChoiceNodeDomSerializer choiceSerializer;
@@ -34,8 +39,10 @@ public final class DomFromNormalizedNodeSerializerFactory implements FromNormali
     private final LeafNodeDomSerializer leafNodeSerializer;
     private final LeafSetNodeDomSerializer leafSetSerializer;
     private final MapNodeDomSerializer mapNodeSerializer;
+    private final UnkeyedListNodeDomSerializer unkeyedListNodeSerializer;
     private final LeafSetEntryNodeDomSerializer leafSetEntryNodeSerializer;
-       private final MapEntryNodeDomSerializer mapEntryNodeSerializer;
+    private final MapEntryNodeDomSerializer mapEntryNodeSerializer;
+    private final UnkeyedListEntryNodeDomSerializer unkeyedListEntryNodeSerializer;
 
        private DomFromNormalizedNodeSerializerFactory(final Document doc, final XmlCodecProvider codecProvider) {
                final NodeSerializerDispatcher.BaseNodeSerializerDispatcher<Element> dispatcher = new NodeSerializerDispatcher.BaseNodeSerializerDispatcher<Element>(this) {
@@ -52,6 +59,9 @@ public final class DomFromNormalizedNodeSerializerFactory implements FromNormali
 
         mapEntryNodeSerializer = new MapEntryNodeDomSerializer(doc, dispatcher);
         mapNodeSerializer = new MapNodeDomSerializer(mapEntryNodeSerializer);
+
+        unkeyedListEntryNodeSerializer = new UnkeyedListEntryNodeDomSerializer(doc, dispatcher);
+        unkeyedListNodeSerializer = new UnkeyedListNodeDomSerializer(unkeyedListEntryNodeSerializer);
        }
 
        public static DomFromNormalizedNodeSerializerFactory getInstance(final Document doc, final XmlCodecProvider codecProvider) {
@@ -98,4 +108,14 @@ public final class DomFromNormalizedNodeSerializerFactory implements FromNormali
                return mapNodeSerializer;
        }
 
+       @Override
+       public FromNormalizedNodeSerializer<Element, UnkeyedListNode, ListSchemaNode> getUnkeyedListNodeSerializer() {
+           return unkeyedListNodeSerializer;
+       }
+
+        @Override
+        public FromNormalizedNodeSerializer<Element, AnyXmlNode, AnyXmlSchemaNode> getAnyXmlNodeSerializer() {
+            throw new UnsupportedOperationException();
+        }
+
 }