From cc2af31ea079c744a0cc76c562417051214914cb Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 26 Jan 2015 15:07:13 +0100 Subject: [PATCH 1/1] Optimize PathUtils.toYangInstanceIdentifier() Instead of using String-bases split, use a guava splitter. Change-Id: I6eb184d5e3a3ece93588267ba231a42b90d6bb9d Signed-off-by: Robert Varga --- .../cluster/datastore/node/utils/PathUtils.java | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/PathUtils.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/PathUtils.java index 6cdddfd271..902851041a 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/PathUtils.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/PathUtils.java @@ -10,15 +10,16 @@ package org.opendaylight.controller.cluster.datastore.node.utils; -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; - +import com.google.common.base.Splitter; import java.util.ArrayList; 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.YangInstanceIdentifier; public class PathUtils { + private static final Splitter SLASH_SPLITTER = Splitter.on('/').omitEmptyStrings(); /** * Given a YangInstanceIdentifier return a serialized version of the same @@ -70,13 +71,9 @@ public class PathUtils { * @return */ public static YangInstanceIdentifier toYangInstanceIdentifier(String path){ - String[] segments = path.split("/"); - List pathArguments = new ArrayList<>(); - for (String segment : segments) { - if (!"".equals(segment)) { - pathArguments.add(NodeIdentifierFactory.getArgument(segment)); - } + for (String segment : SLASH_SPLITTER.split(path)) { + pathArguments.add(NodeIdentifierFactory.getArgument(segment)); } return YangInstanceIdentifier.create(pathArguments); } -- 2.36.6