Adapt to enabling error level for the StringSplitter bug pattern Fix the current issues so that the build continues to work. When replacing String#split(String) with Splitter.on(String).splitToList(String) one has to take into account that the former method expects a regular expression while the latter one expects a separator string. Bug: Issue 15077 Signed-off-by: Edwin Kempin <ekempin@google.com> Change-Id: Ied671f0e72c24a5a33ca5d167d1a1ccfcce27e5b
diff --git a/src/main/java/com/googlesource/gerrit/plugins/manager/GerritVersionBranch.java b/src/main/java/com/googlesource/gerrit/plugins/manager/GerritVersionBranch.java index ab75730..812f51b 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/manager/GerritVersionBranch.java +++ b/src/main/java/com/googlesource/gerrit/plugins/manager/GerritVersionBranch.java
@@ -14,7 +14,12 @@ package com.googlesource.gerrit.plugins.manager; +import com.google.common.base.Splitter; +import java.util.List; + public class GerritVersionBranch { + private static final Splitter VERSION_SPLITTER = Splitter.on("."); + private static final Splitter MINOR_VERSION_SPLITTER = Splitter.on("-"); public static String getBranch(String gerritVersion) { if (gerritVersion == null @@ -22,16 +27,16 @@ || !Character.isDigit(gerritVersion.trim().charAt(0))) { return "master"; } - String[] versionNumbers = gerritVersion.split("\\."); - String major = versionNumbers[0]; - String minor = versionNumbers[1]; + List<String> versionNumbers = VERSION_SPLITTER.splitToList(gerritVersion); + String major = versionNumbers.get(0); + String minor = versionNumbers.get(1); if (minor.contains("-")) { - minor = minor.split("-")[0]; + minor = MINOR_VERSION_SPLITTER.splitToList(minor).get(0); } - if (versionNumbers.length > 2) { - String fixVersionNumber = versionNumbers[2]; + if (versionNumbers.size() > 2) { + String fixVersionNumber = versionNumbers.get(2); if (fixVersionNumber.contains("-") && !fixVersionNumber.contains("-rc")) { return "master"; }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/manager/PluginsCentralLoader.java b/src/main/java/com/googlesource/gerrit/plugins/manager/PluginsCentralLoader.java index c9381dc..e465e54 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/manager/PluginsCentralLoader.java +++ b/src/main/java/com/googlesource/gerrit/plugins/manager/PluginsCentralLoader.java
@@ -14,6 +14,7 @@ package com.googlesource.gerrit.plugins.manager; +import com.google.common.base.Splitter; import com.google.common.cache.CacheLoader; import com.google.gerrit.common.Version; import com.google.gerrit.extensions.registration.DynamicSet; @@ -24,10 +25,12 @@ import com.googlesource.gerrit.plugins.manager.repository.PluginsRepository; import java.util.Collection; import java.util.HashMap; +import java.util.List; import java.util.Map; @Singleton public class PluginsCentralLoader extends CacheLoader<ListKey, Collection<PluginInfo>> { + private static final Splitter VERSION_SPLITTER = Splitter.on("."); public static class ListKey { static final ListKey ALL = new ListKey(); @@ -65,18 +68,18 @@ } private boolean isLaterVersion(String newVersion, String currVersion) { - String[] vals1 = newVersion.replaceAll("-", ".").split("\\."); - String[] vals2 = currVersion.replaceAll("-", ".").split("\\."); + List<String> vals1 = VERSION_SPLITTER.splitToList(newVersion.replaceAll("-", ".")); + List<String> vals2 = VERSION_SPLITTER.splitToList(currVersion.replaceAll("-", ".")); int i = 0; - while (i < vals1.length && i < vals2.length && vals1[i].equals(vals2[i])) { + while (i < vals1.size() && i < vals2.size() && vals1.get(i).equals(vals2.get(i))) { i++; } - if (i < vals1.length && i < vals2.length) { - return compareNumOrStrings(vals1[i], vals2[i]) > 0; + if (i < vals1.size() && i < vals2.size()) { + return compareNumOrStrings(vals1.get(i), vals2.get(i)) > 0; } - return vals1.length - vals2.length > 0; + return vals1.size() - vals2.size() > 0; } private int compareNumOrStrings(String v1, String v2) {