From 8d801bffab680752d5c8ac4243197800c0cc323d Mon Sep 17 00:00:00 2001 From: Laszlo Hornyak Date: Sun, 9 Feb 2014 21:27:28 +0100 Subject: [PATCH] Replaced String concatenation in loop Replaced String concatenation in loop with StringBuilder Unit test added Signed-off-by: Laszlo Hornyak --- utils/src/com/cloud/utils/StringUtils.java | 8 ++++---- utils/test/com/cloud/utils/StringUtilsTest.java | 11 +++++++++++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/utils/src/com/cloud/utils/StringUtils.java b/utils/src/com/cloud/utils/StringUtils.java index 38d1369432e..21993a66821 100644 --- a/utils/src/com/cloud/utils/StringUtils.java +++ b/utils/src/com/cloud/utils/StringUtils.java @@ -95,17 +95,17 @@ public class StringUtils { */ public static String listToCsvTags(List tagsList) { - String tags = ""; + StringBuilder tags = new StringBuilder(); if (tagsList.size() > 0) { for (int i = 0; i < tagsList.size(); i++) { - tags += tagsList.get(i); + tags.append(tagsList.get(i)); if (i != tagsList.size() - 1) { - tags += ","; + tags.append(','); } } } - return tags; + return tags.toString(); } public static String getExceptionStackInfo(Throwable e) { diff --git a/utils/test/com/cloud/utils/StringUtilsTest.java b/utils/test/com/cloud/utils/StringUtilsTest.java index cc22f9db7a9..af7e4e3e84f 100644 --- a/utils/test/com/cloud/utils/StringUtilsTest.java +++ b/utils/test/com/cloud/utils/StringUtilsTest.java @@ -18,6 +18,11 @@ package com.cloud.utils; import static org.junit.Assert.assertEquals; +import java.util.ArrayList; +import java.util.Arrays; + +import junit.framework.Assert; + import org.junit.Test; public class StringUtilsTest { @@ -216,4 +221,10 @@ public class StringUtilsTest { String result = StringUtils.cleanString(input); assertEquals(result, expected); } + + @Test + public void listToCsvTags() { + Assert.assertEquals("a,b,c", StringUtils.listToCsvTags(Arrays.asList("a","b", "c"))); + Assert.assertEquals("", StringUtils.listToCsvTags(new ArrayList())); + } }