From 7fb2511ee827a9f21635384beb4c19279ef3ca6e Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Thu, 25 Feb 2021 17:02:24 -0800 Subject: [PATCH] Use native Java functionality rather than Guava's Lists#newArrayList, Maps#newHashMap, and Sets#newHashSet where possible --- .../main/java/hudson/ClassicPluginStrategy.java | 5 ++--- core/src/main/java/hudson/ExtensionFinder.java | 14 ++++++-------- core/src/main/java/hudson/ExtensionList.java | 3 +-- core/src/main/java/hudson/ProxyConfiguration.java | 4 ++-- .../main/java/hudson/model/ParametersAction.java | 6 ++---- .../main/java/jenkins/ExtensionComponentSet.java | 6 +++--- core/src/main/java/jenkins/model/Jenkins.java | 5 ++--- .../jenkins/scm/SCMCheckoutStrategyDescriptor.java | 4 ++-- core/src/test/java/hudson/EnvVarsTest.java | 5 +++-- 9 files changed, 23 insertions(+), 29 deletions(-) diff --git a/core/src/main/java/hudson/ClassicPluginStrategy.java b/core/src/main/java/hudson/ClassicPluginStrategy.java index 107904d8a5..028befdd9d 100644 --- a/core/src/main/java/hudson/ClassicPluginStrategy.java +++ b/core/src/main/java/hudson/ClassicPluginStrategy.java @@ -23,7 +23,6 @@ */ package hudson; -import com.google.common.collect.Lists; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.Plugin.DummyImpl; import hudson.PluginWrapper.Dependency; @@ -343,7 +342,7 @@ public class ClassicPluginStrategy implements PluginStrategy { finder.scout(type, hudson); } - List> r = Lists.newArrayList(); + List> r = new ArrayList<>(); for (ExtensionFinder finder : finders) { try { r.addAll(finder.find(type, hudson)); @@ -354,7 +353,7 @@ public class ClassicPluginStrategy implements PluginStrategy { } } - List> filtered = Lists.newArrayList(); + List> filtered = new ArrayList<>(); for (ExtensionComponent e : r) { if (ExtensionFilter.isAllowed(type,e)) filtered.add(e); diff --git a/core/src/main/java/hudson/ExtensionFinder.java b/core/src/main/java/hudson/ExtensionFinder.java index 62234e0692..ac09e740c0 100644 --- a/core/src/main/java/hudson/ExtensionFinder.java +++ b/core/src/main/java/hudson/ExtensionFinder.java @@ -25,8 +25,6 @@ package hudson; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import com.google.inject.AbstractModule; import com.google.inject.Binding; import com.google.inject.Guice; @@ -259,7 +257,7 @@ public abstract class ExtensionFinder implements ExtensionPoint { /** * Map from {@link GuiceExtensionAnnotation#annotationType} to {@link GuiceExtensionAnnotation} */ - private Map,GuiceExtensionAnnotation> extensionAnnotations = Maps.newHashMap(); + private Map,GuiceExtensionAnnotation> extensionAnnotations = new HashMap<>(); public GuiceFinder() { refreshExtensionAnnotations(); @@ -307,7 +305,7 @@ public abstract class ExtensionFinder implements ExtensionPoint { } private ImmutableList> loadSezpozIndices(ClassLoader classLoader) { - List> indices = Lists.newArrayList(); + List> indices = new ArrayList<>(); for (GuiceExtensionAnnotation gea : extensionAnnotations.values()) { Iterables.addAll(indices, Index.load(gea.annotationType, Object.class, classLoader)); } @@ -330,7 +328,7 @@ public abstract class ExtensionFinder implements ExtensionPoint { public synchronized ExtensionComponentSet refresh() throws ExtensionRefreshException { refreshExtensionAnnotations(); // figure out newly discovered sezpoz components - List> delta = Lists.newArrayList(); + List> delta = new ArrayList<>(); for (Class annotationType : extensionAnnotations.keySet()) { delta.addAll(Sezpoz.listDelta(annotationType,sezpozIndex)); } @@ -346,7 +344,7 @@ public abstract class ExtensionFinder implements ExtensionPoint { try { final Injector child = container.createChildInjector(modules); container = child; - List> l = Lists.newArrayList(sezpozIndex); + List> l = new ArrayList<>(sezpozIndex); l.addAll(deltaExtensions.getLoadedIndex()); sezpozIndex = l; @@ -661,7 +659,7 @@ public abstract class ExtensionFinder implements ExtensionPoint { final List> delta = listDelta(Extension.class,old); - List> r = Lists.newArrayList(old); + List> r = new ArrayList<>(old); r.addAll(delta); indices = ImmutableList.copyOf(r); @@ -675,7 +673,7 @@ public abstract class ExtensionFinder implements ExtensionPoint { static List> listDelta(Class annotationType, List> old) { // list up newly discovered components - final List> delta = Lists.newArrayList(); + final List> delta = new ArrayList<>(); ClassLoader cl = Jenkins.get().getPluginManager().uberClassLoader; for (IndexItem ii : Index.load(annotationType, Object.class, cl)) { if (!old.contains(ii)) { diff --git a/core/src/main/java/hudson/ExtensionList.java b/core/src/main/java/hudson/ExtensionList.java index 5be5b80bc2..c7826937c7 100644 --- a/core/src/main/java/hudson/ExtensionList.java +++ b/core/src/main/java/hudson/ExtensionList.java @@ -23,7 +23,6 @@ */ package hudson; -import com.google.common.collect.Lists; import hudson.init.InitMilestone; import hudson.model.Hudson; import jenkins.ExtensionComponentSet; @@ -341,7 +340,7 @@ public class ExtensionList extends AbstractList implements OnMaster { Collection> found = load(delta); if (!found.isEmpty()) { - List> l = Lists.newArrayList(extensions); + List> l = new ArrayList<>(extensions); l.addAll(found); extensions = sort(l); fireOnChangeListeners = true; diff --git a/core/src/main/java/hudson/ProxyConfiguration.java b/core/src/main/java/hudson/ProxyConfiguration.java index e757dc00d6..d5b805995e 100644 --- a/core/src/main/java/hudson/ProxyConfiguration.java +++ b/core/src/main/java/hudson/ProxyConfiguration.java @@ -23,7 +23,6 @@ */ package hudson; -import com.google.common.collect.Lists; import com.thoughtworks.xstream.XStream; import hudson.model.AbstractDescribableImpl; import hudson.model.Descriptor; @@ -45,6 +44,7 @@ import java.net.PasswordAuthentication; import java.net.Proxy; import java.net.URL; import java.net.URLConnection; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.concurrent.TimeUnit; @@ -215,7 +215,7 @@ public final class ProxyConfiguration extends AbstractDescribableImpl getNoProxyHostPatterns(String noProxyHost) { if (noProxyHost==null) return Collections.emptyList(); - List r = Lists.newArrayList(); + List r = new ArrayList<>(); for (String s : noProxyHost.split("[ \t\n,|]+")) { if (s.length()==0) continue; r.add(Pattern.compile(s.replace(".", "\\.").replace("*", ".*"))); diff --git a/core/src/main/java/hudson/model/ParametersAction.java b/core/src/main/java/hudson/model/ParametersAction.java index 6ca27cb28f..9198de5bc3 100644 --- a/core/src/main/java/hudson/model/ParametersAction.java +++ b/core/src/main/java/hudson/model/ParametersAction.java @@ -50,8 +50,6 @@ import java.util.TreeSet; import java.util.logging.Level; import java.util.logging.Logger; -import com.google.common.collect.Lists; -import static com.google.common.collect.Sets.newHashSet; import edu.umd.cs.findbugs.annotations.CheckForNull; import edu.umd.cs.findbugs.annotations.NonNull; import jenkins.util.SystemProperties; @@ -242,8 +240,8 @@ public class ParametersAction implements RunAction2, Iterable, Q parametersAction.safeParameters = this.safeParameters; return parametersAction; } - List combinedParameters = Lists.newArrayList(overrides); - Set names = newHashSet(); + List combinedParameters = new ArrayList<>(overrides); + Set names = new HashSet<>(); for(ParameterValue v : overrides) { if (v == null) continue; diff --git a/core/src/main/java/jenkins/ExtensionComponentSet.java b/core/src/main/java/jenkins/ExtensionComponentSet.java index bf0bc49775..8bc515c00d 100644 --- a/core/src/main/java/jenkins/ExtensionComponentSet.java +++ b/core/src/main/java/jenkins/ExtensionComponentSet.java @@ -23,13 +23,13 @@ */ package jenkins; -import com.google.common.collect.Lists; import hudson.ExtensionComponent; import hudson.ExtensionFinder; import hudson.ExtensionPoint; import hudson.model.Descriptor; import hudson.model.Hudson; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; @@ -66,7 +66,7 @@ public abstract class ExtensionComponentSet { return new ExtensionComponentSet() { @Override public Collection> find(Class type) { - List> a = Lists.newArrayList(); + List> a = new ArrayList<>(); for (ExtensionComponent c : base.find(type)) { if (ExtensionFilter.isAllowed(type,c)) a.add(c); @@ -93,7 +93,7 @@ public abstract class ExtensionComponentSet { return new ExtensionComponentSet() { @Override public Collection> find(Class type) { - List> r = Lists.newArrayList(); + List> r = new ArrayList<>(); for (ExtensionComponentSet d : base) r.addAll(d.find(type)); return r; diff --git a/core/src/main/java/jenkins/model/Jenkins.java b/core/src/main/java/jenkins/model/Jenkins.java index 146798a226..daa3278b62 100644 --- a/core/src/main/java/jenkins/model/Jenkins.java +++ b/core/src/main/java/jenkins/model/Jenkins.java @@ -30,7 +30,6 @@ import antlr.ANTLRException; import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Lists; import com.google.inject.Inject; import com.google.inject.Injector; import com.thoughtworks.xstream.XStream; @@ -2733,14 +2732,14 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve throw new ExtensionRefreshException(ef+" doesn't support refresh"); } - List fragments = Lists.newArrayList(); + List fragments = new ArrayList<>(); for (ExtensionFinder ef : finders) { fragments.add(ef.refresh()); } ExtensionComponentSet delta = ExtensionComponentSet.union(fragments).filtered(); // if we find a new ExtensionFinder, we need it to list up all the extension points as well - List> newFinders = Lists.newArrayList(delta.find(ExtensionFinder.class)); + List> newFinders = new ArrayList<>(delta.find(ExtensionFinder.class)); while (!newFinders.isEmpty()) { ExtensionFinder f = newFinders.remove(newFinders.size()-1).getInstance(); diff --git a/core/src/main/java/jenkins/scm/SCMCheckoutStrategyDescriptor.java b/core/src/main/java/jenkins/scm/SCMCheckoutStrategyDescriptor.java index 264c51adaa..09f32967a8 100644 --- a/core/src/main/java/jenkins/scm/SCMCheckoutStrategyDescriptor.java +++ b/core/src/main/java/jenkins/scm/SCMCheckoutStrategyDescriptor.java @@ -1,11 +1,11 @@ package jenkins.scm; -import com.google.common.collect.Lists; import hudson.DescriptorExtensionList; import hudson.model.AbstractProject; import hudson.model.Descriptor; import jenkins.model.Jenkins; +import java.util.ArrayList; import java.util.List; /** @@ -34,7 +34,7 @@ public abstract class SCMCheckoutStrategyDescriptor extends Descriptor _for(AbstractProject p) { - List r = Lists.newArrayList(); + List r = new ArrayList<>(); for (SCMCheckoutStrategyDescriptor d : all()) { if (d.isApplicable(p)) r.add(d); diff --git a/core/src/test/java/hudson/EnvVarsTest.java b/core/src/test/java/hudson/EnvVarsTest.java index 28538034d7..cab1c9c62c 100644 --- a/core/src/test/java/hudson/EnvVarsTest.java +++ b/core/src/test/java/hudson/EnvVarsTest.java @@ -31,9 +31,10 @@ import java.util.HashSet; import java.util.List; import java.util.TreeMap; -import com.google.common.collect.Sets; import org.junit.jupiter.api.Test; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.containsInAnyOrder; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -141,7 +142,7 @@ public class EnvVarsTest { OverrideOrderCalculator calc = new OverrideOrderCalculator(env, overrides); List order = calc.getOrderedVariableNames(); assertEquals(Arrays.asList("B", "A", "C"), order.subList(0, 3)); - assertEquals(Sets.newHashSet("E", "D"), new HashSet<>(order.subList(3, order.size()))); + assertThat(new HashSet<>(order.subList(3, order.size())), containsInAnyOrder("E", "D")); } @Test