From cf1a8da1f3ee11170ce05611d85d15b1aceed8e8 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sat, 26 Jul 2014 06:06:52 +0200 Subject: [PATCH] Allow getChildNodes() to become a Collection Preparatory patch for yangtools change -- getChildNodes() will start returning a Collection, not a Set. Change-Id: Ie7255757e3f48465e3acd9e65764f1b79a3a9511 Signed-off-by: Robert Varga --- .../yangjmxgenerator/ModuleMXBeanEntryBuilder.java | 11 +++++------ .../config/yangjmxgenerator/RuntimeBeanEntry.java | 2 +- .../binding/impl/BindingToNormalizedNodeCodec.java | 6 +++--- .../sal/dom/broker/util/YangSchemaUtils.java | 3 +-- .../connect/netconf/util/NodeContainerProxy.java | 5 +++-- .../cluster/datastore/util/EncoderDecoderUtil.java | 3 +-- .../util/NormalizedNodeXmlConverterTest.java | 2 +- .../controller/sal/rest/impl/JsonMapper.java | 5 +++-- .../sal/restconf/impl/ControllerContext.java | 7 ++++--- .../sal/rest/doc/impl/BaseYangSwaggerGenerator.java | 6 +++--- .../sal/rest/doc/impl/ModelGenerator.java | 13 +++++-------- .../cli/commands/output/OutputDefinition.java | 5 ++--- 12 files changed, 32 insertions(+), 36 deletions(-) diff --git a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/ModuleMXBeanEntryBuilder.java b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/ModuleMXBeanEntryBuilder.java index d8c5a56fb7..518a11540e 100644 --- a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/ModuleMXBeanEntryBuilder.java +++ b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/ModuleMXBeanEntryBuilder.java @@ -130,7 +130,7 @@ final class ModuleMXBeanEntryBuilder { Map result = new HashMap<>(); for (AugmentationSchema augmentation : currentModule.getAugmentations()) { - Set childNodes = augmentation.getChildNodes(); + Collection childNodes = augmentation.getChildNodes(); if (areAllChildrenChoiceCaseNodes(childNodes)) { for (ChoiceCaseNode childCase : castChildNodesToChoiceCases(childNodes)) { // TODO refactor, extract to standalone builder class @@ -215,7 +215,7 @@ final class ModuleMXBeanEntryBuilder { return moduleIdentities; } - private Collection castChildNodesToChoiceCases(final Set childNodes) { + private Collection castChildNodesToChoiceCases(final Collection childNodes) { return Collections2.transform(childNodes, new Function() { @Nullable @Override @@ -225,7 +225,7 @@ final class ModuleMXBeanEntryBuilder { }); } - private boolean areAllChildrenChoiceCaseNodes(final Set childNodes) { + private boolean areAllChildrenChoiceCaseNodes(final Iterable childNodes) { for (DataSchemaNode childNode : childNodes) { if (childNode instanceof ChoiceCaseNode == false) { return false; @@ -388,7 +388,7 @@ final class ModuleMXBeanEntryBuilder { * @return either choiceCaseNode or its only child container */ private HAS_CHILDREN_AND_QNAME getDataNodeContainer(final ChoiceCaseNode choiceCaseNode) { - Set childNodes = choiceCaseNode.getChildNodes(); + Collection childNodes = choiceCaseNode.getChildNodes(); if (childNodes.size() == 1) { DataSchemaNode onlyChild = childNodes.iterator().next(); if (onlyChild instanceof ContainerSchemaNode) { @@ -406,8 +406,7 @@ final class ModuleMXBeanEntryBuilder { final TypeProviderWrapper typeProviderWrapper, final Map qNamesToSIEs, final SchemaContext schemaContext, final String packageName) { Map yangToAttributes = new HashMap<>(); - Set childNodes = dataNodeContainer.getChildNodes(); - for (DataSchemaNode attrNode : childNodes) { + for (DataSchemaNode attrNode : dataNodeContainer.getChildNodes()) { AttributeIfc attributeValue = getAttributeValue(attrNode, currentModule, qNamesToSIEs, typeProviderWrapper, schemaContext, packageName); yangToAttributes.put(attributeValue.getAttributeYangName(), attributeValue); diff --git a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/RuntimeBeanEntry.java b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/RuntimeBeanEntry.java index 23b071c817..67f624175b 100644 --- a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/RuntimeBeanEntry.java +++ b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/RuntimeBeanEntry.java @@ -332,7 +332,7 @@ public class RuntimeBeanEntry { } } - private static Collection sortAttributes(final Set childNodes) { + private static Collection sortAttributes(final Collection childNodes) { final TreeSet dataSchemaNodes = new TreeSet<>(new Comparator() { @Override public int compare(final DataSchemaNode o1, final DataSchemaNode o2) { diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingToNormalizedNodeCodec.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingToNormalizedNodeCodec.java index f8c1cf6b99..b4b9e314be 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingToNormalizedNodeCodec.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingToNormalizedNodeCodec.java @@ -9,6 +9,7 @@ package org.opendaylight.controller.md.sal.binding.impl; import java.lang.reflect.Method; import java.util.AbstractMap.SimpleEntry; +import java.util.Collection; import java.util.HashSet; import java.util.Iterator; import java.util.Map.Entry; @@ -406,9 +407,8 @@ public class BindingToNormalizedNodeCodec implements SchemaContextListener { return Iterables.filter(augmentations, new Predicate() { @Override public boolean apply(final AugmentationSchema schema) { - final Set childNodes = schema.getChildNodes(); - return !schema.getChildNodes().isEmpty() - && module.equals(Iterables.get(childNodes, 0).getQName().getModule()); + final Collection childNodes = schema.getChildNodes(); + return !childNodes.isEmpty() && module.equals(Iterables.get(childNodes, 0).getQName().getModule()); } }); } 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 29392dc7b3..cd1a792d67 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 @@ -92,8 +92,7 @@ public final class YangSchemaUtils { } private static DataSchemaNode searchInChoices(final DataNodeContainer node, final QName arg) { - Set children = node.getChildNodes(); - for (DataSchemaNode child : children) { + for (DataSchemaNode child : node.getChildNodes()) { if (child instanceof ChoiceNode) { ChoiceNode choiceNode = (ChoiceNode) child; DataSchemaNode potential = searchInCases(choiceNode, arg); diff --git a/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/util/NodeContainerProxy.java b/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/util/NodeContainerProxy.java index bd075d0606..1896e69f32 100644 --- a/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/util/NodeContainerProxy.java +++ b/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/util/NodeContainerProxy.java @@ -10,6 +10,7 @@ package org.opendaylight.controller.sal.connect.netconf.util; import com.google.common.base.Preconditions; import com.google.common.collect.Maps; import com.google.common.collect.Sets; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; @@ -36,11 +37,11 @@ class NodeContainerProxy implements ContainerSchemaNode { this.qName = Preconditions.checkNotNull(qName, "qName"); } - public NodeContainerProxy(final QName qName, final Set childNodes) { + public NodeContainerProxy(final QName qName, final Collection childNodes) { this(qName, asMap(childNodes)); } - private static Map asMap(final Set childNodes) { + private static Map asMap(final Collection childNodes) { final Map mapped = Maps.newHashMap(); for (final DataSchemaNode childNode : childNodes) { mapped.put(childNode.getQName(), childNode); diff --git a/opendaylight/md-sal/sal-protocolbuffer-encoding/src/main/java/org/opendaylight/controller/cluster/datastore/util/EncoderDecoderUtil.java b/opendaylight/md-sal/sal-protocolbuffer-encoding/src/main/java/org/opendaylight/controller/cluster/datastore/util/EncoderDecoderUtil.java index 41eb2e6f92..8e0e85cabb 100644 --- a/opendaylight/md-sal/sal-protocolbuffer-encoding/src/main/java/org/opendaylight/controller/cluster/datastore/util/EncoderDecoderUtil.java +++ b/opendaylight/md-sal/sal-protocolbuffer-encoding/src/main/java/org/opendaylight/controller/cluster/datastore/util/EncoderDecoderUtil.java @@ -31,7 +31,6 @@ import java.io.ByteArrayInputStream; import java.io.StringWriter; import java.util.Collections; import java.util.List; -import java.util.Set; /* * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. @@ -57,7 +56,7 @@ public class EncoderDecoderUtil { factory.setIgnoringComments(true); } - private static DataSchemaNode findChildNode(Set children, + private static DataSchemaNode findChildNode(Iterable children, String name) { List containers = Lists.newArrayList(); diff --git a/opendaylight/md-sal/sal-protocolbuffer-encoding/src/test/java/org/opendaylight/controller/cluster/datastore/util/NormalizedNodeXmlConverterTest.java b/opendaylight/md-sal/sal-protocolbuffer-encoding/src/test/java/org/opendaylight/controller/cluster/datastore/util/NormalizedNodeXmlConverterTest.java index 28e358a06a..8d609823a7 100644 --- a/opendaylight/md-sal/sal-protocolbuffer-encoding/src/test/java/org/opendaylight/controller/cluster/datastore/util/NormalizedNodeXmlConverterTest.java +++ b/opendaylight/md-sal/sal-protocolbuffer-encoding/src/test/java/org/opendaylight/controller/cluster/datastore/util/NormalizedNodeXmlConverterTest.java @@ -113,7 +113,7 @@ public class NormalizedNodeXmlConverterTest { + childNodeName); } - static DataSchemaNode findChildNode(final Set children, final String name) { + static DataSchemaNode findChildNode(final Iterable children, final String name) { List containers = Lists.newArrayList(); for (DataSchemaNode dataSchemaNode : children) { diff --git a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/JsonMapper.java b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/JsonMapper.java index 4b4cef9f70..cd2d91559b 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/JsonMapper.java +++ b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/JsonMapper.java @@ -13,6 +13,7 @@ import com.google.common.base.Preconditions; import com.google.gson.stream.JsonWriter; import java.io.IOException; import java.net.URI; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -83,7 +84,7 @@ class JsonMapper { final Set foundLists = new HashSet<>(); - Set parentSchemaChildNodes = parentSchema == null ? Collections. emptySet() + Collection parentSchemaChildNodes = parentSchema == null ? Collections. emptySet() : parentSchema.getChildNodes(); for (Node child : parent.getValue()) { @@ -170,7 +171,7 @@ class JsonMapper { } } - private static DataSchemaNode findFirstSchemaForNode(final Node node, final Set dataSchemaNode) { + private static DataSchemaNode findFirstSchemaForNode(final Node node, final Iterable dataSchemaNode) { for (DataSchemaNode dsn : dataSchemaNode) { if (node.getNodeType().equals(dsn.getQName())) { return dsn; diff --git a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/ControllerContext.java b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/ControllerContext.java index 29672f39d4..ebf0fd896a 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/ControllerContext.java +++ b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/ControllerContext.java @@ -18,6 +18,7 @@ import com.google.common.collect.BiMap; import com.google.common.collect.FluentIterable; import com.google.common.collect.HashBiMap; import com.google.common.collect.Iterables; + import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URLDecoder; @@ -31,7 +32,9 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; + import javax.ws.rs.core.Response.Status; + import org.opendaylight.controller.sal.core.api.mount.MountInstance; import org.opendaylight.controller.sal.core.api.mount.MountService; import org.opendaylight.controller.sal.rest.api.Draft02; @@ -721,8 +724,6 @@ public class ControllerContext implements SchemaContextListener { private void collectInstanceDataNodeContainers(final List potentialSchemaNodes, final DataNodeContainer container, final String name) { - Set childNodes = container.getChildNodes(); - Predicate filter = new Predicate() { @Override public boolean apply(final DataSchemaNode node) { @@ -730,7 +731,7 @@ public class ControllerContext implements SchemaContextListener { } }; - Iterable nodes = Iterables.filter(childNodes, filter); + Iterable nodes = Iterables.filter(container.getChildNodes(), filter); // Can't combine this loop with the filter above because the filter is // lazily-applied by Iterables.filter. diff --git a/opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/impl/BaseYangSwaggerGenerator.java b/opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/impl/BaseYangSwaggerGenerator.java index 68d31de8da..5ba8b26bc1 100644 --- a/opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/impl/BaseYangSwaggerGenerator.java +++ b/opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/impl/BaseYangSwaggerGenerator.java @@ -14,6 +14,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.Date; @@ -161,7 +162,7 @@ public class BaseYangSwaggerGenerator { List apis = new ArrayList(); - Set dataSchemaNodes = m.getChildNodes(); + Collection dataSchemaNodes = m.getChildNodes(); _logger.debug("child nodes size [{}]", dataSchemaNodes.size()); for (DataSchemaNode node : dataSchemaNodes) { if ((node instanceof ListSchemaNode) || (node instanceof ContainerSchemaNode)) { @@ -240,9 +241,8 @@ public class BaseYangSwaggerGenerator { apis.add(api); if ((node instanceof ListSchemaNode) || (node instanceof ContainerSchemaNode)) { DataNodeContainer schemaNode = (DataNodeContainer) node; - Set dataSchemaNodes = schemaNode.getChildNodes(); - for (DataSchemaNode childNode : dataSchemaNodes) { + for (DataSchemaNode childNode : schemaNode.getChildNodes()) { // We don't support going to leaf nodes today. Only lists and // containers. if (childNode instanceof ListSchemaNode || childNode instanceof ContainerSchemaNode) { diff --git a/opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/impl/ModelGenerator.java b/opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/impl/ModelGenerator.java index 8bac0d211e..95bb1a0943 100644 --- a/opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/impl/ModelGenerator.java +++ b/opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/impl/ModelGenerator.java @@ -126,9 +126,8 @@ public class ModelGenerator { JSONException { String moduleName = module.getName(); - Set childNodes = module.getChildNodes(); - for (DataSchemaNode childNode : childNodes) { + for (DataSchemaNode childNode : module.getChildNodes()) { JSONObject configModuleJSON = null; JSONObject operationalModuleJSON = null; @@ -271,13 +270,12 @@ public class ModelGenerator { String containerDescription = container.getDescription(); moduleJSON.put(DESCRIPTION_KEY, containerDescription); - Set containerChildren = container.getChildNodes(); - JSONObject properties = processChildren(containerChildren, moduleName, models, isConfig); + JSONObject properties = processChildren(container.getChildNodes(), moduleName, models, isConfig); moduleJSON.put(PROPERTIES_KEY, properties); return moduleJSON; } - private JSONObject processChildren(Set nodes, String moduleName, + private JSONObject processChildren(Iterable nodes, String moduleName, JSONObject models) throws JSONException, IOException { return processChildren(nodes, moduleName, models, null); } @@ -292,7 +290,7 @@ public class ModelGenerator { * @throws JSONException * @throws IOException */ - private JSONObject processChildren(Set nodes, String moduleName, + private JSONObject processChildren(Iterable nodes, String moduleName, JSONObject models, Boolean isConfig) throws JSONException, IOException { JSONObject properties = new JSONObject(); @@ -418,11 +416,10 @@ public class ModelGenerator { private JSONObject processListSchemaNode(ListSchemaNode listNode, String moduleName, JSONObject models, Boolean isConfig) throws JSONException, IOException { - Set listChildren = listNode.getChildNodes(); String fileName = (BooleanUtils.isNotFalse(isConfig)?OperationBuilder.CONFIG:OperationBuilder.OPERATIONAL) + listNode.getQName().getLocalName(); - JSONObject childSchemaProperties = processChildren(listChildren, moduleName, models); + JSONObject childSchemaProperties = processChildren(listNode.getChildNodes(), moduleName, models); JSONObject childSchema = getSchemaTemplate(); childSchema.put(TYPE_KEY, OBJECT_TYPE); childSchema.put(PROPERTIES_KEY, childSchemaProperties); diff --git a/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/commands/output/OutputDefinition.java b/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/commands/output/OutputDefinition.java index 66d0d4da46..42afb160a8 100644 --- a/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/commands/output/OutputDefinition.java +++ b/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/commands/output/OutputDefinition.java @@ -10,7 +10,6 @@ package org.opendaylight.controller.netconf.cli.commands.output; import com.google.common.base.Preconditions; import java.util.Collections; import java.util.Iterator; -import java.util.Set; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; @@ -20,9 +19,9 @@ import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; public class OutputDefinition implements Iterable { public static final OutputDefinition EMPTY_OUTPUT = new OutputDefinition(Collections.emptySet()); - private final Set childNodes; + private final Iterable childNodes; - public OutputDefinition(final Set childNodes) { + public OutputDefinition(final Iterable childNodes) { this.childNodes = childNodes; } -- 2.36.6