diff options
author | Andrey Loskutov | 2017-12-27 19:45:04 +0000 |
---|---|---|
committer | Andrey Loskutov | 2017-12-27 21:30:09 +0000 |
commit | dc21038f27457502aacbf2cb458b2d0293a896b0 (patch) | |
tree | 68f2282e5492927fc9dcf566b74eb47fa9f14689 | |
parent | b140def30122a542a8b23ae952eec4b88e1eaf7f (diff) | |
download | eclipse.platform.ui-dc21038f27457502aacbf2cb458b2d0293a896b0.tar.gz eclipse.platform.ui-dc21038f27457502aacbf2cb458b2d0293a896b0.tar.xz eclipse.platform.ui-dc21038f27457502aacbf2cb458b2d0293a896b0.zip |
Bug 529254 - org.eclipse.ui.internal.progress needs some cleanupI20171227-2000
- use JobTreeElement instead of Object where possible
- mute javadoc warnings
- mute remaining generics warnings
Change-Id: Iee4bb4d24f9acabf82a2438fb30e29bf4771fc89
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
22 files changed, 143 insertions, 266 deletions
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/AbstractProgressViewer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/AbstractProgressViewer.java index 73a2cd19ed9..7dfb8955674 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/AbstractProgressViewer.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/AbstractProgressViewer.java @@ -23,11 +23,11 @@ public abstract class AbstractProgressViewer extends StructuredViewer { * Add the elements to the receiver. * @param elements */ - public abstract void add(Object[] elements); + public abstract void add(JobTreeElement... elements); /** * Remove the elements from the receiver. * @param elements */ - public abstract void remove(Object[] elements); + public abstract void remove(JobTreeElement... elements); } diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/AnimationManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/AnimationManager.java index 78040daf10a..475b9028555 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/AnimationManager.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/AnimationManager.java @@ -107,10 +107,10 @@ public class AnimationManager { } /** - * Set whether or not the receiver is animated. - * - * @param boolean - */ + * Set whether or not the receiver is animated. + * + * @param bool + */ void setAnimated(final boolean bool) { animated = bool; animationUpdateJob.schedule(100); diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/DetailedProgressViewer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/DetailedProgressViewer.java index c07d9114035..9d619b3ecd3 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/DetailedProgressViewer.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/DetailedProgressViewer.java @@ -128,21 +128,23 @@ public class DetailedProgressViewer extends AbstractProgressViewer { } @Override - public void add(Object[] elements) { + public void add(JobTreeElement... elements) { ViewerComparator sorter = getComparator(); // Use a Set in case we are getting something added that exists - Set newItems = new HashSet(elements.length); + Set<JobTreeElement> newItems = new HashSet<>(elements.length); Control[] existingChildren = control.getChildren(); for (Control child : existingChildren) { - if (child.getData() != null) - newItems.add(child.getData()); + if (child.getData() != null) { + newItems.add((JobTreeElement) child.getData()); + } } - for (Object element : elements) { - if (element != null) + for (JobTreeElement element : elements) { + if (element != null) { newItems.add(element); + } } JobTreeElement[] infos = new JobTreeElement[newItems.size()]; @@ -296,7 +298,8 @@ public class DetailedProgressViewer extends AbstractProgressViewer { unmapElement(item); } item.dispose(); - add(new Object[] { element }); + + add((JobTreeElement) element); } @Override @@ -306,7 +309,7 @@ public class DetailedProgressViewer extends AbstractProgressViewer { @Override protected List getSelectionFromWidget() { - return new ArrayList(0); + return new ArrayList<>(0); } @Override @@ -327,7 +330,7 @@ public class DetailedProgressViewer extends AbstractProgressViewer { } Widget widget = findItem(element); if (widget == null) { - add(new Object[] { element }); + add((JobTreeElement) element); return; } ((ProgressInfoItem) widget).refresh(); @@ -336,7 +339,7 @@ public class DetailedProgressViewer extends AbstractProgressViewer { } @Override - public void remove(Object[] elements) { + public void remove(JobTreeElement... elements) { for (Object element : elements) { JobTreeElement treeElement = (JobTreeElement) element; diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ErrorInfo.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ErrorInfo.java deleted file mode 100644 index e702f9ba9d0..00000000000 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ErrorInfo.java +++ /dev/null @@ -1,114 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2015 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.internal.progress; - -import com.ibm.icu.text.DateFormat; -import java.util.Date; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.graphics.Image; - -/** - * ErrorInfo is the info that displays errors. - */ -public class ErrorInfo extends JobTreeElement { - private final IStatus errorStatus; - private final Job job; - private final long timestamp; - - /** - * Creates a new instance of ErrorInfo. - * - * @param status - * @param job - * the Job to create - */ - public ErrorInfo(IStatus status, Job job) { - errorStatus = status; - this.job = job; - timestamp = System.currentTimeMillis(); - } - - @Override - boolean hasChildren() { - return false; - } - - @Override - Object[] getChildren() { - return ProgressManagerUtil.EMPTY_OBJECT_ARRAY; - } - - @Override - String getDisplayString() { - return NLS.bind(ProgressMessages.JobInfo_Error, (new Object[] { - job.getName(), - DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG).format(new Date(timestamp)) })); - } - - /** - * Returns the image for the receiver. - * - * @return Image - */ - Image getImage() { - return JFaceResources.getImage(ProgressManager.ERROR_JOB_KEY); - } - - @Override - boolean isJobInfo() { - return false; - } - - /** - * Returns the current status of the receiver. - * - * @return IStatus - */ - IStatus getErrorStatus() { - return errorStatus; - } - - @Override - boolean isActive() { - return true; - } - - /** - * Returns the job that generated the error. - * - * @return the job that generated the error - */ - public Job getJob() { - return job; - } - - /** - * Returns the timestamp for the job. - * - * @return long - */ - public long getTimestamp() { - return timestamp; - } - - @Override - public int compareTo(JobTreeElement other) { - if (other instanceof ErrorInfo) { - // Order ErrorInfo by time received. - return Long.compare(timestamp, ((ErrorInfo) other).timestamp); - } - - return super.compareTo(other); - } -} diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/FinishedJobs.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/FinishedJobs.java index e3c2461bad9..e6a1f26092d 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/FinishedJobs.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/FinishedJobs.java @@ -51,9 +51,9 @@ public class FinishedJobs extends EventManager { private IJobProgressManagerListener listener; - private HashSet keptjobinfos = new HashSet(); + private HashSet<JobTreeElement> keptjobinfos = new HashSet<>(); - private HashMap finishedTime = new HashMap(); + private HashMap<JobTreeElement, Long> finishedTime = new HashMap<>(); private static JobTreeElement[] EMPTY_INFOS; @@ -95,6 +95,8 @@ public class FinishedJobs extends EventManager { if (keep(info)) { checkForDuplicates(info); add(info); + } else { +// remove(info); ? } } @@ -181,7 +183,7 @@ public class FinishedJobs extends EventManager { long now = System.currentTimeMillis(); finishedTime.put(info, Long.valueOf(now)); - Object parent = info.getParent(); + JobTreeElement parent = info.getParent(); if (!(parent == null || keptjobinfos.contains(parent))) { keptjobinfos.add(parent); finishedTime.put(parent, Long.valueOf(now)); @@ -221,23 +223,23 @@ public class FinishedJobs extends EventManager { Object prop = myJob.getProperty(ProgressManagerUtil.KEEPONE_PROPERTY); if (prop instanceof Boolean && ((Boolean) prop).booleanValue()) { - ArrayList found = null; + ArrayList<JobTreeElement> found = null; JobTreeElement[] all; - all = (JobTreeElement[]) keptjobinfos.toArray(new JobTreeElement[keptjobinfos.size()]); + all = keptjobinfos.toArray(new JobTreeElement[keptjobinfos.size()]); for (JobTreeElement jobTreeElement : all) { if (jobTreeElement != info && jobTreeElement.isJobInfo()) { Job job = ((JobInfo) jobTreeElement).getJob(); if (job != null && job != myJob && job.belongsTo(myJob)) { if (found == null) { - found = new ArrayList(); + found = new ArrayList<>(); } found.add(jobTreeElement); } } } if (found != null) { - return (JobTreeElement[]) found + return found .toArray(new JobTreeElement[found.size()]); } } @@ -252,7 +254,7 @@ public class FinishedJobs extends EventManager { if (tinfo != null) { JobTreeElement[] toBeRemoved = null; boolean fire = false; - JobTreeElement element = (JobTreeElement) tinfo.getParent(); + JobInfo element = tinfo.getParent(); if (element == info && !keptjobinfos.contains(tinfo)) { toBeRemoved = findJobsToRemove(element); keptjobinfos.add(tinfo); @@ -284,7 +286,7 @@ public class FinishedJobs extends EventManager { if (job != null) { IStatus status = job.getResult(); if (status != null && status.getSeverity() == IStatus.ERROR) { - JobTreeElement topElement = (JobTreeElement) info1 + JobTreeElement topElement = info1 .getParent(); if (topElement == null) { topElement = info1; @@ -307,9 +309,9 @@ public class FinishedJobs extends EventManager { // delete all elements that have jte as their direct or indirect // parent - JobTreeElement jtes[] = (JobTreeElement[]) keptjobinfos.toArray(new JobTreeElement[keptjobinfos.size()]); + JobTreeElement jtes[] = keptjobinfos.toArray(new JobTreeElement[keptjobinfos.size()]); for (JobTreeElement jobTreeElement : jtes) { - JobTreeElement parent = (JobTreeElement) jobTreeElement.getParent(); + JobTreeElement parent = jobTreeElement.getParent(); if (parent != null) { if (parent == jte || parent.getParent() == jte) { if (keptjobinfos.remove(jobTreeElement)) { @@ -342,7 +344,7 @@ public class FinishedJobs extends EventManager { } synchronized (keptjobinfos) { - all = (JobTreeElement[]) keptjobinfos + all = keptjobinfos .toArray(new JobTreeElement[keptjobinfos.size()]); } @@ -378,7 +380,7 @@ public class FinishedJobs extends EventManager { */ public void clearAll() { synchronized (keptjobinfos) { - JobTreeElement[] all = (JobTreeElement[]) keptjobinfos + JobTreeElement[] all = keptjobinfos .toArray(new JobTreeElement[keptjobinfos.size()]); for (JobTreeElement jobTreeElement : all) { disposeAction(jobTreeElement); @@ -398,7 +400,7 @@ public class FinishedJobs extends EventManager { * Return the set of kept jobs. * @return Set */ - Set getKeptAsSet() { + Set<JobTreeElement> getKeptAsSet() { return keptjobinfos; } } diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/GroupInfo.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/GroupInfo.java index 6bc4a92bf18..b4f4a39420e 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/GroupInfo.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/GroupInfo.java @@ -30,6 +30,10 @@ class GroupInfo extends JobTreeElement implements IProgressMonitor { double total = -1; double currentWork; + public GroupInfo() { + super(); + } + @Override boolean hasChildren() { synchronized (lock) { diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/IAnimationProcessor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/IAnimationProcessor.java index 371fef8f4ae..38fe785316c 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/IAnimationProcessor.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/IAnimationProcessor.java @@ -31,9 +31,10 @@ interface IAnimationProcessor { void removeItem(AnimationItem item); /** - * Return whether or not the receiver has any items. - * @return - */ + * Return whether or not the receiver has any items. + * + * @return true if there are items + */ boolean hasItems(); /** @@ -49,17 +50,18 @@ interface IAnimationProcessor { void animationFinished(); /** - * Get the preferred width of the types of items this - * processor manages. - * @return - */ + * Get the preferred width of the types of items this processor manages. + * + * @return preferred width + */ int getPreferredWidth(); /** - * Return whether or not this is a job used by the processor. - * @param job - * @return - */ + * Return whether or not this is a job used by the processor. + * + * @param job + * @return true if this job is used by the processor + */ boolean isProcessorJob(Job job); } diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/IJobProgressManagerListener.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/IJobProgressManagerListener.java index f88fe6b4509..9fb68134255 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/IJobProgressManagerListener.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/IJobProgressManagerListener.java @@ -52,9 +52,10 @@ interface IJobProgressManagerListener { void removeJob(final JobInfo info); /** - * Refresh the viewer as a result of a removal of group. - * @param info - */ + * Refresh the viewer as a result of a removal of group. + * + * @param group + */ void removeGroup(final GroupInfo group); /** diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/IProgressUpdateCollector.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/IProgressUpdateCollector.java index a69fd306ff9..8ab4403f90e 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/IProgressUpdateCollector.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/IProgressUpdateCollector.java @@ -26,18 +26,18 @@ public interface IProgressUpdateCollector { * Refresh the elements. * @param elements */ - void refresh(Object[] elements); + void refresh(JobTreeElement... elements); /** * Add the elements. * @param elements Array of JobTreeElement */ - void add(Object[] elements); + void add(JobTreeElement... elements); /** * Remove the elements. * @param elements Array of JobTreeElement */ - void remove(Object[] elements); + void remove(JobTreeElement... elements); } diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobInfo.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobInfo.java index 1a5bb1590c7..2b5a9c5fd6f 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobInfo.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobInfo.java @@ -299,7 +299,7 @@ public class JobInfo extends JobTreeElement { } @Override - public Object getParent() { + public GroupInfo getParent() { return parent; } diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobTreeElement.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobTreeElement.java index 8ecae14c0d0..2c863598165 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobTreeElement.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobTreeElement.java @@ -20,9 +20,9 @@ public abstract class JobTreeElement implements Comparable<JobTreeElement> { /** * Returns the parent of this object. * - * @return Object + * @return JobTreeElement */ - public Object getParent() { + public JobTreeElement getParent() { return null; } diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressAnimationItem.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressAnimationItem.java index 1bde986656f..f7e8ef25cd3 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressAnimationItem.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressAnimationItem.java @@ -193,7 +193,7 @@ public class ProgressAnimationItem extends AnimationItem implements * @param ji */ private void removeTopElement(JobInfo ji) { - JobTreeElement topElement = (JobTreeElement) ji.getParent(); + JobTreeElement topElement = ji.getParent(); if (topElement == null) { topElement = ji; } diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressAnimationProcessor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressAnimationProcessor.java index 46cb734c4b0..d8bff834247 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressAnimationProcessor.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressAnimationProcessor.java @@ -35,7 +35,7 @@ class ProgressAnimationProcessor implements IAnimationProcessor { manager = animationManager; } - List items = new ArrayList(); + List<AnimationItem> items = new ArrayList<>(); public void startAnimationLoop(IProgressMonitor monitor) { diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressCanvasViewer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressCanvasViewer.java index c70dc35671a..1255204c94a 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressCanvasViewer.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressCanvasViewer.java @@ -10,9 +10,8 @@ *******************************************************************************/ package org.eclipse.ui.internal.progress; -import java.util.ArrayList; +import java.util.Collections; import java.util.List; - import org.eclipse.core.runtime.Assert; import org.eclipse.jface.resource.JFaceResources; import org.eclipse.jface.viewers.IBaseLabelProvider; @@ -39,8 +38,6 @@ public class ProgressCanvasViewer extends AbstractProgressViewer { Object[] displayedItems = new Object[0]; - private final static List EMPTY_LIST = new ArrayList(); - /** * Font metrics to use for determining pixel sizes. */ @@ -106,7 +103,7 @@ public class ProgressCanvasViewer extends AbstractProgressViewer { @Override protected List getSelectionFromWidget() { //No selection on a Canvas - return EMPTY_LIST; + return Collections.EMPTY_LIST; } @Override @@ -210,13 +207,13 @@ public class ProgressCanvasViewer extends AbstractProgressViewer { } @Override - public void add(Object[] elements) { + public void add(JobTreeElement... elements) { refresh(true); } @Override - public void remove(Object[] elements) { + public void remove(JobTreeElement... elements) { refresh(true); } diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressInfoItem.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressInfoItem.java index a93782c6b60..a7d103a8b39 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressInfoItem.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressInfoItem.java @@ -100,7 +100,7 @@ public class ProgressInfoItem extends Composite { ToolItem actionButton; - List taskEntries = new ArrayList(0); + List<Link> taskEntries = new ArrayList<>(0); private ProgressBar progressBar; @@ -323,7 +323,7 @@ public class ProgressInfoItem extends Composite { IDialogConstants.VERTICAL_SPACING); linkData.left = new FormAttachment(progressLabel, 0, SWT.LEFT); linkData.right = new FormAttachment(actionBar, 0, SWT.LEFT); - ((Link) taskEntries.get(0)).setLayoutData(linkData); + taskEntries.get(0).setLayoutData(linkData); } } @@ -581,7 +581,7 @@ public class ProgressInfoItem extends Composite { // Remove completed tasks if (infos.length < taskEntries.size()) { for (int i = infos.length; i < taskEntries.size(); i++) { - ((Link) taskEntries.get(i)).dispose(); + taskEntries.get(i).dispose(); } if (infos.length > 1) @@ -732,7 +732,7 @@ public class ProgressInfoItem extends Composite { // Give an initial value so as to constrain the link shortening linkData.width = 20; - ((Link) taskEntries.get(0)).setLayoutData(linkData); + taskEntries.get(0).setLayoutData(linkData); } } @@ -758,7 +758,7 @@ public class ProgressInfoItem extends Composite { // Give an initial value so as to constrain the link shortening linkData.width = 20; } else { - Link previous = (Link) taskEntries.get(index - 1); + Link previous = taskEntries.get(index - 1); linkData.top = new FormAttachment(previous, IDialogConstants.VERTICAL_SPACING); linkData.left = new FormAttachment(previous, 0, SWT.LEFT); @@ -782,7 +782,7 @@ public class ProgressInfoItem extends Composite { }); taskEntries.add(link); } else { - link = (Link) taskEntries.get(index); + link = taskEntries.get(index); } // check for action property @@ -933,9 +933,9 @@ public class ProgressInfoItem extends Composite { setForeground(color); progressLabel.setForeground(color); - Iterator taskEntryIterator = taskEntries.iterator(); + Iterator<Link> taskEntryIterator = taskEntries.iterator(); while (taskEntryIterator.hasNext()) { - ((Link) taskEntryIterator.next()).setForeground(color); + taskEntryIterator.next().setForeground(color); } } @@ -951,9 +951,9 @@ public class ProgressInfoItem extends Composite { actionBar.setBackground(color); jobImageLabel.setBackground(color); - Iterator taskEntryIterator = taskEntries.iterator(); + Iterator<Link> taskEntryIterator = taskEntries.iterator(); while (taskEntryIterator.hasNext()) { - ((Link) taskEntryIterator.next()).setBackground(color); + taskEntryIterator.next().setBackground(color); } } diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManager.java index da40f64605b..881001f99a2 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManager.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManager.java @@ -32,7 +32,6 @@ import java.util.Objects; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import java.util.stream.StreamSupport; import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitorWithBlocking; @@ -254,14 +253,14 @@ public class ProgressManager extends ProgressProvider implements IProgressServic info.beginTask(taskName, totalWork); refreshJobInfo(info); currentTaskName = taskName; - monitors.stream().forEach(listener -> listener.beginTask(taskName, totalWork)); + monitors.forEach(listener -> listener.beginTask(taskName, totalWork)); } @Override public void done() { info.clearTaskInfo(); info.clearChildren(); - monitors.stream().forEach(IProgressMonitorWithBlocking::done); + monitors.forEach(IProgressMonitorWithBlocking::done); } @Override @@ -270,7 +269,7 @@ public class ProgressManager extends ProgressProvider implements IProgressServic info.addWork(work); refreshJobInfo(info); } - monitors.stream().forEach(listener -> listener.internalWorked(work)); + monitors.forEach(listener -> listener.internalWorked(work)); } @Override @@ -284,7 +283,7 @@ public class ProgressManager extends ProgressProvider implements IProgressServic if (value && !info.isCanceled()) { info.cancel(); // Only inform the first time - monitors.stream().forEach(listener -> listener.setCanceled(value)); + monitors.forEach(listener -> listener.setCanceled(value)); } } @@ -299,7 +298,7 @@ public class ProgressManager extends ProgressProvider implements IProgressServic info.clearChildren(); refreshJobInfo(info); currentTaskName = taskName; - monitors.stream().forEach(listener -> listener.setTaskName(taskName)); + monitors.forEach(listener -> listener.setTaskName(taskName)); } @Override @@ -310,7 +309,7 @@ public class ProgressManager extends ProgressProvider implements IProgressServic info.clearChildren(); info.addSubTask(name); refreshJobInfo(info); - monitors.stream().forEach(listener -> listener.subTask(name)); + monitors.forEach(listener -> listener.subTask(name)); } @Override @@ -322,14 +321,14 @@ public class ProgressManager extends ProgressProvider implements IProgressServic public void clearBlocked() { info.setBlockedStatus(null); refreshJobInfo(info); - monitors.stream().forEach(IProgressMonitorWithBlocking::clearBlocked); + monitors.forEach(IProgressMonitorWithBlocking::clearBlocked); } @Override public void setBlocked(IStatus reason) { info.setBlockedStatus(reason); refreshJobInfo(info); - monitors.stream().forEach(listener -> listener.setBlocked(reason)); + monitors.forEach(listener -> listener.setBlocked(reason)); } } @@ -605,9 +604,7 @@ public class ProgressManager extends ProgressProvider implements IProgressServic * @return IProgressMonitor */ public JobMonitor progressFor(Job job) { - return runnableMonitors.computeIfAbsent(job, (j) -> { - return new JobMonitor(j, new JobInfo(j)); - }); + return runnableMonitors.computeIfAbsent(job, j -> new JobMonitor(j, new JobInfo(j))); } /** @@ -705,7 +702,7 @@ public class ProgressManager extends ProgressProvider implements IProgressServic private void rememberListenersForJob(JobInfo info, Map<JobInfo, Set<IJobProgressManagerListener>> listenersMap) { Set<IJobProgressManagerListener> localListeners = listenersMap.computeIfAbsent(info, k -> new LinkedHashSet<>()); - StreamSupport.stream(listeners.spliterator(), false) + listeners.stream() .filter(listener -> !isCurrentDisplaying(info.getJob(), listener.showsDebug())) .forEach(localListeners::add); } diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorJobsDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorJobsDialog.java index a6c44482f87..f3448b9530f 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorJobsDialog.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorJobsDialog.java @@ -13,7 +13,6 @@ package org.eclipse.ui.internal.progress; import static org.eclipse.swt.events.SelectionListener.widgetSelectedAdapter; import java.lang.reflect.InvocationTargetException; - import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitorWithBlocking; import org.eclipse.core.runtime.IStatus; @@ -118,7 +117,8 @@ public class ProgressMonitorJobsDialog extends ProgressMonitorDialog { viewer = new DetailedProgressViewer(viewerComposite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); viewer.setComparator(new ViewerComparator() { - @Override + @SuppressWarnings({ "unchecked", "rawtypes" }) + @Override public int compare(Viewer testViewer, Object e1, Object e2) { return ((Comparable) e1).compareTo(e2); } diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressRegion.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressRegion.java index 16048097046..670944869ca 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressRegion.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressRegion.java @@ -75,8 +75,6 @@ public class ProgressRegion { * * @param parent * The parent widget of the composite. - * @param workbenchWindow - * The WorkbenchWindow this is in. * @return Control */ @PostConstruct diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressViewUpdater.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressViewUpdater.java index 8d35a53e3b9..524129763cb 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressViewUpdater.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressViewUpdater.java @@ -14,6 +14,7 @@ import java.time.Duration; import java.util.Collection; import java.util.HashSet; import java.util.Iterator; +import java.util.LinkedHashSet; import org.eclipse.jface.util.Throttler; import org.eclipse.ui.IWorkbenchPreferenceConstants; import org.eclipse.ui.PlatformUI; @@ -39,15 +40,15 @@ class ProgressViewUpdater implements IJobProgressManagerListener { * The UpdatesInfo is a private class for keeping track of the updates * required. */ - class UpdatesInfo { + static class UpdatesInfo { - Collection additions = new HashSet(); + Collection<JobTreeElement> additions = new LinkedHashSet<>(); - Collection deletions = new HashSet(); + Collection<JobTreeElement> deletions = new LinkedHashSet<>(); - Collection refreshes = new HashSet(); + Collection<JobTreeElement> refreshes = new LinkedHashSet<>(); - boolean updateAll = false; + boolean updateAll; private UpdatesInfo() { //Create a new instance of the info @@ -58,7 +59,7 @@ class ProgressViewUpdater implements IJobProgressManagerListener { * * @param addition */ - void add(JobTreeElement addition) { + void add(JobTreeElement addition) { additions.add(addition); } @@ -67,7 +68,7 @@ class ProgressViewUpdater implements IJobProgressManagerListener { * * @param removal */ - void remove(JobTreeElement removal) { + void remove(JobTreeElement removal) { deletions.add(removal); } @@ -76,26 +77,26 @@ class ProgressViewUpdater implements IJobProgressManagerListener { * * @param refresh */ - void refresh(JobTreeElement refresh) { + void refresh(JobTreeElement refresh) { refreshes.add(refresh); } /** * Reset the caches after completion of an update. */ - void reset() { + void reset() { additions.clear(); deletions.clear(); refreshes.clear(); updateAll = false; } - void processForUpdate() { - HashSet staleAdditions = new HashSet(); + void processForUpdate() { + HashSet<JobTreeElement> staleAdditions = new HashSet<>(); - Iterator additionsIterator = additions.iterator(); + Iterator<JobTreeElement> additionsIterator = additions.iterator(); while (additionsIterator.hasNext()) { - JobTreeElement treeElement = (JobTreeElement) additionsIterator + JobTreeElement treeElement = additionsIterator .next(); if (!treeElement.isActive()) { if (deletions.contains(treeElement)) { @@ -106,10 +107,10 @@ class ProgressViewUpdater implements IJobProgressManagerListener { additions.removeAll(staleAdditions); - HashSet obsoleteRefresh = new HashSet(); - Iterator refreshIterator = refreshes.iterator(); + HashSet<JobTreeElement> obsoleteRefresh = new HashSet<>(); + Iterator<JobTreeElement> refreshIterator = refreshes.iterator(); while (refreshIterator.hasNext()) { - JobTreeElement treeElement = (JobTreeElement) refreshIterator + JobTreeElement treeElement = refreshIterator .next(); if (deletions.contains(treeElement) || additions.contains(treeElement)) { @@ -194,7 +195,7 @@ class ProgressViewUpdater implements IJobProgressManagerListener { * @param provider */ void removeCollector(IProgressUpdateCollector provider) { - HashSet newCollectors = new HashSet(); + HashSet<IProgressUpdateCollector> newCollectors = new HashSet<>(); for (int i = 0; i < collectors.length; i++) { if (!collectors[i].equals(provider)) { newCollectors.add(collectors[i]); @@ -224,14 +225,15 @@ class ProgressViewUpdater implements IJobProgressManagerListener { } else { // Lock while getting local copies of the caches. - Object[] updateItems; - Object[] additionItems; - Object[] deletionItems; + JobTreeElement[] updateItems; + JobTreeElement[] additionItems; + JobTreeElement[] deletionItems; + currentInfo.processForUpdate(); - updateItems = currentInfo.refreshes.toArray(); - additionItems = currentInfo.additions.toArray(); - deletionItems = currentInfo.deletions.toArray(); + updateItems = currentInfo.refreshes.toArray(new JobTreeElement[0]); + additionItems = currentInfo.additions.toArray(new JobTreeElement[0]); + deletionItems = currentInfo.deletions.toArray(new JobTreeElement[0]); currentInfo.reset(); @@ -250,15 +252,6 @@ class ProgressViewUpdater implements IJobProgressManagerListener { } /** - * Get the updates info that we are using in the receiver. - * - * @return Returns the currentInfo. - */ - UpdatesInfo getCurrentInfo() { - return currentInfo; - } - - /** * Refresh the supplied JobInfo. * @param info */ @@ -286,25 +279,20 @@ class ProgressViewUpdater implements IJobProgressManagerListener { currentInfo.refresh(info); //Add in a 100ms delay so as to keep priority low throttledUpdate.throttledExec(); - } @Override public void addGroup(GroupInfo info) { - currentInfo.add(info); throttledUpdate.throttledExec(); - } @Override public void refreshAll() { - currentInfo.updateAll = true; //Add in a 100ms delay so as to keep priority low throttledUpdate.throttledExec(); - } @Override @@ -317,7 +305,6 @@ class ProgressViewUpdater implements IJobProgressManagerListener { currentInfo.refresh(group); } throttledUpdate.throttledExec(); - } @Override @@ -335,7 +322,6 @@ class ProgressViewUpdater implements IJobProgressManagerListener { public void removeGroup(GroupInfo group) { currentInfo.remove(group); throttledUpdate.throttledExec(); - } @Override diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressViewerContentProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressViewerContentProvider.java index 2800717e0ee..3f4d1c6ad71 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressViewerContentProvider.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressViewerContentProvider.java @@ -12,6 +12,7 @@ package org.eclipse.ui.internal.progress; import java.util.HashSet; import java.util.Iterator; +import java.util.LinkedHashSet; import java.util.Set; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; @@ -66,7 +67,7 @@ public class ProgressViewerContentProvider extends ProgressContentProvider { Job updateJob = new WorkbenchJob("Refresh finished") {//$NON-NLS-1$ @Override public IStatus runInUIThread(IProgressMonitor monitor) { - refresh(new Object[] { element }); + refresh(element); return Status.OK_STATUS; } @@ -94,7 +95,7 @@ public class ProgressViewerContentProvider extends ProgressContentProvider { if (element == null) { refresh(); } else { - ProgressViewerContentProvider.this.remove(new Object[] { element }); + remove(element); } return Status.OK_STATUS; } @@ -114,7 +115,7 @@ public class ProgressViewerContentProvider extends ProgressContentProvider { } @Override - public void refresh(Object[] elements) { + public void refresh(JobTreeElement... elements) { for (Object refresh : getRoots(elements, true)) { progressViewer.refresh(refresh, true); } @@ -124,47 +125,47 @@ public class ProgressViewerContentProvider extends ProgressContentProvider { public Object[] getElements(Object inputElement) { Object[] elements = super.getElements(inputElement); - if (!showFinished) + if (!showFinished) { return elements; + } - Set kept = FinishedJobs.getInstance().getKeptAsSet(); + Set<JobTreeElement> kept = FinishedJobs.getInstance().getKeptAsSet(); - if (kept.size() == 0) + if (kept.size() == 0) { return elements; + } - Set all = new HashSet(); + Set<Object> all = new HashSet<>(); for (Object element : elements) { all.add(element); } - - Iterator keptIterator = kept.iterator(); + Iterator<JobTreeElement> keptIterator = kept.iterator(); while (keptIterator.hasNext()) { - JobTreeElement next = (JobTreeElement) keptIterator.next(); - if (next.getParent() != null && all.contains(next.getParent())) + JobTreeElement next = keptIterator.next(); + if (next.getParent() != null && all.contains(next.getParent())) { continue; + } all.add(next); - } - return all.toArray(); } /** - * Get the root elements of the passed elements as we only show roots. - * Replace the element with its parent if subWithParent is true + * Get the root elements of the passed elements as we only show roots. Replace + * the element with its parent if subWithParent is true * * @param elements * the array of elements. * @param subWithParent * sub with parent flag. - * @return Object[] + * @return JobTreeElement[] */ - private Object[] getRoots(Object[] elements, boolean subWithParent) { + private JobTreeElement[] getRoots(JobTreeElement[] elements, boolean subWithParent) { if (elements.length == 0) { return elements; } - HashSet roots = new HashSet(); + Set<JobTreeElement> roots = new LinkedHashSet<>(); for (Object element : elements) { JobTreeElement jobTreeElement = (JobTreeElement) element; if (jobTreeElement.isJobInfo()) { @@ -180,17 +181,17 @@ public class ProgressViewerContentProvider extends ProgressContentProvider { roots.add(jobTreeElement); } } - return roots.toArray(); + return roots.toArray(new JobTreeElement[0]); } @Override - public void add(Object[] elements) { + public void add(JobTreeElement... elements) { progressViewer.add(elements); } @Override - public void remove(Object[] elements) { + public void remove(JobTreeElement... elements) { progressViewer.remove(elements); } diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/StatusAdapterHelper.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/StatusAdapterHelper.java index 29477cd58fc..b370e1cf9ed 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/StatusAdapterHelper.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/StatusAdapterHelper.java @@ -12,7 +12,6 @@ package org.eclipse.ui.internal.progress; import java.util.HashMap; - import org.eclipse.ui.progress.IProgressConstants; import org.eclipse.ui.statushandlers.StatusAdapter; @@ -24,7 +23,7 @@ import org.eclipse.ui.statushandlers.StatusAdapter; public class StatusAdapterHelper { private static StatusAdapterHelper instance; - private HashMap map; + private HashMap<JobInfo, StatusAdapter> map; private StatusAdapterHelper() { } @@ -47,21 +46,22 @@ public class StatusAdapterHelper { */ public void putStatusAdapter(JobInfo info, StatusAdapter statusAdapter) { if (map == null) { - map = new HashMap(); + map = new HashMap<>(); } map.put(info, statusAdapter); } /** * Return the adapter for this info. + * * @param info - * @return + * @return can return null */ public StatusAdapter getStatusAdapter(JobInfo info) { if (map == null) { return null; } - StatusAdapter statusAdapter = (StatusAdapter) map.remove(info); + StatusAdapter statusAdapter = map.remove(info); statusAdapter.setProperty( IProgressConstants.NO_IMMEDIATE_ERROR_PROMPT_PROPERTY, Boolean.FALSE); diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/SubTaskInfo.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/SubTaskInfo.java index 981c841b5b7..077d3aaf63e 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/SubTaskInfo.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/SubTaskInfo.java @@ -66,7 +66,7 @@ class SubTaskInfo extends JobTreeElement { } @Override - public Object getParent() { + public JobInfo getParent() { return jobInfo; } |