Merge "BUG 1082 Migrate sal-rest-connector to Async Data Broker API"
[controller.git] / opendaylight / md-sal / sal-protocolbuffer-encoding / src / test / java / org / opendaylight / controller / cluster / datastore / util / NormalizedNodeXmlConverterTest.java
index 28e358a06acb99a8c05d54b208fd476d826164f3..853b3e264bdc9b4b58eed7e1ca95363eaa64e6be 100644 (file)
@@ -1,43 +1,24 @@
 /*
- * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
  *
- * This program and the accompanying materials are made available under the terms of the Eclipse
- * Public License v1.0 which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ *  Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
+ *
+ *  This program and the accompanying materials are made available under the
+ *  terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ *  and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
  */
 package org.opendaylight.controller.cluster.datastore.util;
 
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringWriter;
-import java.net.URI;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
 import org.custommonkey.xmlunit.Diff;
 import org.custommonkey.xmlunit.XMLUnit;
 import org.junit.Test;
 import org.opendaylight.controller.protobuff.messages.common.SimpleNormalizedNodeMessage;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode;
@@ -65,15 +46,35 @@ import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.xml.sax.SAXException;
 
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.TransformerFactoryConfigurationError;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.net.URI;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 
 /**
- * Two of the testcases in the yangtools/yang-data-impl are leveraged (with  modification) to
- * create the serialization of NormalizedNode using the ProtocolBuffer
+ * Two of the testcases in the yangtools/yang-data-impl are leveraged (with modification) to create
+ * the serialization of NormalizedNode using the ProtocolBuffer
  *
  * @syedbahm
  *
@@ -113,13 +114,14 @@ public class NormalizedNodeXmlConverterTest {
         + childNodeName);
   }
 
-  static DataSchemaNode findChildNode(final Set<DataSchemaNode> children, final String name) {
+  static DataSchemaNode findChildNode(
+      final Collection<DataSchemaNode> children, final String name) {
     List<DataNodeContainer> containers = Lists.newArrayList();
 
     for (DataSchemaNode dataSchemaNode : children) {
       if (dataSchemaNode.getQName().getLocalName().equals(name)) {
         return dataSchemaNode;
-    }
+      }
       if (dataSchemaNode instanceof DataNodeContainer) {
         containers.add((DataNodeContainer) dataSchemaNode);
       } else if (dataSchemaNode instanceof ChoiceNode) {
@@ -137,13 +139,13 @@ public class NormalizedNodeXmlConverterTest {
     return null;
   }
 
-  private static InstanceIdentifier.NodeIdentifier getNodeIdentifier(
+  public static YangInstanceIdentifier.NodeIdentifier getNodeIdentifier(
       final String localName) {
-    return new InstanceIdentifier.NodeIdentifier(QName.create(
+    return new YangInstanceIdentifier.NodeIdentifier(QName.create(
         URI.create(NAMESPACE), revision, localName));
   }
 
-  public static InstanceIdentifier.AugmentationIdentifier getAugmentIdentifier(
+  public static YangInstanceIdentifier.AugmentationIdentifier getAugmentIdentifier(
       final String... childNames) {
     Set<QName> qn = Sets.newHashSet();
 
@@ -151,13 +153,13 @@ public class NormalizedNodeXmlConverterTest {
       qn.add(getNodeIdentifier(childName).getNodeType());
     }
 
-    return new InstanceIdentifier.AugmentationIdentifier(qn);
+    return new YangInstanceIdentifier.AugmentationIdentifier(qn);
   }
 
 
-  private static ContainerNode augmentChoiceExpectedNode() {
+  public static ContainerNode augmentChoiceExpectedNode() {
 
-    DataContainerNodeBuilder<InstanceIdentifier.NodeIdentifier, ContainerNode> b =
+    DataContainerNodeBuilder<YangInstanceIdentifier.NodeIdentifier, ContainerNode> b =
         Builders.containerBuilder();
     b.withNodeIdentifier(getNodeIdentifier("container"));
 
@@ -236,8 +238,8 @@ public class NormalizedNodeXmlConverterTest {
 
 
 
-  public void init(final String yangPath, final String xmlPath, final ContainerNode expectedNode)
-      throws Exception {
+  public void init(final String yangPath, final String xmlPath,
+      final ContainerNode expectedNode) throws Exception {
     SchemaContext schema = parseTestSchema(yangPath);
     this.xmlPath = xmlPath;
     this.containerNode =
@@ -272,7 +274,7 @@ public class NormalizedNodeXmlConverterTest {
                 containerNode);
 
     if (expectedNode != null) {
-        junit.framework.Assert.assertEquals(expectedNode, built);
+      junit.framework.Assert.assertEquals(expectedNode, built);
     }
 
     logger.info("{}", built);
@@ -291,13 +293,12 @@ public class NormalizedNodeXmlConverterTest {
     System.out.println(toString(doc.getDocumentElement()));
     System.out.println(toString(el));
 
-    new Diff(
-        XMLUnit.buildControlDocument(toString(doc.getDocumentElement())),
+    new Diff(XMLUnit.buildControlDocument(toString(doc.getDocumentElement())),
         XMLUnit.buildTestDocument(toString(el))).similar();
   }
 
   private static ContainerNode listLeafListWithAttributes() {
-    DataContainerNodeBuilder<InstanceIdentifier.NodeIdentifier, ContainerNode> b =
+    DataContainerNodeBuilder<YangInstanceIdentifier.NodeIdentifier, ContainerNode> b =
         Builders.containerBuilder();
     b.withNodeIdentifier(getNodeIdentifier("container"));
 
@@ -307,11 +308,11 @@ public class NormalizedNodeXmlConverterTest {
     Map<QName, Object> predicates = Maps.newHashMap();
     predicates.put(getNodeIdentifier("uint32InList").getNodeType(), 3L);
 
-    DataContainerNodeBuilder<InstanceIdentifier.NodeIdentifierWithPredicates, MapEntryNode> list1Builder =
+    DataContainerNodeBuilder<YangInstanceIdentifier.NodeIdentifierWithPredicates, MapEntryNode> list1Builder =
         Builders.mapEntryBuilder().withNodeIdentifier(
-            new InstanceIdentifier.NodeIdentifierWithPredicates(
+            new YangInstanceIdentifier.NodeIdentifierWithPredicates(
                 getNodeIdentifier("list").getNodeType(), predicates));
-    NormalizedNodeBuilder<InstanceIdentifier.NodeIdentifier, Object, LeafNode<Object>> uint32InListBuilder =
+    NormalizedNodeBuilder<YangInstanceIdentifier.NodeIdentifier, Object, LeafNode<Object>> uint32InListBuilder =
         Builders.leafBuilder().withNodeIdentifier(
             getNodeIdentifier("uint32InList"));
 
@@ -320,7 +321,7 @@ public class NormalizedNodeXmlConverterTest {
     listBuilder.withChild(list1Builder.build());
     b.withChild(listBuilder.build());
 
-    NormalizedNodeBuilder<InstanceIdentifier.NodeIdentifier, Object, LeafNode<Object>> booleanBuilder =
+    NormalizedNodeBuilder<YangInstanceIdentifier.NodeIdentifier, Object, LeafNode<Object>> booleanBuilder =
         Builders.leafBuilder().withNodeIdentifier(getNodeIdentifier("boolean"));
     booleanBuilder.withValue(false);
     b.withChild(booleanBuilder.build());
@@ -329,10 +330,10 @@ public class NormalizedNodeXmlConverterTest {
         Builders.leafSetBuilder().withNodeIdentifier(
             getNodeIdentifier("leafList"));
 
-    NormalizedNodeBuilder<InstanceIdentifier.NodeWithValue, Object, LeafSetEntryNode<Object>> leafList1Builder =
+    NormalizedNodeBuilder<YangInstanceIdentifier.NodeWithValue, Object, LeafSetEntryNode<Object>> leafList1Builder =
         Builders.leafSetEntryBuilder().withNodeIdentifier(
-            new InstanceIdentifier.NodeWithValue(getNodeIdentifier("leafList")
-                .getNodeType(), "a"));
+            new YangInstanceIdentifier.NodeWithValue(getNodeIdentifier(
+                "leafList").getNodeType(), "a"));
 
     leafList1Builder.withValue("a");
 
@@ -357,7 +358,7 @@ public class NormalizedNodeXmlConverterTest {
                 containerNode);
 
     if (expectedNode != null) {
-        junit.framework.Assert.assertEquals(expectedNode, built);
+      junit.framework.Assert.assertEquals(expectedNode, built);
     }
 
     logger.info("{}", built);
@@ -376,8 +377,7 @@ public class NormalizedNodeXmlConverterTest {
     System.out.println(toString(doc.getDocumentElement()));
     System.out.println(toString(el));
 
-    new Diff(
-        XMLUnit.buildControlDocument(toString(doc.getDocumentElement())),
+    new Diff(XMLUnit.buildControlDocument(toString(doc.getDocumentElement())),
         XMLUnit.buildTestDocument(toString(el))).similar();
   }
 
@@ -447,8 +447,8 @@ public class NormalizedNodeXmlConverterTest {
     XMLUnit.setIgnoreComments(true);
     new Diff(XMLUnit.buildControlDocument(toString(expectedDoc
         .getDocumentElement())),
-        XMLUnit.buildTestDocument(toString(convertedDoc
-            .getDocumentElement()))).similar();
+        XMLUnit.buildTestDocument(toString(convertedDoc.getDocumentElement())))
+        .similar();
     System.out.println(toString(expectedDoc.getDocumentElement()));
 
   }
@@ -468,8 +468,8 @@ public class NormalizedNodeXmlConverterTest {
     XMLUnit.setIgnoreComments(true);
     new Diff(XMLUnit.buildControlDocument(toString(expectedDoc
         .getDocumentElement())),
-        XMLUnit.buildTestDocument(toString(convertedDoc
-            .getDocumentElement()))).similar();
+        XMLUnit.buildTestDocument(toString(convertedDoc.getDocumentElement())))
+        .similar();
     System.out.println(toString(expectedDoc.getDocumentElement()));
 
     // now we will try to convert xml back to normalize node.
@@ -480,24 +480,4 @@ public class NormalizedNodeXmlConverterTest {
 
   }
 
-  @Test
-  public void testInMemoryTestModelProtoBuffEncoding() throws Exception {
-
-    SimpleNormalizedNodeMessage.NormalizedNodeXml nnXml =
-        EncoderDecoderUtil.encode(parseTestSchema("/odl-datastore-test.yang"),
-            TestModel.createFamily());
-
-    Document convertedDoc =
-        EncoderDecoderUtil.factory.newDocumentBuilder().parse(
-            new ByteArrayInputStream(nnXml.getXmlString().getBytes("utf-8")));
-    System.out.println(toString(convertedDoc.getDocumentElement()));
-
-    // now we will try to convert xml back to normalize node.
-    ContainerNode cn =
-        (ContainerNode) EncoderDecoderUtil.decode(
-            parseTestSchema("/odl-datastore-test.yang"), nnXml);
-    junit.framework.Assert.assertEquals(TestModel.createFamily(), cn);
-
-
-  }
 }