import java.util.HashMap;
import java.util.Map;
-import java.util.Set;
-import org.apache.log4j.BasicConfigurator;
+import org.eclipse.jdt.annotation.NonNull;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
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.SystemLeafSetNode;
+import org.opendaylight.yangtools.yang.data.api.schema.SystemMapNode;
+import org.opendaylight.yangtools.yang.data.api.schema.builder.CollectionNodeBuilder;
+import org.opendaylight.yangtools.yang.data.api.schema.builder.DataContainerNodeBuilder;
+import org.opendaylight.yangtools.yang.data.api.schema.builder.ListNodeBuilder;
+import org.opendaylight.yangtools.yang.data.api.schema.builder.NormalizedNodeBuilder;
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.impl.leafref.LeafRefValidation;
import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
-import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.CollectionNodeBuilder;
-import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder;
-import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.ListNodeBuilder;
-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;
private static final Logger LOG = LoggerFactory.getLogger(DataTreeCandidateValidatorTest.class);
private static final String NEW_LINE = System.getProperty("line.separator");
- static {
- BasicConfigurator.configure();
- }
-
@BeforeClass
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;
}
}
- private static LeafSetNode<?> createLeafRefLeafListNode() {
-
- final ListNodeBuilder<Object, LeafSetEntryNode<Object>> leafSetBuilder = Builders
- .leafSetBuilder();
- leafSetBuilder.withNodeIdentifier(new NodeIdentifier(leafrefLeafList));
-
- leafSetBuilder.addChild(createLeafSetEntry(leafrefLeafList, "k1"));
- leafSetBuilder.addChild(createLeafSetEntry(leafrefLeafList, "k2"));
- leafSetBuilder.addChild(createLeafSetEntry(leafrefLeafList, "k3"));
-
- return leafSetBuilder.build();
+ private static @NonNull LeafSetNode<Object> createLeafRefLeafListNode() {
+ return Builders.leafSetBuilder()
+ .withNodeIdentifier(new NodeIdentifier(leafrefLeafList))
+ .addChild(createLeafSetEntry(leafrefLeafList, "k1"))
+ .addChild(createLeafSetEntry(leafrefLeafList, "k2"))
+ .addChild(createLeafSetEntry(leafrefLeafList, "k3"))
+ .build();
}
private static ContainerNode createCon3Node() {
- final CollectionNodeBuilder<MapEntryNode, MapNode> mapBuilder = Builders
- .mapBuilder();
+ final CollectionNodeBuilder<MapEntryNode, SystemMapNode> mapBuilder = Builders.mapBuilder();
mapBuilder.withNodeIdentifier(new NodeIdentifier(list3InChoice));
mapBuilder.addChild(createList3Entry("k1", "val1", "valA", "valX"));
.mapEntryBuilder();
mapEntryBuilder.withNodeIdentifier(NodeIdentifierWithPredicates.of(list3InChoice, k, keyVal));
- final ListNodeBuilder<Object, LeafSetEntryNode<Object>> leafSetBuilder = Builders
- .leafSetBuilder();
+ final ListNodeBuilder<Object, SystemLeafSetNode<Object>> leafSetBuilder = Builders.leafSetBuilder();
leafSetBuilder.withNodeIdentifier(new NodeIdentifier(l3));
leafSetBuilder.addChild(createLeafSetEntry(l3, l3Val1));
private static ChoiceNode createChoiceNode() {
- final CollectionNodeBuilder<MapEntryNode, MapNode> listInChoiceBuilder = Builders
- .mapBuilder();
- listInChoiceBuilder
- .withNodeIdentifier(new NodeIdentifier(listInChoice));
+ final CollectionNodeBuilder<MapEntryNode, SystemMapNode> listInChoiceBuilder = Builders.mapBuilder();
+ listInChoiceBuilder.withNodeIdentifier(new NodeIdentifier(listInChoice));
- listInChoiceBuilder.addChild(createListInChoiceEntry("key1",
- "leafref-in-choice value", "val1"));
- listInChoiceBuilder.addChild(createListInChoiceEntry("key2",
- "l1 value", "val2"));
- listInChoiceBuilder.addChild(createListInChoiceEntry("key3",
- "l1 value", "val3"));
+ listInChoiceBuilder.addChild(createListInChoiceEntry("key1", "leafref-in-choice value", "val1"));
+ listInChoiceBuilder.addChild(createListInChoiceEntry("key2", "l1 value", "val2"));
+ listInChoiceBuilder.addChild(createListInChoiceEntry("key3", "l1 value", "val3"));
- final DataContainerNodeBuilder<NodeIdentifier, ChoiceNode> choice2Builder = Builders
- .choiceBuilder();
+ final DataContainerNodeBuilder<NodeIdentifier, ChoiceNode> choice2Builder = Builders.choiceBuilder();
choice2Builder.withNodeIdentifier(new NodeIdentifier(ch2));
choice2Builder.addChild(listInChoiceBuilder.build());
- final DataContainerNodeBuilder<NodeIdentifier, ChoiceNode> choiceBuilder = Builders
- .choiceBuilder();
+ final DataContainerNodeBuilder<NodeIdentifier, ChoiceNode> choiceBuilder = Builders.choiceBuilder();
choiceBuilder.withNodeIdentifier(new NodeIdentifier(ch1));
choiceBuilder.addChild(choice2Builder.build());
private static ContainerNode createContributorContainer(
final ContainerSchemaNode contributorContSchemaNode) {
- final ListSchemaNode contributorListSchemaNode = (ListSchemaNode) contributorContSchemaNode
- .findDataChildByName(contributor).get();
+ final ListSchemaNode contributorListSchemaNode =
+ (ListSchemaNode) contributorContSchemaNode.findDataChildByName(contributor).get();
- final DataContainerNodeBuilder<NodeIdentifier, ContainerNode> contributorContainerBldr = Builders
- .containerBuilder(contributorContSchemaNode);
+ final DataContainerNodeBuilder<NodeIdentifier, ContainerNode> contributorContainerBldr =
+ Builders.containerBuilder(contributorContSchemaNode);
- final MapNode contributorMap = createContributorList(contributorListSchemaNode);
+ final SystemMapNode contributorMap = createContributorList(contributorListSchemaNode);
contributorContainerBldr.addChild(contributorMap);
- final ContainerNode contributorContainer = contributorContainerBldr
- .build();
+ final ContainerNode contributorContainer = contributorContainerBldr.build();
return contributorContainer;
}
- private static MapNode createContributorList(
+ private static SystemMapNode createContributorList(
final ListSchemaNode contributorListSchemaNode) {
- final CollectionNodeBuilder<MapEntryNode, MapNode> contributorMapBldr = Builders
- .mapBuilder(contributorListSchemaNode);
+ final CollectionNodeBuilder<MapEntryNode, SystemMapNode> contributorMapBldr =
+ Builders.mapBuilder(contributorListSchemaNode);
final MapEntryNode contributorMapEntry1 = createContributorListEntry(
"Leader of Yangtools", "Yangtools Leader name", "Yangtools",
contributorMapBldr.addChild(contributorMapEntry7);
contributorMapBldr.addChild(contributorMapEntry8);
- final MapNode contributorMap = contributorMapBldr.build();
-
- return contributorMap;
-
+ return contributorMapBldr.build();
}
private static MapEntryNode createContributorListEntry(
final DataContainerNodeBuilder<NodeIdentifier, ContainerNode> odlProjectContainerBldr = Builders
.containerBuilder(container);
- final MapNode projectMap = createProjectList(projListSchemaNode);
+ final SystemMapNode projectMap = createProjectList(projListSchemaNode);
odlProjectContainerBldr.addChild(projectMap);
final ContainerNode odlProjectContainer = odlProjectContainerBldr
return odlProjectContainer;
}
- private static MapNode createProjectList(
+ private static SystemMapNode createProjectList(
final ListSchemaNode projListSchemaNode) {
- final CollectionNodeBuilder<MapEntryNode, MapNode> projectMapBldr = Builders
+ final CollectionNodeBuilder<MapEntryNode, SystemMapNode> projectMapBldr = Builders
.mapBuilder(projListSchemaNode);
final MapEntryNode projMapEntry1 = createProjectListEntry("Yangtools",
projectMapBldr.addChild(projMapEntry2);
projectMapBldr.addChild(projMapEntry3);
- final MapNode projectMap = projectMapBldr.build();
-
- return projectMap;
+ return projectMapBldr.build();
}
private static MapEntryNode createProjectListEntry(final String nameVal,
final DataContainerNodeBuilder<NodeIdentifier, ContainerNode> contributorContainerBldr = Builders
.containerBuilder(contributorContSchemaNode);
- final MapNode contributorMap = createBasicContributorList(contributorListSchemaNode);
+ final SystemMapNode contributorMap = createBasicContributorList(contributorListSchemaNode);
contributorContainerBldr.addChild(contributorMap);
final ContainerNode contributorContainer = contributorContainerBldr
}
- private static MapNode createBasicContributorList(
+ private static SystemMapNode createBasicContributorList(
final ListSchemaNode contributorListSchemaNode) {
- final CollectionNodeBuilder<MapEntryNode, MapNode> contributorMapBldr = Builders
- .mapBuilder(contributorListSchemaNode);
+ final CollectionNodeBuilder<MapEntryNode, SystemMapNode> contributorMapBldr =
+ Builders.mapBuilder(contributorListSchemaNode);
final MapEntryNode contributorMapEntry1 = createContributorListEntry(
"Leader of Yangtools", "Yangtools Leader name", "Yangtools",
contributorMapBldr.addChild(contributorMapEntry2);
contributorMapBldr.addChild(contributorMapEntry3);
- final MapNode contributorMap = contributorMapBldr.build();
-
- return contributorMap;
+ return contributorMapBldr.build();
}
}