From: Robert Varga Date: Fri, 5 Sep 2014 21:20:06 +0000 (+0200) Subject: BUG-1704: expose proper SchemaNode subclasses X-Git-Tag: release/helium~61^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=60623febb96817ebaddeada57c8de3ff95cb35a3;p=yangtools.git BUG-1704: expose proper SchemaNode subclasses SchemaTracker users may actually need the correct subclasses. Since the tracker already does the proper checks, this is a simple, compatible change. Change-Id: I24e2bb0f7a0598435879d5ed234bc4ab75da571a Signed-off-by: Robert Varga --- diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/SchemaTracker.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/SchemaTracker.java index 39181ae49f..16018df8c3 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/SchemaTracker.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/SchemaTracker.java @@ -139,12 +139,12 @@ public final class SchemaTracker { return (LeafSchemaNode) schema; } - public SchemaNode startLeafSet(final NodeIdentifier name) { + public LeafListSchemaNode startLeafSet(final NodeIdentifier name) { final SchemaNode schema = getSchema(name); Preconditions.checkArgument(schema instanceof LeafListSchemaNode, "Node %s is not a leaf-list", schema.getPath()); schemaStack.push(schema); - return schema; + return (LeafListSchemaNode)schema; } public LeafListSchemaNode leafSetEntryNode() { @@ -154,22 +154,22 @@ public final class SchemaTracker { return (LeafListSchemaNode) parent; } - public SchemaNode startChoiceNode(final NodeIdentifier name) { + public ChoiceNode startChoiceNode(final NodeIdentifier name) { LOG.debug("Enter choice {}", name); final SchemaNode schema = getSchema(name); Preconditions.checkArgument(schema instanceof ChoiceNode, "Node %s is not a choice", schema.getPath()); schemaStack.push(schema); - return schema; + return (ChoiceNode)schema; } - public SchemaNode startContainerNode(final NodeIdentifier name) { + public ContainerSchemaNode startContainerNode(final NodeIdentifier name) { LOG.debug("Enter container {}", name); final SchemaNode schema = getSchema(name); Preconditions.checkArgument(schema instanceof ContainerSchemaNode, "Node %s is not a container", schema.getPath()); schemaStack.push(schema); - return schema; + return (ContainerSchemaNode)schema; } public AugmentationSchema startAugmentationNode(final AugmentationIdentifier identifier) {