import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-
import java.io.File;
import java.io.IOException;
import java.net.URI;
import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode;
import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode;
-import org.opendaylight.yangtools.yang.model.api.ChoiceNode;
+import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
import org.opendaylight.yangtools.yang.model.api.MustDefinition;
import org.opendaylight.yangtools.yang.model.api.SchemaNode;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
+import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
import org.opendaylight.yangtools.yang.model.api.UsesNode;
import org.opendaylight.yangtools.yang.model.parser.api.YangContextParser;
assertFalse(data_u.equals(data_g));
assertEquals(data_g, SchemaNodeUtils.getRootOriginalIfPossible(data_u));
- ChoiceNode how_u = (ChoiceNode) destination.getDataChildByName("how");
+ ChoiceSchemaNode how_u = (ChoiceSchemaNode) destination.getDataChildByName("how");
assertNotNull(how_u);
TestUtils.checkIsAddedByUses(how_u, true);
assertEquals(2, how_u.getCases().size());
- ChoiceNode how_g = (ChoiceNode) grouping.getDataChildByName("how");
+ ChoiceSchemaNode how_g = (ChoiceSchemaNode) grouping.getDataChildByName("how");
assertNotNull(how_g);
TestUtils.checkIsAddedByUses(how_g, false);
assertEquals(2, how_g.getCases().size());
assertFalse(data_u.equals(data_g));
assertEquals(data_g, SchemaNodeUtils.getRootOriginalIfPossible(data_u));
- ChoiceNode how_u = (ChoiceNode) foo.getDataChildByName("how");
+ ChoiceSchemaNode how_u = (ChoiceSchemaNode) foo.getDataChildByName("how");
assertNotNull(how_u);
TestUtils.checkIsAddedByUses(how_u, true);
assertFalse(how_u.isAugmenting());
LeafSchemaNode intervalLeaf = (LeafSchemaNode) interval.getDataChildByName("interval");
assertFalse(intervalLeaf.isAugmenting());
- ChoiceNode how_g = (ChoiceNode) grouping.getDataChildByName("how");
+ ChoiceSchemaNode how_g = (ChoiceSchemaNode) grouping.getDataChildByName("how");
assertNotNull(how_g);
TestUtils.checkIsAddedByUses(how_g, false);
assertFalse(how_u.equals(how_g));
assertEquals(gy.getDataChildByName("leaf-grouping-Y"),SchemaNodeUtils.getRootOriginalIfPossible( gx.getDataChildByName("leaf-grouping-Y")));
}
+ @Test
+ public void testAddedByUsesLeafTypeQName() throws IOException,
+ URISyntaxException {
+
+ Set<Module> loadModules = TestUtils.loadModules(getClass().getResource(
+ "/added-by-uses-leaf-test").toURI());
+
+ assertEquals(2, loadModules.size());
+
+ Module foo = null;
+ Module imp = null;
+ for (Module module : loadModules) {
+ if (module.getName().equals("foo")) {
+ foo = module;
+ }
+ if (module.getName().equals("import-module")) {
+ imp = module;
+ }
+ }
+
+ LeafSchemaNode leaf = (LeafSchemaNode) ((ContainerSchemaNode) foo
+ .getDataChildByName("my-container"))
+ .getDataChildByName("my-leaf");
+
+ TypeDefinition<?> impType = null;
+ Set<TypeDefinition<?>> typeDefinitions = imp.getTypeDefinitions();
+ for (TypeDefinition<?> typeDefinition : typeDefinitions) {
+ if (typeDefinition.getQName().getLocalName().equals("imp-type")) {
+ impType = typeDefinition;
+ break;
+ }
+ }
+
+ assertEquals(leaf.getType().getQName(), impType.getQName());
+
+ }
+
}