X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fdom%2Fbroker%2Futil%2FYangSchemaUtils.java;h=ad759a797644dcb69d256191be894b141cad9266;hp=7f150626c08b3eca26e2d07797aa70cf519a7667;hb=eaaae518f5ca0b7d90be2c614891628e2a9ded0f;hpb=405ea7ce68d22bd3d2501857c5253793b581b086 diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/util/YangSchemaUtils.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/util/YangSchemaUtils.java index 7f150626c0..ad759a7976 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/util/YangSchemaUtils.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/util/YangSchemaUtils.java @@ -7,17 +7,22 @@ */ package org.opendaylight.controller.sal.dom.broker.util; +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkState; + +import com.google.common.base.Function; +import com.google.common.collect.FluentIterable; import java.util.Iterator; import java.util.List; import java.util.Set; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; 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.ConstraintDefinition; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.DataNodeContainer; @@ -31,19 +36,13 @@ import org.opendaylight.yangtools.yang.model.api.Status; 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.api.YangNode; - -import static com.google.common.base.Preconditions.*; - -import com.google.common.base.Function; -import com.google.common.collect.FluentIterable; -public class YangSchemaUtils { +public final class YangSchemaUtils { private static final Function QNAME_FROM_PATH_ARGUMENT = new Function(){ - + @Override - public QName apply(PathArgument input) { + public QName apply(final PathArgument input) { if(input == null) { return null; } @@ -51,29 +50,28 @@ public class YangSchemaUtils { } }; - private YangSchemaUtils() { + private YangSchemaUtils() { throw new UnsupportedOperationException("Utility class."); } - - - public static DataSchemaNode getSchemaNode(SchemaContext schema,InstanceIdentifier path) { + + public static DataSchemaNode getSchemaNode(final SchemaContext schema,final YangInstanceIdentifier path) { checkArgument(schema != null,"YANG Schema must not be null."); checkArgument(path != null,"Path must not be null."); - return getSchemaNode(schema, FluentIterable.from(path.getPath()).transform(QNAME_FROM_PATH_ARGUMENT)); + return getSchemaNode(schema, FluentIterable.from(path.getPathArguments()).transform(QNAME_FROM_PATH_ARGUMENT)); } - - public static DataSchemaNode getSchemaNode(SchemaContext schema,Iterable path) { + + public static DataSchemaNode getSchemaNode(final SchemaContext schema,final Iterable path) { checkArgument(schema != null,"YANG Schema must not be null."); checkArgument(path != null,"Path must not be null."); if(!path.iterator().hasNext()){ return toRootDataNode(schema); } - + QName firstNode = path.iterator().next(); DataNodeContainer previous = schema.findModuleByNamespaceAndRevision(firstNode.getNamespace(), firstNode.getRevision()); Iterator iterator = path.iterator(); - + while (iterator.hasNext()) { checkArgument(previous!= null, "Supplied path does not resolve into valid schema node."); QName arg = iterator.next(); @@ -93,11 +91,10 @@ public class YangSchemaUtils { return (DataSchemaNode) previous; } - private static DataSchemaNode searchInChoices(DataNodeContainer node, QName arg) { - Set children = node.getChildNodes(); - for (DataSchemaNode child : children) { - if (child instanceof ChoiceNode) { - ChoiceNode choiceNode = (ChoiceNode) child; + private static DataSchemaNode searchInChoices(final DataNodeContainer node, final QName arg) { + for (DataSchemaNode child : node.getChildNodes()) { + if (child instanceof ChoiceSchemaNode) { + ChoiceSchemaNode choiceNode = (ChoiceSchemaNode) child; DataSchemaNode potential = searchInCases(choiceNode, arg); if (potential != null) { return potential; @@ -107,7 +104,7 @@ public class YangSchemaUtils { return null; } - private static DataSchemaNode searchInCases(ChoiceNode choiceNode, QName arg) { + private static DataSchemaNode searchInCases(final ChoiceSchemaNode choiceNode, final QName arg) { Set cases = choiceNode.getCases(); for (ChoiceCaseNode caseNode : cases) { DataSchemaNode node = caseNode.getDataChildByName(arg); @@ -118,129 +115,118 @@ public class YangSchemaUtils { return null; } - private static ContainerSchemaNode toRootDataNode(SchemaContext schema) { + private static ContainerSchemaNode toRootDataNode(final SchemaContext schema) { return new NetconfDataRootNode(schema); } private static final class NetconfDataRootNode implements ContainerSchemaNode { - - public NetconfDataRootNode(SchemaContext schema) { + + public NetconfDataRootNode(final SchemaContext schema) { // TODO Auto-generated constructor stub } - public YangNode getParent() { - // TODO Auto-generated method stub - return null; - } - @Override public Set> getTypeDefinitions() { // TODO Auto-generated method stub return null; } - + @Override public Set getChildNodes() { // TODO Auto-generated method stub return null; } - + @Override public Set getGroupings() { // TODO Auto-generated method stub return null; } - - @Override - public DataSchemaNode getDataChildByName(QName name) { - // TODO Auto-generated method stub - return null; - } - + @Override - public DataSchemaNode getDataChildByName(String name) { + public DataSchemaNode getDataChildByName(final QName name) { // TODO Auto-generated method stub return null; } - + @Override public Set getUses() { // TODO Auto-generated method stub return null; } - + @Override public Set getAvailableAugmentations() { // TODO Auto-generated method stub return null; } - + @Override public boolean isAugmenting() { // TODO Auto-generated method stub return false; } - + @Override public boolean isAddedByUses() { // TODO Auto-generated method stub return false; } - + @Override public boolean isConfiguration() { // TODO Auto-generated method stub return false; } - + @Override public ConstraintDefinition getConstraints() { // TODO Auto-generated method stub return null; } - + @Override public QName getQName() { // TODO Auto-generated method stub return null; } - + @Override public SchemaPath getPath() { // TODO Auto-generated method stub return null; } - + @Override public String getDescription() { // TODO Auto-generated method stub return null; } - + @Override public String getReference() { // TODO Auto-generated method stub return null; } - + @Override public Status getStatus() { // TODO Auto-generated method stub return null; } - + @Override public List getUnknownSchemaNodes() { // TODO Auto-generated method stub return null; } - + @Override public boolean isPresenceContainer() { // TODO Auto-generated method stub return false; } - + } }