Sometimes structures in the workbench, such as in the Project Explorer in the Java EE perspective, are not represented directly as resources, but connect to resources. We use the IAdaptable interface to ask for the underlying resource and the proceed as usual. Signed-off-by: Robin Rosenberg <robin.rosenberg@xxxxxxxxxx> --- .../org/spearce/egit/core/internal/UpdateJob.java | 2 ++ .../egit/core/op/AssumeUnchangedOperation.java | 6 +++--- .../egit/core/op/DisconnectProviderOperation.java | 7 +++---- .../org/spearce/egit/core/op/TrackOperation.java | 6 +++--- .../org/spearce/egit/core/op/UntrackOperation.java | 6 +++--- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/org.spearce.egit.core/src/org/spearce/egit/core/internal/UpdateJob.java b/org.spearce.egit.core/src/org/spearce/egit/core/internal/UpdateJob.java index 9641529..be1c591 100644 --- a/org.spearce.egit.core/src/org/spearce/egit/core/internal/UpdateJob.java +++ b/org.spearce.egit.core/src/org/spearce/egit/core/internal/UpdateJob.java @@ -21,6 +21,7 @@ import org.eclipse.core.resources.IResourceProxy; import org.eclipse.core.resources.IResourceProxyVisitor; import org.eclipse.core.resources.IResourceVisitor; import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.NullProgressMonitor; @@ -65,6 +66,7 @@ public class UpdateJob extends Job { final int[] count=new int[1]; long t0=System.currentTimeMillis(); for (Object obj : rsrcList) { + obj = ((IAdaptable)obj).getAdapter(IResource.class); if (obj instanceof IContainer) { ((IContainer)obj).accept(new IResourceProxyVisitor() { public boolean visit(IResourceProxy rp) throws CoreException { diff --git a/org.spearce.egit.core/src/org/spearce/egit/core/op/AssumeUnchangedOperation.java b/org.spearce.egit.core/src/org/spearce/egit/core/op/AssumeUnchangedOperation.java index 856ef3f..78a84bb 100644 --- a/org.spearce.egit.core/src/org/spearce/egit/core/op/AssumeUnchangedOperation.java +++ b/org.spearce.egit.core/src/org/spearce/egit/core/op/AssumeUnchangedOperation.java @@ -18,6 +18,7 @@ import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IResourceVisitor; import org.eclipse.core.resources.IWorkspaceRunnable; import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor; import org.spearce.egit.core.Activator; @@ -51,9 +52,8 @@ public class AssumeUnchangedOperation implements IWorkspaceRunnable { final IdentityHashMap<RepositoryMapping, Boolean> tomerge = new IdentityHashMap<RepositoryMapping, Boolean>(); m.beginTask(CoreText.AssumeUnchangedOperation_adding, rsrcList.size() * 200); try { - final Iterator i = rsrcList.iterator(); - while (i.hasNext()) { - final Object obj = i.next(); + for (Object obj : rsrcList) { + obj = ((IAdaptable)obj).getAdapter(IResource.class); if (obj instanceof IResource) { final IResource toAssumeValid = (IResource)obj; final RepositoryMapping rm = RepositoryMapping.getMapping(toAssumeValid); diff --git a/org.spearce.egit.core/src/org/spearce/egit/core/op/DisconnectProviderOperation.java b/org.spearce.egit.core/src/org/spearce/egit/core/op/DisconnectProviderOperation.java index 7fde335..b63c69b 100644 --- a/org.spearce.egit.core/src/org/spearce/egit/core/op/DisconnectProviderOperation.java +++ b/org.spearce.egit.core/src/org/spearce/egit/core/op/DisconnectProviderOperation.java @@ -8,13 +8,13 @@ package org.spearce.egit.core.op; import java.util.Collection; -import java.util.Iterator; import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IWorkspaceRunnable; import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.SubProgressMonitor; @@ -51,9 +51,8 @@ public class DisconnectProviderOperation implements IWorkspaceRunnable { m.beginTask(CoreText.DisconnectProviderOperation_disconnecting, projectList.size() * 200); try { - final Iterator i = projectList.iterator(); - while (i.hasNext()) { - final Object obj = i.next(); + for (Object obj : projectList) { + obj = ((IAdaptable)obj).getAdapter(IResource.class); if (obj instanceof IProject) { final IProject p = (IProject) obj; diff --git a/org.spearce.egit.core/src/org/spearce/egit/core/op/TrackOperation.java b/org.spearce.egit.core/src/org/spearce/egit/core/op/TrackOperation.java index af16cdb..29b4344 100644 --- a/org.spearce.egit.core/src/org/spearce/egit/core/op/TrackOperation.java +++ b/org.spearce.egit.core/src/org/spearce/egit/core/op/TrackOperation.java @@ -21,6 +21,7 @@ import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IResourceVisitor; import org.eclipse.core.resources.IWorkspaceRunnable; import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.team.core.Team; @@ -65,9 +66,8 @@ public class TrackOperation implements IWorkspaceRunnable { final IdentityHashMap<RepositoryMapping, Boolean> tomerge = new IdentityHashMap<RepositoryMapping, Boolean>(); m.beginTask(CoreText.AddOperation_adding, rsrcList.size() * 200); try { - final Iterator i = rsrcList.iterator(); - while (i.hasNext()) { - final Object obj = i.next(); + for (Object obj : rsrcList) { + obj = ((IAdaptable)obj).getAdapter(IResource.class); if (obj instanceof IResource) { final IResource toAdd = (IResource)obj; final RepositoryMapping rm = RepositoryMapping.getMapping(toAdd); diff --git a/org.spearce.egit.core/src/org/spearce/egit/core/op/UntrackOperation.java b/org.spearce.egit.core/src/org/spearce/egit/core/op/UntrackOperation.java index fdc9c2e..369ff38 100644 --- a/org.spearce.egit.core/src/org/spearce/egit/core/op/UntrackOperation.java +++ b/org.spearce.egit.core/src/org/spearce/egit/core/op/UntrackOperation.java @@ -20,6 +20,7 @@ import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IResourceVisitor; import org.eclipse.core.resources.IWorkspaceRunnable; import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor; import org.spearce.egit.core.Activator; @@ -62,9 +63,8 @@ public class UntrackOperation implements IWorkspaceRunnable { final IdentityHashMap<RepositoryMapping, Boolean> tomerge = new IdentityHashMap<RepositoryMapping, Boolean>(); m.beginTask(CoreText.AddOperation_adding, rsrcList.size() * 200); try { - final Iterator i = rsrcList.iterator(); - while (i.hasNext()) { - final Object obj = i.next(); + for (Object obj : rsrcList) { + obj = ((IAdaptable)obj).getAdapter(IResource.class); if (obj instanceof IResource) { final IResource toRemove = (IResource)obj; final IProject p = toRemove.getProject(); -- 1.5.6.2.220.g44701 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html