Add DataNodeContainer.findDataChildByName(QName, QName...)
[yangtools.git] / yang / yang-data-impl / src / test / java / org / opendaylight / yangtools / yang / data / impl / leafref / context / LeafRefContextTreeBuilderTest.java
index 7252e3b01b1f51f30f6bc0ab74e359f684798eda..1ca9962e5896ec62207d3de38dc0c7e31e882337 100644 (file)
@@ -15,6 +15,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.util.List;
 import java.util.Set;
+import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -22,18 +23,18 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.data.impl.leafref.LeafRefContext;
 import org.opendaylight.yangtools.yang.data.impl.leafref.LeafRefContextUtils;
-import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class LeafRefContextTreeBuilderTest {
+    private static final Logger LOG = LoggerFactory.getLogger(LeafRefContextTreeBuilderTest.class);
 
     private static SchemaContext context;
-    private static Module impMod;
     private static Module tstMod;
-    private static QNameModule imp;
     private static QNameModule tst;
     private static LeafRefContext rootLeafRefContext;
 
@@ -43,20 +44,24 @@ public class LeafRefContextTreeBuilderTest {
 
         final Set<Module> modules = context.getModules();
         for (final Module module : modules) {
-            if (module.getName().equals("import-mod")) {
-                impMod = module;
-            }
             if (module.getName().equals("leafref-test")) {
                 tstMod = module;
             }
         }
 
-        imp = impMod.getQNameModule();
         tst = tstMod.getQNameModule();
 
         rootLeafRefContext = LeafRefContext.create(context);
     }
 
+    @AfterClass
+    public static void cleanup() {
+        context = null;
+        tst = null;
+        tstMod = null;
+        rootLeafRefContext = null;
+    }
+
     @Test
     public void buildLeafRefContextTreeTest1() {
 
@@ -73,14 +78,10 @@ public class LeafRefContextTreeBuilderTest {
         assertNotNull(leafRefCtx.getAbsoluteLeafRefTargetPath());
         assertTrue(leafRefCtx.getAbsoluteLeafRefTargetPath().isAbsolute());
 
-        System.out.println();
-        System.out.println("******* Test 1 ************");
-        System.out.println("Original definition string:");
-        System.out.println(leafRefCtx.getLeafRefTargetPathString());
-        System.out.println("Parsed leafref path:");
-        System.out.println(leafRefCtx.getLeafRefTargetPath().toString());
-        System.out.println("Absolute leafref path:");
-        System.out.println(leafRefCtx.getAbsoluteLeafRefTargetPath().toString());
+        LOG.debug("******* Test 1 ************");
+        LOG.debug("Original definition string: {}", leafRefCtx.getLeafRefTargetPathString());
+        LOG.debug("Parsed leafref path: {}", leafRefCtx.getLeafRefTargetPath());
+        LOG.debug("Absolute leafref path: {}", leafRefCtx.getAbsoluteLeafRefTargetPath());
     }
 
     @Test
@@ -99,16 +100,10 @@ public class LeafRefContextTreeBuilderTest {
         assertNotNull(leafRefCtx2.getAbsoluteLeafRefTargetPath());
         assertTrue(leafRefCtx2.getAbsoluteLeafRefTargetPath().isAbsolute());
 
-        System.out.println();
-        System.out.println("******* Test 2 ************");
-        System.out.println("Original definition string2:");
-        System.out.println(leafRefCtx2.getLeafRefTargetPathString());
-        System.out.println("Parsed leafref path2:");
-        System.out.println(leafRefCtx2.getLeafRefTargetPath().toString());
-        System.out.println("Absolute leafref path2:");
-        System.out.println(leafRefCtx2.getAbsoluteLeafRefTargetPath().toString());
-        System.out.println();
-
+        LOG.debug("******* Test 2 ************");
+        LOG.debug("Original definition string2: {}", leafRefCtx2.getLeafRefTargetPathString());
+        LOG.debug("Parsed leafref path2: {}", leafRefCtx2.getLeafRefTargetPath());
+        LOG.debug("Absolute leafref path2: {}", leafRefCtx2.getAbsoluteLeafRefTargetPath());
     }
 
     @Test
@@ -129,15 +124,10 @@ public class LeafRefContextTreeBuilderTest {
         assertNotNull(leafRefCtx3.getAbsoluteLeafRefTargetPath());
         assertTrue(leafRefCtx3.getAbsoluteLeafRefTargetPath().isAbsolute());
 
-        System.out.println();
-        System.out.println("******* Test 3 ************");
-        System.out.println("Original definition string2:");
-        System.out.println(leafRefCtx3.getLeafRefTargetPathString());
-        System.out.println("Parsed leafref path2:");
-        System.out.println(leafRefCtx3.getLeafRefTargetPath().toString());
-        System.out.println("Absolute leafref path2:");
-        System.out.println(leafRefCtx3.getAbsoluteLeafRefTargetPath().toString());
-        System.out.println();
+        LOG.debug("******* Test 3 ************");
+        LOG.debug("Original definition string2: {}", leafRefCtx3.getLeafRefTargetPathString());
+        LOG.debug("Parsed leafref path2: {}", leafRefCtx3.getLeafRefTargetPath());
+        LOG.debug("Absolute leafref path2: {}", leafRefCtx3.getAbsoluteLeafRefTargetPath());
     }
 
     @Test
@@ -164,8 +154,7 @@ public class LeafRefContextTreeBuilderTest {
         final LeafRefContext odlContrProjNameCtx = rootLeafRefContext.getReferencingChildByName(q1)
                 .getReferencingChildByName(q2).getReferencingChildByName(q3);
 
-        final DataSchemaNode odlContrProjNameNode = ((DataNodeContainer) ((DataNodeContainer) tstMod
-                .getDataChildByName(q1)).getDataChildByName(q2)).getDataChildByName(q3);
+        final DataSchemaNode odlContrProjNameNode = tstMod.findDataChildByName(q1, q2, q3).get();
 
         final LeafRefContext foundOdlContrProjNameCtx = LeafRefContextUtils.getLeafRefReferencingContext(
                 odlContrProjNameNode, rootLeafRefContext);
@@ -185,8 +174,7 @@ public class LeafRefContextTreeBuilderTest {
         final LeafRefContext leafRefCtx = rootLeafRefContext.getReferencedChildByName(q1).getReferencedChildByName(q2)
                 .getReferencedChildByName(q3);
 
-        final DataSchemaNode odlProjNameNode = ((DataNodeContainer) ((DataNodeContainer) tstMod.getDataChildByName(q1))
-                .getDataChildByName(q2)).getDataChildByName(q3);
+        final DataSchemaNode odlProjNameNode = tstMod.findDataChildByName(q1, q2, q3).get();
 
         LeafRefContext foundOdlProjNameCtx = LeafRefContextUtils.getLeafRefReferencingContext(odlProjNameNode,
                 rootLeafRefContext);
@@ -205,16 +193,16 @@ public class LeafRefContextTreeBuilderTest {
     @Test
     public void leafRefContextUtilsTest3() {
         final QName q16 = QName.create(tst, "con1");
-        final DataSchemaNode con1 = tstMod.getDataChildByName(q16);
-        final List<LeafRefContext> allLeafRefChilds = LeafRefContextUtils
-                .findAllLeafRefChilds(con1, rootLeafRefContext);
+        final DataSchemaNode con1 = tstMod.findDataChildByName(q16).get();
+        final List<LeafRefContext> allLeafRefChilds = LeafRefContextUtils.findAllLeafRefChilds(con1,
+            rootLeafRefContext);
 
         assertNotNull(allLeafRefChilds);
         assertFalse(allLeafRefChilds.isEmpty());
         assertEquals(4, allLeafRefChilds.size());
 
         final QName q17 = QName.create(tst, "odl-contributor");
-        final DataSchemaNode odlContributorNode = tstMod.getDataChildByName(q17);
+        final DataSchemaNode odlContributorNode = tstMod.findDataChildByName(q17).get();
         List<LeafRefContext> allChildsReferencedByLeafRef = LeafRefContextUtils.findAllChildsReferencedByLeafRef(
                 odlContributorNode, rootLeafRefContext);
 
@@ -226,15 +214,12 @@ public class LeafRefContextTreeBuilderTest {
 
         assertNotNull(allChildsReferencedByLeafRef);
         assertTrue(allChildsReferencedByLeafRef.isEmpty());
-
     }
 
     @Test(expected = IllegalArgumentException.class)
     @Ignore
     public void incorrectLeafRefPathTest() {
-        final SchemaContext context = YangParserTestUtils.parseYangResourceDirectory(
-            "/leafref-context-test/incorrect-modules");
-        LeafRefContext.create(context);
+        LeafRefContext.create(
+                YangParserTestUtils.parseYangResourceDirectory("/leafref-context-test/incorrect-modules"));
     }
-
 }