From cefd99f6c45dbcb3e2311b1a1c603de3cc939a8f Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Tue, 14 Feb 2017 17:45:06 +0100 Subject: [PATCH] Changed join method parameters to add a generic new one --- src/zutil/StringUtil.java | 14 ++++++++++++-- src/zutil/db/DBUpgradeHandler.java | 2 +- test/zutil/StringUtilTest.java | 10 ++++++---- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/zutil/StringUtil.java b/src/zutil/StringUtil.java index d4ed203..af0e81c 100755 --- a/src/zutil/StringUtil.java +++ b/src/zutil/StringUtil.java @@ -25,6 +25,7 @@ package zutil; import java.util.ArrayList; +import java.util.Arrays; import java.util.Iterator; import java.util.List; @@ -128,12 +129,21 @@ public class StringUtil { return str.reverse().toString(); } + + /** + * @param delimiter a String delimiter that will be added between every entry in the list + * @param array a array of object that toString() will be called on + * @return a String containing all entries in the list with the specified delimiter in between entries + */ + public static String join(String delimiter, T... array){ + return join(delimiter, Arrays.asList(array)); + } /** - * @param list a list of object that toString() will be called on * @param delimiter a String delimiter that will be added between every entry in the list + * @param list a list of object that toString() will be called on * @return a String containing all entries in the list with the specified delimiter in between entries */ - public static String join(Iterable list, String delimiter){ + public static String join(String delimiter, Iterable list){ StringBuilder str = new StringBuilder(); Iterator it = list.iterator(); if(it.hasNext()) { diff --git a/src/zutil/db/DBUpgradeHandler.java b/src/zutil/db/DBUpgradeHandler.java index db28e3a..763de7a 100755 --- a/src/zutil/db/DBUpgradeHandler.java +++ b/src/zutil/db/DBUpgradeHandler.java @@ -206,7 +206,7 @@ public class DBUpgradeHandler { // Restoring data logger.fine(String.format("Forced Upgrade: Restoring data for table: '%s'", table)); - String cols = StringUtil.join(refStruct, ","); + String cols = StringUtil.join(",", refStruct); target.exec(String.format( "INSERT INTO %s (%s) SELECT %s FROM %s", table, cols, cols, backupTable)); diff --git a/test/zutil/StringUtilTest.java b/test/zutil/StringUtilTest.java index a060d15..b8300bf 100755 --- a/test/zutil/StringUtilTest.java +++ b/test/zutil/StringUtilTest.java @@ -72,9 +72,11 @@ public class StringUtilTest { @Test public void joinTest(){ - assertEquals("", StringUtil.join(Arrays.asList(), ",")); - assertEquals("1,2,3,4,5", StringUtil.join(Arrays.asList(1,2,3,4,5), ",")); - assertEquals("animal,monkey,dog", StringUtil.join(Arrays.asList("animal", "monkey", "dog"), ",")); - assertEquals("12345", StringUtil.join(Arrays.asList(1,2,3,4,5), "")); + assertEquals("", StringUtil.join(",", Arrays.asList())); + assertEquals("1,2,3,4,5", StringUtil.join(",", 1,2,3,4,5)); + assertEquals("1,2,3,4,5", StringUtil.join(",", Arrays.asList(1,2,3,4,5))); + assertEquals("animal,monkey,dog", StringUtil.join(",", "animal", "monkey", "dog")); + assertEquals("animal,monkey,dog", StringUtil.join(",", Arrays.asList("animal", "monkey", "dog"))); + assertEquals("12345", StringUtil.join("", 1,2,3,4,5)); } }