X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fimpl%2FNodeUtils.java;h=0eed26806c9ccb0d382d608a014e9feb0e0c2b42;hb=ece16db3db0f3599ee0ab92899ac42316414e032;hp=31ab5fdbb2b0f42e822fc7080add4b2f83b404e3;hpb=20a26f7fdcf0e097c428972040b85408c62b42b7;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/NodeUtils.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/NodeUtils.java index 31ab5fdbb2..0eed26806c 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/NodeUtils.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/NodeUtils.java @@ -7,6 +7,12 @@ */ package org.opendaylight.yangtools.yang.data.impl; +import com.google.common.base.Function; +import com.google.common.base.Joiner; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; + import java.util.AbstractMap.SimpleEntry; import java.util.ArrayList; import java.util.HashMap; @@ -37,17 +43,19 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.w3c.dom.Element; -import com.google.common.base.Joiner; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; - /** * @author michal.rehak * */ public abstract class NodeUtils { - + private static final Joiner DOT_JOINER = Joiner.on("."); private static final Logger LOG = LoggerFactory.getLogger(NodeUtils.class); + private static final Function LOCALNAME_FUNCTION = new Function() { + @Override + public String apply(final QName input) { + return input.getLocalName(); + } + }; /** * @@ -66,7 +74,7 @@ public abstract class NodeUtils { tmpNode = tmpNode.getParent(); } - return Joiner.on(".").join(breadCrumbs); + return DOT_JOINER.join(breadCrumbs); } /** @@ -177,7 +185,7 @@ public abstract class NodeUtils { while (!jobQueue.isEmpty()) { DataSchemaNode dataSchema = jobQueue.pop(); if (dataSchema instanceof ListSchemaNode) { - mapOfLists.put(schemaPathToPath(dataSchema.getPath().getPath()), (ListSchemaNode) dataSchema); + mapOfLists.put(schemaPathToPath(dataSchema.getPath().getPathFromRoot()), (ListSchemaNode) dataSchema); } if (dataSchema instanceof DataNodeContainer) { @@ -192,12 +200,8 @@ public abstract class NodeUtils { * @param qNamesPath * @return path */ - private static String schemaPathToPath(final List qNamesPath) { - List pathSeed = new ArrayList<>(); - for (QName qNameItem : qNamesPath) { - pathSeed.add(qNameItem.getLocalName()); - } - return Joiner.on(".").join(pathSeed); + private static String schemaPathToPath(final Iterable qNamesPath) { + return DOT_JOINER.join(Iterables.transform(qNamesPath, LOCALNAME_FUNCTION)); } /**