1 package org.opendaylight.controller.md.sal.dom.broker.impl;
3 import static org.junit.Assert.assertNotNull;
6 import org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizer;
7 import org.opendaylight.controller.md.sal.dom.store.impl.TestModel;
8 import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier;
9 import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.NodeIdentifier;
10 import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.NodeIdentifierWithPredicates;
11 import org.opendaylight.yangtools.yang.data.api.Node;
12 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
13 import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
14 import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
15 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
16 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
18 public class DataNormalizerTest {
20 private static final Short OUTER_LIST_ID = (short)10;
22 private static final InstanceIdentifier OUTER_LIST_PATH_LEGACY = InstanceIdentifier.builder(TestModel.TEST_QNAME)
23 .nodeWithKey(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME,OUTER_LIST_ID).build();
25 private static final InstanceIdentifier LEAF_TWO_PATH_LEGACY = InstanceIdentifier.builder(OUTER_LIST_PATH_LEGACY)
26 .node(TestModel.TWO_QNAME).build();
28 private static final ChoiceNode OUTER_CHOICE_ITEM = Builders.choiceBuilder()
29 .withNodeIdentifier(new NodeIdentifier(TestModel.OUTER_CHOICE_QNAME))
30 .withChild(ImmutableNodes.leafNode(TestModel.TWO_QNAME, "two"))
31 .withChild(ImmutableNodes.leafNode(TestModel.THREE_QNAME, "three"))
34 private static final MapEntryNode OUTER_LIST_WITHOUT_CHOICE = Builders.mapEntryBuilder()
35 .withNodeIdentifier(new NodeIdentifierWithPredicates(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME,OUTER_LIST_ID))
36 .withChild(ImmutableNodes.leafNode(TestModel.ID_QNAME, OUTER_LIST_ID))
39 private static final MapEntryNode OUTER_LIST_WITH_CHOICE = Builders.mapEntryBuilder()
40 .withNodeIdentifier(new NodeIdentifierWithPredicates(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME,OUTER_LIST_ID))
41 .withChild(ImmutableNodes.leafNode(TestModel.ID_QNAME, OUTER_LIST_ID))
42 .withChild(OUTER_CHOICE_ITEM)
47 SchemaContext testCtx = TestModel.createTestContext();
48 DataNormalizer normalizer = new DataNormalizer(testCtx);
50 InstanceIdentifier normalizedPath = normalizer.toNormalized(LEAF_TWO_PATH_LEGACY);
52 Node<?> outerListLegacy = DataNormalizer.toLegacy(OUTER_LIST_WITH_CHOICE);
53 assertNotNull(outerListLegacy);