diff --git a/core/src/main/java/hudson/DependencyRunner.java b/core/src/main/java/hudson/DependencyRunner.java index 4a967b47da645a948e32554a37724a6dec5a3a15..0ad56be7e1b0973ea05550696a971fa2df47ef55 100644 --- a/core/src/main/java/hudson/DependencyRunner.java +++ b/core/src/main/java/hudson/DependencyRunner.java @@ -47,7 +47,7 @@ public class DependencyRunner implements Runnable { ProjectRunnable runnable; - List polledProjects = new ArrayList(); + List polledProjects = new ArrayList<>(); public DependencyRunner(ProjectRunnable runnable) { this.runnable = runnable; @@ -56,7 +56,7 @@ public class DependencyRunner implements Runnable { public void run() { SecurityContext oldContext = ACL.impersonate(ACL.SYSTEM); try { - Set topLevelProjects = new HashSet(); + Set topLevelProjects = new HashSet<>(); // Get all top-level projects LOGGER.fine("assembling top level projects"); for (AbstractProject p : Jenkins.get().allItems(AbstractProject.class)) diff --git a/core/src/main/java/hudson/Functions.java b/core/src/main/java/hudson/Functions.java index db20030481e329d5186ea4ce1c58619f45523adf..0438e8135c8730aa0d5d26a702a95a32071fc0b0 100644 --- a/core/src/main/java/hudson/Functions.java +++ b/core/src/main/java/hudson/Functions.java @@ -951,7 +951,7 @@ public class Functions { @Restricted(DoNotUse.class) @RestrictedSince("2.12") public static List getNodePropertyDescriptors(Class clazz) { - List result = new ArrayList(); + List result = new ArrayList<>(); Collection list = (Collection) Jenkins.get().getDescriptorList(NodeProperty.class); for (NodePropertyDescriptor npd : list) { if (npd.isApplicable(clazz)) { @@ -967,7 +967,7 @@ public class Functions { * @since 1.520 */ public static List getGlobalNodePropertyDescriptors() { - List result = new ArrayList(); + List result = new ArrayList<>(); Collection list = (Collection) Jenkins.get().getDescriptorList(NodeProperty.class); for (NodePropertyDescriptor npd : list) { if (npd.isApplicableAsGlobal()) { @@ -996,7 +996,7 @@ public class Functions { */ public static Collection getSortedDescriptorsForGlobalConfig(Predicate predicate) { ExtensionList exts = ExtensionList.lookup(Descriptor.class); - List r = new ArrayList(exts.size()); + List r = new ArrayList<>(exts.size()); for (ExtensionComponent c : exts.getComponents()) { Descriptor d = c.getInstance(); @@ -1008,7 +1008,7 @@ public class Functions { } Collections.sort(r); - List answer = new ArrayList(r.size()); + List answer = new ArrayList<>(r.size()); for (Tag d : r) answer.add(d.d); return DescriptorVisibilityFilter.apply(Jenkins.get(),answer); @@ -1090,7 +1090,7 @@ public class Functions { * Computes the relative path from the current page to the given item. */ public static String getRelativeLinkTo(Item p) { - Map ancestors = new HashMap(); + Map ancestors = new HashMap<>(); View view=null; StaplerRequest request = Stapler.getCurrentRequest(); @@ -1166,7 +1166,7 @@ public class Functions { String separationString = useDisplayName ? " ยป " : "/"; // first list up all the parents - Map parents = new HashMap(); + Map parents = new HashMap<>(); int depth=0; while (g!=null) { parents.put(g, depth++); @@ -1233,7 +1233,7 @@ public class Functions { } public static Map dumpAllThreads() { - Map sorted = new TreeMap(new ThreadSorter()); + Map sorted = new TreeMap<>(new ThreadSorter()); sorted.putAll(Thread.getAllStackTraces()); return sorted; } @@ -1251,7 +1251,7 @@ public class Functions { // Common code for sorting Threads/ThreadInfos by ThreadGroup private static class ThreadSorterBase { - protected Map map = new HashMap(); + protected Map map = new HashMap<>(); private ThreadSorterBase() { ThreadGroup tg = Thread.currentThread().getThreadGroup(); @@ -1475,7 +1475,7 @@ public class Functions { return Messages.Functions_NoExceptionDetails(); } StringBuilder s = new StringBuilder(); - doPrintStackTrace(s, t, null, "", new HashSet()); + doPrintStackTrace(s, t, null, "", new HashSet<>()); return s.toString(); } private static void doPrintStackTrace(@Nonnull StringBuilder s, @Nonnull Throwable t, @CheckForNull Throwable higher, @Nonnull String prefix, @Nonnull Set encountered) { @@ -1840,7 +1840,7 @@ public class Functions { public List getLoggerNames() { while (true) { try { - List r = new ArrayList(); + List r = new ArrayList<>(); Enumeration e = LogManager.getLogManager().getLoggerNames(); while (e.hasMoreElements()) r.add(e.nextElement()); @@ -1933,7 +1933,7 @@ public class Functions { } public static List getRequestHeaders(String name) { - List r = new ArrayList(); + List r = new ArrayList<>(); Enumeration e = Stapler.getCurrentRequest().getHeaders(name); while (e.hasMoreElements()) { r.add(e.nextElement().toString()); @@ -1949,7 +1949,7 @@ public class Functions { } public static ArrayList getCLICommands() { - ArrayList all = new ArrayList(CLICommand.all()); + ArrayList all = new ArrayList<>(CLICommand.all()); Collections.sort(all, new Comparator() { public int compare(CLICommand cliCommand, CLICommand cliCommand1) { return cliCommand.getName().compareTo(cliCommand1.getName()); diff --git a/core/src/main/java/hudson/PluginFirstClassLoader.java b/core/src/main/java/hudson/PluginFirstClassLoader.java index 31c93a1fd36dbb629308b48a85a095cd2bd89ee6..dde635d24d880692f08fb31411c24eca9105d069 100644 --- a/core/src/main/java/hudson/PluginFirstClassLoader.java +++ b/core/src/main/java/hudson/PluginFirstClassLoader.java @@ -50,7 +50,7 @@ public class PluginFirstClassLoader super(null, false); } - private List urls = new ArrayList(); + private List urls = new ArrayList<>(); public void addPathFiles( Collection paths ) throws IOException diff --git a/core/src/main/java/hudson/PluginManager.java b/core/src/main/java/hudson/PluginManager.java index f9ff1ce5fc6e0c5694625511b0c4b07fe739c6d2..281b0053360b459db37abc5acceafb7135c9c21c 100644 --- a/core/src/main/java/hudson/PluginManager.java +++ b/core/src/main/java/hudson/PluginManager.java @@ -2131,7 +2131,7 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas * Stores {@link Plugin} instances. */ /*package*/ static final class PluginInstanceStore { - final Map store = new ConcurrentHashMap(); + final Map store = new ConcurrentHashMap<>(); } /** @@ -2174,7 +2174,7 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas @Extension @Symbol("pluginUpdate") public static final class PluginUpdateMonitor extends AdministrativeMonitor { - private Map pluginsToBeUpdated = new HashMap(); + private Map pluginsToBeUpdated = new HashMap<>(); /** * Convenience method to ease access to this monitor, this allows other plugins to register required updates. diff --git a/core/src/main/java/hudson/diagnosis/OldDataMonitor.java b/core/src/main/java/hudson/diagnosis/OldDataMonitor.java index ea4c484f23ea5b0e0b483cf72ed3eb774790af58..09db13e164a9d90cddbe622de1fa701c2e6cf95b 100644 --- a/core/src/main/java/hudson/diagnosis/OldDataMonitor.java +++ b/core/src/main/java/hudson/diagnosis/OldDataMonitor.java @@ -294,7 +294,7 @@ public class OldDataMonitor extends AdministrativeMonitor { */ @Restricted(NoExternalUse.class) public Iterator getVersionList() { - TreeSet set = new TreeSet(); + TreeSet set = new TreeSet<>(); for (VersionRange vr : data.values()) { if (vr.max != null) { set.add(vr.max); @@ -364,7 +364,7 @@ public class OldDataMonitor extends AdministrativeMonitor { * does occur: just means the user will be prompted to discard less than they should have been (and * would see the warning again after next restart). */ - List removed = new ArrayList(); + List removed = new ArrayList<>(); for (Map.Entry entry : data.entrySet()) { if (matchingPredicate.apply(entry)) { Saveable s = entry.getKey().get(); diff --git a/core/src/main/java/hudson/logging/LogRecorder.java b/core/src/main/java/hudson/logging/LogRecorder.java index 89bb832b52893e3352d7a3a36c7d91a7c271dea6..61bb1bb187f15aeb3f30555761f4f7c516b1b8df 100644 --- a/core/src/main/java/hudson/logging/LogRecorder.java +++ b/core/src/main/java/hudson/logging/LogRecorder.java @@ -262,7 +262,7 @@ public class LogRecorder extends AbstractModelObject implements Saveable { private static final class SetLevel extends MasterToSlaveCallable { /** known loggers (kept per agent), to avoid GC */ - @SuppressWarnings("MismatchedQueryAndUpdateOfCollection") private static final Set loggers = new HashSet(); + @SuppressWarnings("MismatchedQueryAndUpdateOfCollection") private static final Set loggers = new HashSet<>(); private final String name; private final Level level; SetLevel(String name, Level level) { @@ -421,8 +421,9 @@ public class LogRecorder extends AbstractModelObject implements Saveable { * @since 1.519 */ public Map> getSlaveLogRecords() { - Map> result = new TreeMap>(new Comparator() { + Map> result = new TreeMap<>(new Comparator() { final Collator COLL = Collator.getInstance(); + public int compare(Computer c1, Computer c2) { return COLL.compare(c1.getDisplayName(), c2.getDisplayName()); } @@ -431,7 +432,7 @@ public class LogRecorder extends AbstractModelObject implements Saveable { if (c.getName().length() == 0) { continue; // master } - List recs = new ArrayList(); + List recs = new ArrayList<>(); try { for (LogRecord rec : c.getLogRecords()) { for (Target t : targets) { diff --git a/core/src/main/java/hudson/model/AbstractCIBase.java b/core/src/main/java/hudson/model/AbstractCIBase.java index aec90b19a383ec6cd047ef1523087d7163619250..f6c11f0219d0a0d5f27ecf6df75d36fc3551f44a 100644 --- a/core/src/main/java/hudson/model/AbstractCIBase.java +++ b/core/src/main/java/hudson/model/AbstractCIBase.java @@ -93,7 +93,7 @@ public abstract class AbstractCIBase extends Node implements ItemGroup disabledAdministrativeMonitors = new CopyOnWriteArraySet(); + /*package*/ final CopyOnWriteArraySet disabledAdministrativeMonitors = new CopyOnWriteArraySet<>(); @Restricted(NoExternalUse.class) public CopyOnWriteArraySet getDisabledAdministrativeMonitors(){ @@ -192,11 +192,11 @@ public abstract class AbstractCIBase extends Node implements ItemGroup computers = getComputerMap(); - final Set old = new HashSet(computers.size()); + final Set old = new HashSet<>(computers.size()); Queue.withLock(new Runnable() { @Override public void run() { - Map byName = new HashMap(); + Map byName = new HashMap<>(); for (Computer c : computers.values()) { old.add(c); Node node = c.getNode(); diff --git a/core/src/main/java/hudson/model/AbstractItem.java b/core/src/main/java/hudson/model/AbstractItem.java index cc366d734e02d43e5ead251fa7565e1f171ab210..cb15592f2d3cf3e8ab9bbc3460c2d246922e3030 100644 --- a/core/src/main/java/hudson/model/AbstractItem.java +++ b/core/src/main/java/hudson/model/AbstractItem.java @@ -981,7 +981,7 @@ public abstract class AbstractItem extends Actionable implements Item, HttpDelet /** * Replaceable pronoun of that points to a job. Defaults to "Job"/"Project" depending on the context. */ - public static final Message PRONOUN = new Message(); + public static final Message PRONOUN = new Message<>(); /** * Replaceable noun for describing the kind of task that this item represents. Defaults to "Build". diff --git a/core/src/main/java/hudson/model/AbstractProject.java b/core/src/main/java/hudson/model/AbstractProject.java index 4e584efb0d6d6cf9e8632d48b40dfe0475f8ba98..918bf6cfcb1053195c96d03226a699aca880f4e4 100644 --- a/core/src/main/java/hudson/model/AbstractProject.java +++ b/core/src/main/java/hudson/model/AbstractProject.java @@ -232,7 +232,7 @@ public abstract class AbstractProject

,R extends A * List of all {@link Trigger}s for this project. */ @AdaptField(was=List.class) - protected volatile DescribableList,TriggerDescriptor> triggers = new DescribableList,TriggerDescriptor>(this); + protected volatile DescribableList,TriggerDescriptor> triggers = new DescribableList<>(this); private static final AtomicReferenceFieldUpdater triggersUpdater = AtomicReferenceFieldUpdater.newUpdater(AbstractProject.class,DescribableList.class,"triggers"); @@ -244,7 +244,7 @@ public abstract class AbstractProject

,R extends A * come and go as configuration change, so it's kept separate. */ @CopyOnWrite - protected transient volatile List transientActions = new Vector(); + protected transient volatile List transientActions = new Vector<>(); private boolean concurrentBuild; @@ -320,7 +320,7 @@ public abstract class AbstractProject

,R extends A scm = new NullSCM(); // perhaps it was pointing to a plugin that no longer exists. if(transientActions==null) - transientActions = new Vector(); // happens when loaded from disk + transientActions = new Vector<>(); // happens when loaded from disk updateTransientActions(); } @@ -731,7 +731,7 @@ public abstract class AbstractProject

,R extends A } protected List createTransientActions() { - Vector ta = new Vector(); + Vector ta = new Vector<>(); for (JobProperty p : Util.fixNull(properties)) ta.addAll(p.getJobActions((P)this)); @@ -817,7 +817,7 @@ public abstract class AbstractProject

,R extends A */ @WithBridgeMethods(Future.class) public QueueTaskFuture scheduleBuild2(int quietPeriod, Cause c, Collection actions) { - List queueActions = new ArrayList(actions); + List queueActions = new ArrayList<>(actions); if (c != null) { queueActions.add(new CauseAction(c)); } @@ -987,7 +987,7 @@ public abstract class AbstractProject

,R extends A @Override public List getActions() { // add all the transient actions, too - List actions = new Vector(super.getActions()); + List actions = new Vector<>(super.getActions()); actions.addAll(transientActions); // return the read only list to cause a failure on plugins who try to add an action here return Collections.unmodifiableList(actions); @@ -1127,7 +1127,7 @@ public abstract class AbstractProject

,R extends A } public List getSubTasks() { - List r = new ArrayList(); + List r = new ArrayList<>(); r.add(this); for (SubTaskContributor euc : SubTaskContributor.all()) r.addAll(euc.forProject(this)); @@ -1173,7 +1173,7 @@ public abstract class AbstractProject

,R extends A */ public ResourceList getResourceList() { final Set resourceActivities = getResourceActivities(); - final List resourceLists = new ArrayList(1 + resourceActivities.size()); + final List resourceLists = new ArrayList<>(1 + resourceActivities.size()); for (ResourceActivity activity : resourceActivities) { if (activity != this && activity != null) { // defensive infinite recursion and null check @@ -1605,7 +1605,7 @@ public abstract class AbstractProject

,R extends A * @return A List of upstream projects that has a {@link BuildTrigger} to this project. */ public final List getBuildTriggerUpstreamProjects() { - ArrayList result = new ArrayList(); + ArrayList result = new ArrayList<>(); for (AbstractProject ap : getUpstreamProjects()) { BuildTrigger buildTrigger = ap.getPublishersList().get(BuildTrigger.class); if (buildTrigger != null) @@ -1642,7 +1642,7 @@ public abstract class AbstractProject

,R extends A * numbers of that project. */ public SortedMap getRelationship(AbstractProject that) { - TreeMap r = new TreeMap(REVERSE_INTEGER_COMPARATOR); + TreeMap r = new TreeMap<>(REVERSE_INTEGER_COMPARATOR); checkAndRecord(that, r, this.getBuilds()); // checkAndRecord(that, r, that.getBuilds()); @@ -1815,7 +1815,7 @@ public abstract class AbstractProject

,R extends A throws FormException, ServletException { JSONObject data = req.getSubmittedForm(); - List r = new Vector(); + List r = new Vector<>(); for (Descriptor d : descriptors) { String safeName = d.getJsonSafeClassName(); if (req.getParameter(safeName) != null) { @@ -2016,7 +2016,7 @@ public abstract class AbstractProject

,R extends A } List getSeeds() { - ArrayList terms = new ArrayList(); + ArrayList terms = new ArrayList<>(); boolean trailingQuote = source.endsWith("\""); boolean leadingQuote = source.startsWith("\""); boolean trailingSpace = source.endsWith(" "); @@ -2082,7 +2082,7 @@ public abstract class AbstractProject

,R extends A * @deprecated Use {@link ParameterizedJobMixIn#BUILD_NOW_TEXT}. */ @Deprecated - public static final Message BUILD_NOW_TEXT = new Message(); + public static final Message BUILD_NOW_TEXT = new Message<>(); /** * Used for CLI binding. diff --git a/core/src/main/java/hudson/model/DirectoryBrowserSupport.java b/core/src/main/java/hudson/model/DirectoryBrowserSupport.java index aa92c9c1e83ef29a147d544106b69229bfa145d8..a69a83e7a3eb680a928bc7a218aaa2d92779999e 100644 --- a/core/src/main/java/hudson/model/DirectoryBrowserSupport.java +++ b/core/src/main/java/hudson/model/DirectoryBrowserSupport.java @@ -413,7 +413,7 @@ public final class DirectoryBrowserSupport implements HttpResponse { * from a string like "/foo/bar/zot". */ private List buildParentPath(String pathList, int restSize) { - List r = new ArrayList(); + List r = new ArrayList<>(); StringTokenizer tokens = new StringTokenizer(pathList, "/"); int total = tokens.countTokens(); int current=1; @@ -669,7 +669,7 @@ public final class DirectoryBrowserSupport implements HttpResponse { * (this mechanism is used to skip empty intermediate directory.) */ private static List> buildChildPaths(VirtualFile cur, Locale locale) throws IOException { - List> r = new ArrayList>(); + List> r = new ArrayList<>(); VirtualFile[] files = cur.list(); Arrays.sort(files,new FileComparator(locale)); @@ -680,12 +680,12 @@ public final class DirectoryBrowserSupport implements HttpResponse { r.add(Collections.singletonList(p)); } else { // find all empty intermediate directory - List l = new ArrayList(); + List l = new ArrayList<>(); l.add(p); String relPath = Util.rawEncode(f.getName()); while(true) { // files that don't start with '.' qualify for 'meaningful files', nor SCM related files - List sub = new ArrayList(); + List sub = new ArrayList<>(); for (VirtualFile vf : f.list()) { String name = vf.getName(); if (!name.startsWith(".") && !name.equals("CVS") && !name.equals(".svn")) { @@ -714,7 +714,7 @@ public final class DirectoryBrowserSupport implements HttpResponse { Collection files = baseDir.list(pattern, null, /* TODO what is the user expectation? */true); if (!files.isEmpty()) { - List> r = new ArrayList>(files.size()); + List> r = new ArrayList<>(files.size()); for (String match : files) { List file = buildPathList(baseDir, baseDir.child(match), baseRef); r.add(file); @@ -729,7 +729,7 @@ public final class DirectoryBrowserSupport implements HttpResponse { * Builds a path list from the current workspace directory down to the specified file path. */ private static List buildPathList(VirtualFile baseDir, VirtualFile filePath, String baseRef) throws IOException { - List pathList = new ArrayList(); + List pathList = new ArrayList<>(); StringBuilder href = new StringBuilder(baseRef); buildPathList(baseDir, filePath, pathList, href); diff --git a/core/src/main/java/hudson/model/Node.java b/core/src/main/java/hudson/model/Node.java index 48ea56ccaf40dc0316e591878d53a78d3d8ff738..8fcb538f7c7bde582c279044ba4cb9d3d878fe3b 100644 --- a/core/src/main/java/hudson/model/Node.java +++ b/core/src/main/java/hudson/model/Node.java @@ -282,7 +282,7 @@ public abstract class Node extends AbstractModelObject implements Reconfigurable * Return the possibly empty tag cloud for the labels of this node. */ public TagCloud getLabelCloud() { - return new TagCloud(getAssignedLabels(),new WeightFunction() { + return new TagCloud<>(getAssignedLabels(), new WeightFunction() { public float weight(LabelAtom item) { return item.getTiedJobCount(); } @@ -313,7 +313,7 @@ public abstract class Node extends AbstractModelObject implements Reconfigurable * @return HashSet