Propagate EffectiveModelContext to more places
[yangtools.git] / yang / yang-data-impl / src / test / java / org / opendaylight / yangtools / yang / data / impl / leafref / context / DataTreeCandidateValidatorTest.java
index b558bb964bbbc0b32ffe66a5d47cddb8b1a7fad0..eee5c861c97998c10237870345fa36b2f2019ba8 100644 (file)
@@ -12,7 +12,6 @@ import static org.junit.Assert.assertTrue;
 
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Set;
 import org.apache.log4j.BasicConfigurator;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -34,6 +33,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTree;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
+import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
 import org.opendaylight.yangtools.yang.data.impl.leafref.LeafRefContext;
 import org.opendaylight.yangtools.yang.data.impl.leafref.LeafRefDataValidationFailedException;
 import org.opendaylight.yangtools.yang.data.impl.leafref.LeafRefValidation;
@@ -45,16 +45,16 @@ import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.ListNodeBuil
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.tree.InMemoryDataTreeFactory;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 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 DataTreeCandidateValidatorTest {
 
-    private static SchemaContext context;
+    private static EffectiveModelContext context;
     private static Module valModule;
     private static QNameModule valModuleQname;
     private static LeafRefContext rootLeafRefContext;
@@ -99,11 +99,10 @@ public class DataTreeCandidateValidatorTest {
     }
 
     @BeforeClass
-    public static void init()  {
+    public static void init() throws DataValidationFailedException {
         context = YangParserTestUtils.parseYangResourceDirectory("/leafref-validation");
 
-        final Set<Module> modules = context.getModules();
-        for (final Module module : modules) {
+        for (final Module module : context.getModules()) {
             if (module.getName().equals("leafref-validation")) {
                 valModule = module;
             }
@@ -152,8 +151,8 @@ public class DataTreeCandidateValidatorTest {
         final DataTreeModification initialDataTreeModification = inMemoryDataTree
                 .takeSnapshot().newModification();
 
-        final ContainerSchemaNode odlProjContSchemaNode = (ContainerSchemaNode) valModule
-                .getDataChildByName(odl);
+        final ContainerSchemaNode odlProjContSchemaNode = (ContainerSchemaNode) valModule.findDataChildByName(odl)
+                .get();
 
         final ContainerNode odlProjectContainer = createOdlContainer(odlProjContSchemaNode);
 
@@ -175,7 +174,7 @@ public class DataTreeCandidateValidatorTest {
     }
 
     @Test
-    public void dataTreeCanditateValidationTest() {
+    public void dataTreeCanditateValidationTest() throws DataValidationFailedException {
         write();
 
         write2();
@@ -189,10 +188,10 @@ public class DataTreeCandidateValidatorTest {
         writeIntoMapEntry();
     }
 
-    private static void writeContributors() {
+    private static void writeContributors() throws DataValidationFailedException {
 
         final ContainerSchemaNode contributorContSchemaNode = (ContainerSchemaNode) valModule
-                .getDataChildByName(odlContributor);
+                .findDataChildByName(odlContributor).get();
 
         final ContainerNode contributorContainer = createBasicContributorContainer(contributorContSchemaNode);
 
@@ -232,12 +231,11 @@ public class DataTreeCandidateValidatorTest {
 
     }
 
-    private static void writeIntoMapEntry() {
+    private static void writeIntoMapEntry() throws DataValidationFailedException {
 
         final Map<QName, Object> keys = new HashMap<>();
         keys.put(name, "New Project");
-        final NodeIdentifierWithPredicates mapEntryPath = new NodeIdentifierWithPredicates(
-                project, keys);
+        final NodeIdentifierWithPredicates mapEntryPath = NodeIdentifierWithPredicates.of(project, keys);
 
         final YangInstanceIdentifier leaderPath = YangInstanceIdentifier
                 .of(odl).node(project).node(mapEntryPath).node(lead);
@@ -279,20 +277,19 @@ public class DataTreeCandidateValidatorTest {
 
     }
 
-    private static void writeMapEntry() {
+    private static void writeMapEntry() throws DataValidationFailedException {
 
         final Map<QName, Object> keys = new HashMap<>();
         keys.put(name, "New Project");
-        final NodeIdentifierWithPredicates mapEntryPath = new NodeIdentifierWithPredicates(
-                project, keys);
+        final NodeIdentifierWithPredicates mapEntryPath = NodeIdentifierWithPredicates.of(project, keys);
 
         final YangInstanceIdentifier newOdlProjectMapEntryPath = YangInstanceIdentifier
                 .of(odl).node(project).node(mapEntryPath);
 
-        final ContainerSchemaNode odlProjContSchemaNode = (ContainerSchemaNode) valModule
-                .getDataChildByName(odl);
-        final ListSchemaNode projListSchemaNode = (ListSchemaNode) odlProjContSchemaNode
-                .getDataChildByName(project);
+        final ContainerSchemaNode odlProjContSchemaNode = (ContainerSchemaNode) valModule.findDataChildByName(odl)
+                .get();
+        final ListSchemaNode projListSchemaNode = (ListSchemaNode) odlProjContSchemaNode.findDataChildByName(project)
+                .get();
         final MapEntryNode newProjectMapEntry = createProjectListEntry(
                 "New Project", "New Project description ...",
                 "Leader of New Project", "Owner of New Project",
@@ -332,10 +329,10 @@ public class DataTreeCandidateValidatorTest {
 
     }
 
-    private static void write() {
+    private static void write() throws DataValidationFailedException {
 
         final ContainerSchemaNode contributorContSchemaNode = (ContainerSchemaNode) valModule
-                .getDataChildByName(odlContributor);
+                .findDataChildByName(odlContributor).get();
 
         final ContainerNode contributorContainer = createContributorContainer(contributorContSchemaNode);
 
@@ -380,12 +377,10 @@ public class DataTreeCandidateValidatorTest {
         assertTrue(exception);
     }
 
-    private static void write2() {
+    private static void write2() throws DataValidationFailedException {
 
-        final ContainerSchemaNode odlCon = (ContainerSchemaNode) valModule
-                .getDataChildByName(odl);
-        final ContainerSchemaNode con1Con = (ContainerSchemaNode) odlCon
-                .getDataChildByName(con1);
+        final ContainerSchemaNode odlCon = (ContainerSchemaNode) valModule.findDataChildByName(odl).get();
+        final ContainerSchemaNode con1Con = (ContainerSchemaNode) odlCon.findDataChildByName(con1).get();
         final LeafNode<String> l1Leaf = ImmutableNodes.leafNode(l1, "l1 value");
         final DataContainerNodeBuilder<NodeIdentifier, ContainerNode> containerBuilder = Builders
                 .containerBuilder(con1Con);
@@ -484,8 +479,7 @@ public class DataTreeCandidateValidatorTest {
             final String l3Val1, final String l3Val2, final String l3Val3) {
         final DataContainerNodeBuilder<NodeIdentifierWithPredicates, MapEntryNode> mapEntryBuilder = Builders
                 .mapEntryBuilder();
-        mapEntryBuilder.withNodeIdentifier(new NodeIdentifierWithPredicates(
-                list3InChoice, k, keyVal));
+        mapEntryBuilder.withNodeIdentifier(NodeIdentifierWithPredicates.of(list3InChoice, k, keyVal));
 
         final ListNodeBuilder<Object, LeafSetEntryNode<Object>> leafSetBuilder = Builders
                 .leafSetBuilder();
@@ -545,7 +539,7 @@ public class DataTreeCandidateValidatorTest {
         final DataContainerNodeBuilder<NodeIdentifierWithPredicates, MapEntryNode> mapEntryBuilder = Builders
                 .mapEntryBuilder();
 
-        mapEntryBuilder.withNodeIdentifier(new NodeIdentifierWithPredicates(
+        mapEntryBuilder.withNodeIdentifier(NodeIdentifierWithPredicates.of(
                 listInChoice, listInChoiceKey, keyVal));
 
         mapEntryBuilder.addChild(ImmutableNodes.leafNode(listInChoiceKey,
@@ -558,7 +552,7 @@ public class DataTreeCandidateValidatorTest {
         return mapEntryBuilder.build();
     }
 
-    private static void delete() {
+    private static void delete() throws DataValidationFailedException {
 
         final YangInstanceIdentifier contributorPath = YangInstanceIdentifier
                 .of(odlContributor);
@@ -567,8 +561,7 @@ public class DataTreeCandidateValidatorTest {
         delete.delete(contributorPath);
         delete.ready();
 
-        final DataTreeCandidate deleteContributorsCanditate = inMemoryDataTree
-                .prepare(delete);
+        final DataTreeCandidate deleteContributorsCanditate = inMemoryDataTree.prepare(delete);
 
         LOG.debug("*************************");
         LOG.debug("Before delete: ");
@@ -600,7 +593,7 @@ public class DataTreeCandidateValidatorTest {
             final ContainerSchemaNode contributorContSchemaNode) {
 
         final ListSchemaNode contributorListSchemaNode = (ListSchemaNode) contributorContSchemaNode
-                .getDataChildByName(contributor);
+                .findDataChildByName(contributor).get();
 
         final DataContainerNodeBuilder<NodeIdentifier, ContainerNode> contributorContainerBldr = Builders
                 .containerBuilder(contributorContSchemaNode);
@@ -671,14 +664,10 @@ public class DataTreeCandidateValidatorTest {
             final String odlProjectNameVal, final String odlProjectDescVal,
             final ListSchemaNode contributorListSchemaNode) {
 
-        final LeafNode<String> loginLeaf = ImmutableNodes.leafNode(login,
-                loginVal);
-        final LeafNode<String> contributorNameLeaf = ImmutableNodes.leafNode(
-                contributorName, contributorNameVal);
-        final LeafNode<String> odlProjectNameLeafRef = ImmutableNodes.leafNode(
-                odlProjectName, odlProjectNameVal);
-        final LeafNode<String> odlProjectDescLeafRef = ImmutableNodes.leafNode(
-                odlProjectDesc, odlProjectDescVal);
+        final LeafNode<String> loginLeaf = ImmutableNodes.leafNode(login, loginVal);
+        final LeafNode<String> contributorNameLeaf = ImmutableNodes.leafNode(contributorName, contributorNameVal);
+        final LeafNode<String> odlProjectNameLeafRef = ImmutableNodes.leafNode(odlProjectName, odlProjectNameVal);
+        final LeafNode<String> odlProjectDescLeafRef = ImmutableNodes.leafNode(odlProjectDesc, odlProjectDescVal);
 
         return Builders.mapEntryBuilder(contributorListSchemaNode)
                 .addChild(loginLeaf)
@@ -691,8 +680,7 @@ public class DataTreeCandidateValidatorTest {
     private static ContainerNode createOdlContainer(
             final ContainerSchemaNode container) {
 
-        final ListSchemaNode projListSchemaNode = (ListSchemaNode) container
-                .getDataChildByName(project);
+        final ListSchemaNode projListSchemaNode = (ListSchemaNode) container.findDataChildByName(project).get();
 
         final DataContainerNodeBuilder<NodeIdentifier, ContainerNode> odlProjectContainerBldr = Builders
                 .containerBuilder(container);
@@ -760,7 +748,7 @@ public class DataTreeCandidateValidatorTest {
             final ContainerSchemaNode contributorContSchemaNode) {
 
         final ListSchemaNode contributorListSchemaNode = (ListSchemaNode) contributorContSchemaNode
-                .getDataChildByName(contributor);
+                .findDataChildByName(contributor).get();
 
         final DataContainerNodeBuilder<NodeIdentifier, ContainerNode> contributorContainerBldr = Builders
                 .containerBuilder(contributorContSchemaNode);