diff --git a/core/src/main/java/hudson/FilePath.java b/core/src/main/java/hudson/FilePath.java index 216b361c89..ef4867ea0a 100644 --- a/core/src/main/java/hudson/FilePath.java +++ b/core/src/main/java/hudson/FilePath.java @@ -1639,7 +1639,7 @@ public final class FilePath implements SerializableOnlyOverRemoting { } else { s = new String[]{prefix, suffix}; } - String name = StringUtils.join(s, "."); + String name = String.join(".", s); return new FilePath(this, act(new CreateTempDir(name))); } catch (IOException e) { throw new IOException("Failed to create a temp directory on "+remote,e); diff --git a/core/src/main/java/hudson/TcpSlaveAgentListener.java b/core/src/main/java/hudson/TcpSlaveAgentListener.java index 32a8741b9a..e7875e95bd 100644 --- a/core/src/main/java/hudson/TcpSlaveAgentListener.java +++ b/core/src/main/java/hudson/TcpSlaveAgentListener.java @@ -57,7 +57,6 @@ import jenkins.slaves.RemotingVersionInfo; import jenkins.util.SystemProperties; import org.apache.commons.io.IOUtils; import org.apache.commons.io.output.NullOutputStream; -import org.apache.commons.lang.StringUtils; import org.jenkinsci.Symbol; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; @@ -159,7 +158,7 @@ public final class TcpSlaveAgentListener extends Thread { * @since 2.16 */ public String getAgentProtocolNames() { - return StringUtils.join(Jenkins.get().getAgentProtocols(), ", "); + return String.join(", ", Jenkins.get().getAgentProtocols()); } /** diff --git a/core/src/main/java/hudson/logging/LogRecorder.java b/core/src/main/java/hudson/logging/LogRecorder.java index ab82ffdd55..09c7a69cd3 100644 --- a/core/src/main/java/hudson/logging/LogRecorder.java +++ b/core/src/main/java/hudson/logging/LogRecorder.java @@ -72,7 +72,6 @@ import java.util.logging.Logger; import javax.servlet.ServletException; import jenkins.security.MasterToSlaveCallable; import net.sf.json.JSONObject; -import org.apache.commons.lang.StringUtils; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.DataBoundConstructor; @@ -169,7 +168,7 @@ public class LogRecorder extends AbstractModelObject implements Saveable { String longerPrefix = null; for (int i = loggerNameParts.length; i > 0; i--) { - String loggerNamePrefix = StringUtils.join(Arrays.copyOf(loggerNameParts, i), "."); + String loggerNamePrefix = String.join(".", Arrays.copyOf(loggerNameParts, i)); seenPrefixes.put(loggerNamePrefix, seenPrefixes.getOrDefault(loggerNamePrefix, 0) + 1); if (longerPrefix == null) { relevantPrefixes.add(loggerNamePrefix); // actual logger name diff --git a/core/src/main/java/hudson/model/ChoiceParameterDefinition.java b/core/src/main/java/hudson/model/ChoiceParameterDefinition.java index 7d04e5c4b5..286d12505a 100644 --- a/core/src/main/java/hudson/model/ChoiceParameterDefinition.java +++ b/core/src/main/java/hudson/model/ChoiceParameterDefinition.java @@ -130,7 +130,7 @@ public class ChoiceParameterDefinition extends SimpleParameterDefinition { } public String getChoicesText() { - return StringUtils.join(choices, "\n"); + return String.join("\n", choices); } @Override diff --git a/core/src/main/java/hudson/model/Items.java b/core/src/main/java/hudson/model/Items.java index 7811e68225..ddb33a4e85 100644 --- a/core/src/main/java/hudson/model/Items.java +++ b/core/src/main/java/hudson/model/Items.java @@ -278,7 +278,7 @@ public class Items { } name.push(p[i]); } - return StringUtils.join(name, '/'); + return String.join("/", name); } /** @@ -312,7 +312,7 @@ public class Items { newValue.add(relativeName); } } - return StringUtils.join(newValue, ","); + return String.join(",", newValue); } // Had difficulty adapting the version in Functions to use no live items, so rewrote it: diff --git a/core/src/main/java/hudson/model/View.java b/core/src/main/java/hudson/model/View.java index 7347db0834..384034a8a9 100644 --- a/core/src/main/java/hudson/model/View.java +++ b/core/src/main/java/hudson/model/View.java @@ -1131,7 +1131,7 @@ public abstract class View extends AbstractModelObject implements AccessControll metadata.put("iconClassName", iconClassName); if (ctx != null) { Icon icon = IconSet.icons - .getIconByClassSpec(StringUtils.join(new String[]{iconClassName, iconStyle}, " ")); + .getIconByClassSpec(String.join(" ", iconClassName, iconStyle)); if (icon != null) { metadata.put("iconQualifiedUrl", icon.getQualifiedUrl(ctx)); } diff --git a/core/src/main/java/jenkins/model/queue/CompositeCauseOfBlockage.java b/core/src/main/java/jenkins/model/queue/CompositeCauseOfBlockage.java index 9cb04c3bb7..b389d385bb 100644 --- a/core/src/main/java/jenkins/model/queue/CompositeCauseOfBlockage.java +++ b/core/src/main/java/jenkins/model/queue/CompositeCauseOfBlockage.java @@ -29,7 +29,6 @@ import hudson.model.queue.CauseOfBlockage; import java.util.List; import java.util.Map; import java.util.TreeMap; -import org.apache.commons.lang.StringUtils; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; @@ -50,7 +49,7 @@ public class CompositeCauseOfBlockage extends CauseOfBlockage { @Override public String getShortDescription() { - return StringUtils.join(uniqueReasons.keySet(), "; "); + return String.join("; ", uniqueReasons.keySet()); } @Override diff --git a/core/src/main/java/jenkins/tasks/filters/impl/RetainVariablesLocalRule.java b/core/src/main/java/jenkins/tasks/filters/impl/RetainVariablesLocalRule.java index ee867332cf..4419a6e384 100644 --- a/core/src/main/java/jenkins/tasks/filters/impl/RetainVariablesLocalRule.java +++ b/core/src/main/java/jenkins/tasks/filters/impl/RetainVariablesLocalRule.java @@ -163,12 +163,12 @@ public class RetainVariablesLocalRule implements EnvVarsFilterLocalRule { } if (!variablesRemoved.isEmpty()) { - context.getTaskListener().getLogger().println(Messages.RetainVariablesLocalRule_RemovalMessage(getDescriptor().getDisplayName(), StringUtils.join(variablesRemoved.toArray(), ", "))); + context.getTaskListener().getLogger().println(Messages.RetainVariablesLocalRule_RemovalMessage(getDescriptor().getDisplayName(), String.join(", ", variablesRemoved))); } if (!variablesReset.isEmpty()) { // reset the variables using the initial value from System variablesReset.forEach(variableName -> envVars.put(variableName, systemEnvVars.get(variableName))); - context.getTaskListener().getLogger().println(Messages.RetainVariablesLocalRule_ResetMessage(getDescriptor().getDisplayName(), StringUtils.join(variablesReset.toArray(), ", "))); + context.getTaskListener().getLogger().println(Messages.RetainVariablesLocalRule_ResetMessage(getDescriptor().getDisplayName(), String.join(", ", variablesReset))); } } diff --git a/test/src/test/java/jenkins/AgentProtocolTest.java b/test/src/test/java/jenkins/AgentProtocolTest.java index 55925be2d5..ccfdbb9ad2 100644 --- a/test/src/test/java/jenkins/AgentProtocolTest.java +++ b/test/src/test/java/jenkins/AgentProtocolTest.java @@ -30,7 +30,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Set; import jenkins.model.Jenkins; -import org.apache.commons.lang.StringUtils; import org.junit.Rule; import org.junit.Test; import org.jvnet.hudson.test.Issue; @@ -84,9 +83,9 @@ public class AgentProtocolTest { if (!failedChecks.isEmpty()) { String message = String.format("Protocol(s) are not %s: %s. %sEnabled protocols: %s", shouldBeEnabled ? "enabled" : "disabled", - StringUtils.join(failedChecks, ','), + String.join(",", failedChecks), why != null ? "Reason: " + why + ". " : "", - StringUtils.join(agentProtocols, ',')); + String.join(",", agentProtocols)); fail(message); } }