diff options
Diffstat (limited to 'examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceSetContentProvider.java')
-rw-r--r-- | examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceSetContentProvider.java | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceSetContentProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceSetContentProvider.java index b879d909f..91266c499 100644 --- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceSetContentProvider.java +++ b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceSetContentProvider.java @@ -12,8 +12,11 @@ * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.team.examples.pessimistic; - -import java.util.*; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; import org.eclipse.core.resources.IResource; import org.eclipse.jface.viewers.ITreeContentProvider; @@ -21,39 +24,41 @@ import org.eclipse.jface.viewers.Viewer; public class ResourceSetContentProvider implements ITreeContentProvider { private static final Object[] EMPTY_ARRAY= new Object[0]; - private Map fResourceTree; + private Map<IResource, Set<IResource>> fResourceTree; private IResource[] fRoots; - public ResourceSetContentProvider(Set resources) { - fResourceTree= new HashMap(1); - Set roots= new HashSet(resources); - for(Iterator i= resources.iterator(); i.hasNext(); ) { - IResource resource= (IResource)i.next(); + public ResourceSetContentProvider(Set<IResource> resources) { + fResourceTree = new HashMap<>(1); + Set<IResource> roots= new HashSet<>(resources); + for (Object element : resources) { + IResource resource= (IResource)element; if(resource.getType() == IResource.ROOT) { continue; // root cannot be displayed } IResource parent= resource.getParent(); if (roots.contains(parent)) { roots.remove(resource); - Set set= (Set)fResourceTree.get(parent); + Set<IResource> set= fResourceTree.get(parent); if (set == null) { - set= new HashSet(1); + set= new HashSet<>(1); fResourceTree.put(parent, set); } set.add(resource); } } - fRoots= (IResource[])roots.toArray(new IResource[roots.size()]); + fRoots= roots.toArray(new IResource[roots.size()]); } + @Override public Object[] getChildren(Object parentElement) { - Set set= (Set) fResourceTree.get(parentElement); + Set<IResource> set= fResourceTree.get(parentElement); if (set != null) { return set.toArray(); } return EMPTY_ARRAY; } + @Override public Object getParent(Object element) { if (element instanceof IResource) { return ((IResource)element).getParent(); @@ -61,18 +66,22 @@ public class ResourceSetContentProvider implements ITreeContentProvider { return null; } + @Override public boolean hasChildren(Object element) { return fResourceTree.get(element) != null; } + @Override public Object[] getElements(Object inputElement) { return fRoots; } + @Override public void dispose() { fResourceTree= null; } + @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } |