### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.ui Index: ui/org/eclipse/jdt/internal/ui/packageview/PackageExplorerPart.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/packageview/PackageExplorerPart.java,v retrieving revision 1.330 diff -u -r1.330 PackageExplorerPart.java --- ui/org/eclipse/jdt/internal/ui/packageview/PackageExplorerPart.java 4 Mar 2011 19:39:34 -0000 1.330 +++ ui/org/eclipse/jdt/internal/ui/packageview/PackageExplorerPart.java 5 May 2011 09:03:53 -0000 @@ -1504,14 +1504,4 @@ fViewer.setComparator(new JavaElementComparator()); } } - - //---- test methods for working set mode ------------------------------- - - public void internalTestShowWorkingSets(IWorkingSet[] workingSets) { - if (fWorkingSetModel == null) - createWorkingSetModel(); - fWorkingSetModel.setActiveWorkingSets(workingSets); - fWorkingSetModel.configured(); - rootModeChanged(PackageExplorerPart.WORKING_SETS_AS_ROOTS); - } } #P org.eclipse.jdt.ui.tests Index: ui/org/eclipse/jdt/ui/tests/packageview/WorkingSetDropAdapterTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/WorkingSetDropAdapterTest.java,v retrieving revision 1.11 diff -u -r1.11 WorkingSetDropAdapterTest.java --- ui/org/eclipse/jdt/ui/tests/packageview/WorkingSetDropAdapterTest.java 1 Mar 2011 12:36:43 -0000 1.11 +++ ui/org/eclipse/jdt/ui/tests/packageview/WorkingSetDropAdapterTest.java 5 May 2011 09:03:55 -0000 @@ -11,7 +11,6 @@ package org.eclipse.jdt.ui.tests.packageview; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import junit.framework.TestCase; @@ -24,6 +23,8 @@ import org.eclipse.core.resources.IFolder; +import org.eclipse.text.tests.Accessor; + import org.eclipse.jface.viewers.ITreeSelection; import org.eclipse.jface.viewers.TreePath; import org.eclipse.jface.viewers.TreeSelection; @@ -43,6 +44,7 @@ import org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart; import org.eclipse.jdt.internal.ui.packageview.WorkingSetDropAdapter; import org.eclipse.jdt.internal.ui.workingsets.IWorkingSetIDs; +import org.eclipse.jdt.internal.ui.workingsets.WorkingSetModel; public class WorkingSetDropAdapterTest extends TestCase { @@ -50,6 +52,8 @@ private PackageExplorerPart fPackageExplorer; private WorkingSetDropAdapter fAdapter; + private Accessor fPackageExplorerPart; + protected void setUp() throws Exception { super.setUp(); fProject= JavaProjectHelper.createJavaProject("Test", "bin"); @@ -67,19 +71,15 @@ } public void testInvalidTarget2() throws Exception { - List selectedElements= new ArrayList(); - selectedElements.add(fProject); - ITreeSelection selection= createSelection(selectedElements, null); + ITreeSelection selection= createSelection(fProject, null); performDnD(DND.DROP_NONE, selection, fProject); } public void testInvalidSource1() throws Exception { IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fProject, "src"); - List selectedElements= new ArrayList(); - selectedElements.add(root); - ITreeSelection selection= createSelection(selectedElements, null); + ITreeSelection selection= createSelection(root, null); IWorkingSet target= PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSet( "Target", new IAdaptable[] {fProject}); performDnD(DND.DROP_NONE, selection, target); @@ -89,19 +89,15 @@ JavaProjectHelper.addSourceContainer(fProject, "src"); IFolder folder= fProject.getProject().getFolder("folder"); folder.create(true, true, null); - List selectedElements= new ArrayList(); - selectedElements.add(folder); - ITreeSelection selection= createSelection(selectedElements, null); + ITreeSelection selection= createSelection(folder, null); IWorkingSet target= PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSet( "Target", new IAdaptable[] {fProject}); performDnD(DND.DROP_NONE, selection, target); } public void testAddProject() throws Exception { - List selectedElements= new ArrayList(); - selectedElements.add(fProject); - ITreeSelection selection= createSelection(selectedElements, null); + ITreeSelection selection= createSelection(fProject, null); IWorkingSet target= PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSet( "Target", new IAdaptable[0]); @@ -112,13 +108,11 @@ } public void testMoveProject() throws Exception { - List selectedElements= new ArrayList(); - selectedElements.add(fProject); IWorkingSet source= PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSet( "Source", new IAdaptable[] {fProject}); List treePathes= new ArrayList(); treePathes.add(new TreePath(new Object[] {source, fProject})); - ITreeSelection selection= createSelection(selectedElements, treePathes); + ITreeSelection selection= createSelection(fProject, treePathes); IWorkingSet target= PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSet( "Target", new IAdaptable[0]); @@ -131,13 +125,11 @@ } public void testMoveToOthersProject() throws Exception { - List selectedElements= new ArrayList(); - selectedElements.add(fProject); IWorkingSet source= PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSet( "Source", new IAdaptable[] {fProject}); List treePathes= new ArrayList(); treePathes.add(new TreePath(new Object[] {source, fProject})); - ITreeSelection selection= createSelection(selectedElements, treePathes); + ITreeSelection selection= createSelection(fProject, treePathes); IWorkingSet target= PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSet( "Target", new IAdaptable[0]); @@ -152,70 +144,74 @@ } public void testRearrange1() throws Exception { - IWorkingSet ws1= createJavaWorkingSet("ws1", new IAdaptable[0]); - IWorkingSet ws2= createJavaWorkingSet("ws2", new IAdaptable[0]); - IWorkingSet ws3= createJavaWorkingSet("ws3", new IAdaptable[0]); - - fPackageExplorer.internalTestShowWorkingSets(new IWorkingSet[] {ws1, ws2, ws3}); - List selectedElements= new ArrayList(); - selectedElements.add(ws3); - ITreeSelection selection= createSelection(selectedElements, null); - performDnD(DND.DROP_MOVE, selection, ws1, JdtViewerDropAdapter.LOCATION_BEFORE); + IWorkingSet workingSets[]= createJavaWorkingSets(new String[] { "ws1", "ws2", "ws3" }); + + setWorkingSets(workingSets); + ITreeSelection selection= createSelection(workingSets[2], null); + performDnD(DND.DROP_MOVE, selection, workingSets[0], JdtViewerDropAdapter.LOCATION_BEFORE); IWorkingSet[] actual= fPackageExplorer.getWorkingSetModel().getActiveWorkingSets(); - assertEquals(ws3, actual[0]); - assertEquals(ws1, actual[1]); - assertEquals(ws2, actual[2]); + assertEquals(workingSets[2], actual[0]); + assertEquals(workingSets[0], actual[1]); + assertEquals(workingSets[1], actual[2]); } - private static IWorkingSet createJavaWorkingSet(String name, IAdaptable[] elements) { + private static IWorkingSet[] createJavaWorkingSets(String[] names) { IWorkingSetManager workingSetManager= PlatformUI.getWorkbench().getWorkingSetManager(); - IWorkingSet workingSet= workingSetManager.getWorkingSet(name); - if (workingSet != null) - workingSetManager.removeWorkingSet(workingSet); - workingSet= workingSetManager.createWorkingSet(name, elements); - workingSet.setId(IWorkingSetIDs.JAVA); - workingSetManager.addWorkingSet(workingSet); - return workingSet; + for (int i= 0; i < names.length; i++) { + IWorkingSet workingSet= workingSetManager.getWorkingSet(names[i]); + if (workingSet != null) + workingSetManager.removeWorkingSet(workingSet); + } + IWorkingSet[] sets= new IWorkingSet[names.length]; + for (int i= 0; i < names.length; i++) { + IWorkingSet workingSet= workingSetManager.createWorkingSet(names[i], new IAdaptable[0]); + workingSet.setId(IWorkingSetIDs.JAVA); + workingSetManager.addWorkingSet(workingSet); + sets[i]= workingSet; + } + return sets; } public void testRearrange2() throws Exception { - IWorkingSet ws1= createJavaWorkingSet("ws1", new IAdaptable[0]); - IWorkingSet ws2= createJavaWorkingSet("ws2", new IAdaptable[0]); - IWorkingSet ws3= createJavaWorkingSet("ws3", new IAdaptable[0]); - - fPackageExplorer.internalTestShowWorkingSets(new IWorkingSet[] {ws1, ws2, ws3}); - List selectedElements= new ArrayList(); - selectedElements.add(ws3); - ITreeSelection selection= createSelection(selectedElements, null); - performDnD(DND.DROP_MOVE, selection, ws1, JdtViewerDropAdapter.LOCATION_AFTER); + IWorkingSet workingSets[]= createJavaWorkingSets(new String[] { "ws1", "ws2", "ws3" }); + + setWorkingSets(workingSets); + ITreeSelection selection= createSelection(workingSets[2], null); + performDnD(DND.DROP_MOVE, selection, workingSets[0], JdtViewerDropAdapter.LOCATION_AFTER); IWorkingSet[] actual= fPackageExplorer.getWorkingSetModel().getActiveWorkingSets(); - assertEquals(ws1, actual[0]); - assertEquals(ws3, actual[1]); - assertEquals(ws2, actual[2]); + assertEquals(workingSets[0], actual[0]); + assertEquals(workingSets[2], actual[1]); + assertEquals(workingSets[1], actual[2]); } public void testRearrange3() throws Exception { - IWorkingSet ws1= createJavaWorkingSet("ws1", new IAdaptable[0]); - IWorkingSet ws2= createJavaWorkingSet("ws2", new IAdaptable[0]); - IWorkingSet ws3= createJavaWorkingSet("ws3", new IAdaptable[0]); - - fPackageExplorer.internalTestShowWorkingSets(new IWorkingSet[] {ws1, ws2, ws3}); - List selectedElements= new ArrayList(); - selectedElements.add(ws1); - ITreeSelection selection= createSelection(selectedElements, null); - performDnD(DND.DROP_MOVE, selection, ws3, JdtViewerDropAdapter.LOCATION_AFTER); + IWorkingSet workingSets[]= createJavaWorkingSets(new String[] { "ws1", "ws2", "ws3" }); + + setWorkingSets(workingSets); + ITreeSelection selection= createSelection(workingSets[0], null); + performDnD(DND.DROP_MOVE, selection, workingSets[2], JdtViewerDropAdapter.LOCATION_AFTER); IWorkingSet[] actual= fPackageExplorer.getWorkingSetModel().getActiveWorkingSets(); - assertEquals(ws2, actual[0]); - assertEquals(ws3, actual[1]); - assertEquals(ws1, actual[2]); + assertEquals(workingSets[1], actual[0]); + assertEquals(workingSets[2], actual[1]); + assertEquals(workingSets[0], actual[2]); + } + + private void setWorkingSets(IWorkingSet[] workingSets) { + WorkingSetModel model= fPackageExplorer.getWorkingSetModel(); + if (model == null) { + fPackageExplorerPart= new Accessor(fPackageExplorer, "org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart", getClass().getClassLoader()); + fPackageExplorerPart.invoke("createWorkingSetModel", null); + model= fPackageExplorer.getWorkingSetModel(); + } + model.setActiveWorkingSets(workingSets); + model.configured(); + fPackageExplorer.rootModeChanged(PackageExplorerPart.WORKING_SETS_AS_ROOTS); } - private ITreeSelection createSelection(List selectedElements, List treePathes) { + private ITreeSelection createSelection(Object selectedElement, List treePathes) { if (treePathes == null) { treePathes= new ArrayList(); - for (Iterator iter= selectedElements.iterator(); iter.hasNext();) { - treePathes.add(new TreePath(new Object[] { iter.next() })); - } + treePathes.add(new TreePath(new Object[] { selectedElement })); } return new TreeSelection((TreePath[])treePathes.toArray(new TreePath[treePathes.size()]), fPackageExplorer.getTreeViewer().getComparer());