From d4498fcafbae5c5b1a002ddfbe1d08abbe0e3c7c Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 26 Jan 2015 15:21:58 +0100 Subject: [PATCH] Optimize PathUtils.toString() - check for empty iterator and return empty string - check iterator.hasNext() only once per iteration - concatenate a single char instead of a string Change-Id: If0769462d74a7df23373d12db5843fd2a217d5a9 Signed-off-by: Robert Varga --- .../datastore/node/utils/PathUtils.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 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 902851041a..930dbceab4 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 @@ -28,17 +28,22 @@ public class PathUtils { * @param path * @return */ - public static String toString(YangInstanceIdentifier path){ - StringBuilder sb = new StringBuilder(); - Iterator iterator = + public static String toString(YangInstanceIdentifier path) { + final Iterator it = path.getPathArguments().iterator(); + if (!it.hasNext()) { + return ""; + } - while(iterator.hasNext()){ - sb.append(toString(iterator.next())); - if(iterator.hasNext()){ - sb.append("/"); + final StringBuilder sb = new StringBuilder(); + for (;;) { + sb.append(toString(it.next())); + if (!it.hasNext()) { + break; } + sb.append('/'); } + return sb.toString(); } -- 2.36.6