X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fstore%2Fimpl%2Ftree%2FStoreUtils.java;h=b634866856b11e810c17bba036bece830a887ba5;hb=83e1c610eeefba667a19c243fbc1098072a8079d;hp=7e783f927d95d9be9f92041074cf6769ef582bac;hpb=a31a4448ea6665317f4af41ae26d804829418c04;p=controller.git diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/StoreUtils.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/StoreUtils.java index 7e783f927d..b634866856 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/StoreUtils.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/StoreUtils.java @@ -7,60 +7,32 @@ */ package org.opendaylight.controller.md.sal.dom.store.impl.tree; -import java.util.Set; - -import org.opendaylight.yangtools.concepts.Identifiable; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.AugmentationIdentifier; import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.NodeIdentifierWithPredicates; import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodeContainer; -import com.google.common.base.Function; import com.google.common.base.Strings; -import com.google.common.collect.FluentIterable; -import com.google.common.collect.ImmutableList; -import com.google.common.primitives.UnsignedLong; +/** + * Data store tree manipulation utilities. + */ public final class StoreUtils { private static final int STRINGTREE_INDENT = 4; - private final static Function, Object> EXTRACT_IDENTIFIER = new Function, Object>() { - @Override - public Object apply(final Identifiable input) { - return input.getIdentifier(); - } - }; - private StoreUtils() { throw new UnsupportedOperationException("Utility class should not be instantiated"); } - /* - * Suppressing warnings here allows us to fool the compiler enough - * such that we can reuse a single function for all applicable types - * and present it in a type-safe manner to our users. + /** + * Convert a data subtree under a node into a human-readable string format. + * + * @param node Data subtree root + * @return String containing a human-readable form of the subtree. */ - @SuppressWarnings({ "unchecked", "rawtypes" }) - public static Function, V> identifierExtractor() { - return (Function) EXTRACT_IDENTIFIER; - } - - public static final UnsignedLong increase(final UnsignedLong original) { - return original.plus(UnsignedLong.ONE); - } - - public static final InstanceIdentifier append(final InstanceIdentifier parent, final PathArgument arg) { - return new InstanceIdentifier(ImmutableList. builder().addAll(parent.getPath()).add(arg).build()); - } - - public static Set toIdentifierSet(final Iterable> children) { - return FluentIterable.from(children).transform(StoreUtils. identifierExtractor()).toSet(); - } - public static String toStringTree(final NormalizedNode node) { - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); toStringTree(builder, node, 0); return builder.toString(); }