Enhanced 'for' loops and other modern Java niceties
Change-Id: Ia50394e42b45e3dd832cc9346508716049232575
diff --git a/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/refresh/MonitorManager.java b/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/refresh/MonitorManager.java
index 1f6882d..b7206f2 100644
--- a/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/refresh/MonitorManager.java
+++ b/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/refresh/MonitorManager.java
@@ -13,7 +13,6 @@
package org.eclipse.core.internal.refresh;
import java.util.*;
-import java.util.Map.Entry;
import org.eclipse.core.internal.events.ILifecycleListener;
import org.eclipse.core.internal.events.LifecycleEvent;
import org.eclipse.core.internal.resources.Workspace;
@@ -107,9 +106,10 @@
resourcesToMonitor.add(projects[i]);
try {
IResource[] members = projects[i].members();
- for (int j = 0; j < members.length; j++)
+ for (int j = 0; j < members.length; j++) {
if (members[j].isLinked())
resourcesToMonitor.add(members[j]);
+ }
} catch (CoreException e) {
Policy.log(IStatus.WARNING, Messages.refresh_refreshErr, e);
}
@@ -130,8 +130,7 @@
private boolean isMonitoring(IResource resource) {
synchronized (registeredMonitors) {
- for (Iterator<IRefreshMonitor> i = registeredMonitors.keySet().iterator(); i.hasNext();) {
- List<IResource> resources = registeredMonitors.get(i.next());
+ for (List<IResource> resources : registeredMonitors.values()) {
if ((resources != null) && (resources.contains(resource)))
return true;
}
@@ -179,10 +178,9 @@
}
// synchronized: protect the collection during iteration
synchronized (registeredMonitors) {
- for (Iterator<IResource> i = resources.iterator(); i.hasNext();) {
- resource = i.next();
- pollMonitor.monitor(resource);
- registerMonitor(pollMonitor, resource);
+ for (IResource resource1 : resources) {
+ pollMonitor.monitor(resource1);
+ registerMonitor(pollMonitor, resource1);
}
registeredMonitors.remove(monitor);
}
@@ -194,7 +192,7 @@
}
/**
- * @see org.eclipse.core.resources.IPathVariableChangeListener#pathVariableChanged(org.eclipse.core.resources.IPathVariableChangeEvent)
+ * @see IPathVariableChangeListener#pathVariableChanged(IPathVariableChangeEvent)
*/
@Override
public void pathVariableChanged(IPathVariableChangeEvent event) {
@@ -202,9 +200,8 @@
return;
String variableName = event.getVariableName();
final Set<IResource> invalidResources = new HashSet<>();
- for (Iterator<List<IResource>> i = registeredMonitors.values().iterator(); i.hasNext();) {
- for (Iterator<IResource> j = i.next().iterator(); j.hasNext();) {
- IResource resource = j.next();
+ for (List<IResource> resources : registeredMonitors.values()) {
+ for (IResource resource : resources) {
IPath rawLocation = resource.getRawLocation();
if (rawLocation != null) {
if (rawLocation.segmentCount() > 0 && variableName.equals(rawLocation.segment(0)) && !invalidResources.contains(resource)) {
@@ -218,8 +215,7 @@
@Override
public void run(IProgressMonitor monitor) {
SubMonitor subMonitor = SubMonitor.convert(monitor, invalidResources.size() * 2);
- for (Iterator<IResource> i = invalidResources.iterator(); i.hasNext();) {
- IResource resource = i.next();
+ for (IResource resource : invalidResources) {
unmonitor(resource, subMonitor.split(1));
monitor(resource, subMonitor.split(1));
// Because the monitor is installed asynchronously we
@@ -250,10 +246,11 @@
// synchronized: protect the collection during remove
synchronized (registeredMonitors) {
List<IResource> resources = registeredMonitors.get(monitor);
- if (resources != null && !resources.isEmpty())
+ if (resources != null && !resources.isEmpty()) {
resources.remove(resource);
- else
+ } else {
registeredMonitors.remove(monitor);
+ }
}
if (Policy.DEBUG_AUTO_REFRESH)
Policy.debug(RefreshManager.DEBUG_PREFIX + " removing monitor (" + monitor + ") on resource: " + resource); //$NON-NLS-1$ //$NON-NLS-2$
@@ -263,9 +260,7 @@
Throwable t = null;
try {
return provider.installMonitor(resource, refreshManager, progressMonitor);
- } catch (Exception e) {
- t = e;
- } catch (LinkageError e) {
+ } catch (Exception | LinkageError e) {
t = e;
}
IStatus error = new Status(IStatus.ERROR, ResourcesPlugin.PI_RESOURCES, 1, Messages.refresh_installError, t);
@@ -281,8 +276,9 @@
List<IResource> resourcesToMonitor = getResourcesToMonitor();
SubMonitor subMonitor = SubMonitor.convert(progressMonitor, resourcesToMonitor.size() + 1);
boolean refreshNeeded = false;
- for (Iterator<IResource> i = resourcesToMonitor.iterator(); i.hasNext();)
- refreshNeeded |= !monitor(i.next(), subMonitor.split(1));
+ for (IResource resource : resourcesToMonitor) {
+ refreshNeeded |= !monitor(resource, subMonitor.split(1));
+ }
workspace.getPathVariableManager().addChangeListener(this);
workspace.addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE);
//adding the lifecycle listener twice does no harm
@@ -291,10 +287,10 @@
Policy.debug(RefreshManager.DEBUG_PREFIX + " starting monitor manager."); //$NON-NLS-1$
//If not exclusively using polling, create a polling monitor and run it once, to catch
//changes that occurred while the native monitor was turned off.
+ subMonitor.split(1);
if (refreshNeeded) {
new PollingMonitor(refreshManager).runOnce();
}
- subMonitor.split(1);
}
/**
@@ -305,8 +301,7 @@
workspace.getPathVariableManager().removeChangeListener(this);
// synchronized: protect the collection during iteration
synchronized (registeredMonitors) {
- for (Iterator<IRefreshMonitor> i = registeredMonitors.keySet().iterator(); i.hasNext();) {
- IRefreshMonitor monitor = i.next();
+ for (IRefreshMonitor monitor : registeredMonitors.keySet()) {
monitor.unmonitor(null);
}
}
@@ -322,12 +317,11 @@
SubMonitor subMonitor = SubMonitor.convert(progressMonitor, 100);
synchronized (registeredMonitors) {
SubMonitor loopMonitor = subMonitor.split(90).setWorkRemaining(registeredMonitors.entrySet().size());
- for (Iterator<Entry<IRefreshMonitor, List<IResource>>> i = registeredMonitors.entrySet().iterator(); i.hasNext();) {
+ for (Map.Entry<IRefreshMonitor, List<IResource>> entry : registeredMonitors.entrySet()) {
loopMonitor.worked(1);
- Entry<IRefreshMonitor, List<IResource>> current = i.next();
- List<IResource> resources = current.getValue();
- if ((resources != null) && !resources.isEmpty() && resources.contains(resource)) {
- current.getKey().unmonitor(resource);
+ List<IResource> resources = entry.getValue();
+ if (resources != null && resources.contains(resource)) {
+ entry.getKey().unmonitor(resource);
resources.remove(resource);
}
}
@@ -345,7 +339,6 @@
} catch (CoreException e) {
Policy.log(IStatus.WARNING, Messages.refresh_refreshErr, e);
}
-
if (children != null && children.length > 0) {
SubMonitor subMonitor = SubMonitor.convert(progressMonitor, children.length);
for (int i = 0; i < children.length; i++) {