Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 212389 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/ui/navigator/NavigatorActionService.java (-1 / +7 lines)
Lines 314-320 Link Here
314
		}
314
		}
315
	}
315
	}
316
316
317
	private CommonActionProvider getActionProviderInstance(
317
	/**
318
	 * 
319
	 * @param aProviderDescriptor
320
	 * @return a CommonActionProvider
321
	 * @noreference This method is not intended to be referenced by clients.
322
	 */
323
	public CommonActionProvider getActionProviderInstance(
318
			CommonActionProviderDescriptor aProviderDescriptor) {
324
			CommonActionProviderDescriptor aProviderDescriptor) {
319
		CommonActionProvider provider = null;
325
		CommonActionProvider provider = null;
320
		try {
326
		try {
(-).settings/.api_filters (+26 lines)
Added Link Here
1
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
<component id="org.eclipse.ui.navigator" version="2">
3
    <resource path="META-INF/MANIFEST.MF">
4
        <filter id="924844039">
5
            <message_arguments>
6
                <message_argument value="3.3.101.qualifier"/>
7
                <message_argument value="3.3.100.I20080606-1300"/>
8
            </message_arguments>
9
        </filter>
10
    </resource>
11
    <resource path="src/org/eclipse/ui/navigator/NavigatorActionService.java" type="org.eclipse.ui.navigator.NavigatorActionService">
12
        <filter id="643846161">
13
            <message_arguments>
14
                <message_argument value="CommonActionProviderDescriptor"/>
15
                <message_argument value="NavigatorActionService"/>
16
                <message_argument value="getActionProviderInstance(CommonActionProviderDescriptor)"/>
17
            </message_arguments>
18
        </filter>
19
        <filter id="338944126">
20
            <message_arguments>
21
                <message_argument value="org.eclipse.ui.navigator.NavigatorActionService"/>
22
                <message_argument value="getActionProviderInstance(CommonActionProviderDescriptor)"/>
23
            </message_arguments>
24
        </filter>
25
    </resource>
26
</component>
(-)src/org/eclipse/ui/tests/navigator/NavigatorTestBase.java (-18 / +39 lines)
Lines 26-31 Link Here
26
import org.eclipse.ui.navigator.CommonNavigator;
26
import org.eclipse.ui.navigator.CommonNavigator;
27
import org.eclipse.ui.navigator.CommonViewer;
27
import org.eclipse.ui.navigator.CommonViewer;
28
import org.eclipse.ui.navigator.INavigatorContentService;
28
import org.eclipse.ui.navigator.INavigatorContentService;
29
import org.eclipse.ui.navigator.NavigatorActionService;
29
import org.eclipse.ui.tests.navigator.util.TestWorkspace;
30
import org.eclipse.ui.tests.navigator.util.TestWorkspace;
30
31
31
public class NavigatorTestBase extends TestCase {
32
public class NavigatorTestBase extends TestCase {
Lines 37-43 Link Here
37
	public static final String COMMON_NAVIGATOR_TEST_EXT = "org.eclipse.ui.tests.navigator.testContent"; //$NON-NLS-1$
38
	public static final String COMMON_NAVIGATOR_TEST_EXT = "org.eclipse.ui.tests.navigator.testContent"; //$NON-NLS-1$
38
39
39
	protected String _navigatorInstanceId;
40
	protected String _navigatorInstanceId;
40
	
41
41
	protected Set expectedChildren = new HashSet();
42
	protected Set expectedChildren = new HashSet();
42
43
43
	protected IProject project;
44
	protected IProject project;
Lines 45-82 Link Here
45
	protected CommonViewer viewer;
46
	protected CommonViewer viewer;
46
47
47
	protected CommonNavigator _commonNavigator;
48
	protected CommonNavigator _commonNavigator;
48
	
49
	protected INavigatorContentService contentService;
50
51
	protected void setUp() throws Exception {
52
49
53
		if (_navigatorInstanceId == null)
50
	protected INavigatorContentService contentService;
54
			throw new RuntimeException("Set the _navigatorInstanceId in the constructor");
51
	protected NavigatorActionService _actionService;
55
52
56
		TestWorkspace.init();
53
	protected boolean _initTestData = true;
57
54
58
		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
55
	protected void setUp() throws Exception {
59
		project = root.getProject("Test"); //$NON-NLS-1$
60
56
61
		expectedChildren.add(project.getFolder("src")); //$NON-NLS-1$
57
		if (_navigatorInstanceId == null) {
62
		expectedChildren.add(project.getFolder("bin")); //$NON-NLS-1$
58
			throw new RuntimeException(
63
		expectedChildren.add(project.getFile(".project")); //$NON-NLS-1$
59
					"Set the _navigatorInstanceId in the constructor");
64
		expectedChildren.add(project.getFile(".classpath")); //$NON-NLS-1$ 
60
		}
65
		expectedChildren.add(project.getFile("model.properties")); //$NON-NLS-1$
61
62
		if (_initTestData) {
63
64
			TestWorkspace.init();
65
66
			IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
67
			project = root.getProject("Test"); //$NON-NLS-1$
68
69
			expectedChildren.add(project.getFolder("src")); //$NON-NLS-1$
70
			expectedChildren.add(project.getFolder("bin")); //$NON-NLS-1$
71
			expectedChildren.add(project.getFile(".project")); //$NON-NLS-1$
72
			expectedChildren.add(project.getFile(".classpath")); //$NON-NLS-1$ 
73
			expectedChildren.add(project.getFile("model.properties")); //$NON-NLS-1$
74
		}
66
75
67
		EditorTestHelper.showView(_navigatorInstanceId, true);
76
		EditorTestHelper.showView(_navigatorInstanceId, true);
68
77
69
		IWorkbenchWindow activeWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
78
		IWorkbenchWindow activeWindow = PlatformUI.getWorkbench()
79
				.getActiveWorkbenchWindow();
70
		IWorkbenchPage activePage = activeWindow.getActivePage();
80
		IWorkbenchPage activePage = activeWindow.getActivePage();
71
81
72
		_commonNavigator = (CommonNavigator) activePage.findView(_navigatorInstanceId);
82
		_commonNavigator = (CommonNavigator) activePage
83
				.findView(_navigatorInstanceId);
73
		_commonNavigator.setFocus();
84
		_commonNavigator.setFocus();
74
		viewer = (CommonViewer) _commonNavigator.getAdapter(CommonViewer.class);
85
		viewer = (CommonViewer) _commonNavigator.getAdapter(CommonViewer.class);
75
86
76
		contentService = viewer.getNavigatorContentService();
87
		contentService = viewer.getNavigatorContentService();
88
		_actionService = _commonNavigator.getNavigatorActionService();
77
89
78
		IUndoableOperation updateFilters = new UpdateActiveFiltersOperation(viewer, new String[0], true);
90
		IUndoableOperation updateFilters = new UpdateActiveFiltersOperation(
91
				viewer, new String[0], true);
79
		updateFilters.execute(null, null);
92
		updateFilters.execute(null, null);
80
	}
93
	}
81
94
95
	protected void tearDown() throws Exception {
96
		IProject[] projects = ResourcesPlugin.getWorkspace().getRoot()
97
				.getProjects();
98
		for (int i = 0; i < projects.length; i++) {
99
			projects[i].delete(true, null);
100
		}
101
	}
102
82
}
103
}
(-)src/org/eclipse/ui/tests/navigator/NavigatorTestSuite.java (+1 lines)
Lines 26-31 Link Here
26
	 * Construct the test suite.
26
	 * Construct the test suite.
27
	 */
27
	 */
28
	public NavigatorTestSuite() {
28
	public NavigatorTestSuite() {
29
		addTest(new TestSuite(WorkingSetTest.class));
29
		addTest(new TestSuite(ActivityTest.class));
30
		addTest(new TestSuite(ActivityTest.class));
30
		addTest(new TestSuite(OpenTest.class));
31
		addTest(new TestSuite(OpenTest.class));
31
		addTest(new TestSuite(INavigatorContentServiceTests.class));
32
		addTest(new TestSuite(INavigatorContentServiceTests.class));
(-)src/org/eclipse/ui/tests/navigator/OpenTest.java (-1 / +2 lines)
Lines 12-23 Link Here
12
12
13
import org.eclipse.jface.viewers.StructuredSelection;
13
import org.eclipse.jface.viewers.StructuredSelection;
14
import org.eclipse.swt.widgets.TreeItem;
14
import org.eclipse.swt.widgets.TreeItem;
15
import org.eclipse.ui.navigator.resources.ProjectExplorer;
15
16
16
public class OpenTest extends NavigatorTestBase {
17
public class OpenTest extends NavigatorTestBase {
17
18
18
	public OpenTest()
19
	public OpenTest()
19
	{
20
	{
20
		_navigatorInstanceId = "org.eclipse.ui.navigator.ProjectExplorer";
21
		_navigatorInstanceId = ProjectExplorer.VIEW_ID;
21
	}
22
	}
22
	
23
	
23
	public void testNavigatorRootContents() throws Exception {
24
	public void testNavigatorRootContents() throws Exception {
(-)src/org/eclipse/ui/tests/navigator/ActivityTest.java (-5 / +2 lines)
Lines 21-36 Link Here
21
import org.eclipse.ui.PlatformUI;
21
import org.eclipse.ui.PlatformUI;
22
import org.eclipse.ui.actions.ActionContext;
22
import org.eclipse.ui.actions.ActionContext;
23
import org.eclipse.ui.activities.IWorkbenchActivitySupport;
23
import org.eclipse.ui.activities.IWorkbenchActivitySupport;
24
import org.eclipse.ui.navigator.NavigatorActionService;
24
import org.eclipse.ui.navigator.resources.ProjectExplorer;
25
25
26
public class ActivityTest extends NavigatorTestBase {
26
public class ActivityTest extends NavigatorTestBase {
27
27
28
	public ActivityTest() {
28
	public ActivityTest() {
29
		_navigatorInstanceId = "org.eclipse.ui.navigator.ProjectExplorer";
29
		_navigatorInstanceId = ProjectExplorer.VIEW_ID;
30
	}
30
	}
31
31
32
	protected NavigatorActionService _actionService;
33
34
	protected static final String ACTIVITY = "org.eclipse.ui.tests.navigator.testActivity";
32
	protected static final String ACTIVITY = "org.eclipse.ui.tests.navigator.testActivity";
35
33
36
	protected boolean verifyMenu(IStructuredSelection sel, String item) {
34
	protected boolean verifyMenu(IStructuredSelection sel, String item) {
Lines 62-68 Link Here
62
60
63
		IStructuredSelection sel = new StructuredSelection(project);
61
		IStructuredSelection sel = new StructuredSelection(project);
64
		viewer.setSelection(sel);
62
		viewer.setSelection(sel);
65
		_actionService = _commonNavigator.getNavigatorActionService();
66
63
67
		IWorkbenchActivitySupport actSupport = PlatformUI.getWorkbench().getActivitySupport();
64
		IWorkbenchActivitySupport actSupport = PlatformUI.getWorkbench().getActivitySupport();
68
65
(-)META-INF/MANIFEST.MF (+1 lines)
Lines 15-18 Link Here
15
 org.eclipse.ui.navigator.resources
15
 org.eclipse.ui.navigator.resources
16
Bundle-Vendor: Eclipse.org
16
Bundle-Vendor: Eclipse.org
17
Bundle-ClassPath: uinavtests.jar
17
Bundle-ClassPath: uinavtests.jar
18
Bundle-RequiredExecutionEnvironment: J2SE-1.4
18
Bundle-ActivationPolicy: lazy
19
Bundle-ActivationPolicy: lazy
(-).settings/org.eclipse.jdt.core.prefs (-3 / +11 lines)
Lines 1-4 Link Here
1
#Thu Sep 14 08:14:32 EDT 2006
1
#Sat Aug 16 12:54:53 PDT 2008
2
eclipse.preferences.version=1
2
eclipse.preferences.version=1
3
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
3
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
4
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
4
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
Lines 13-26 Link Here
13
org.eclipse.jdt.core.compiler.problem.deprecation=warning
13
org.eclipse.jdt.core.compiler.problem.deprecation=warning
14
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
14
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
15
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
15
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
16
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
16
org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
17
org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
17
org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
18
org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
18
org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
19
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
19
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
20
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
20
org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
21
org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
21
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
22
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
22
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
23
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
23
org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
24
org.eclipse.jdt.core.compiler.problem.forbiddenReference=ignore
24
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
25
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
25
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
26
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
26
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
27
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
Lines 37-43 Link Here
37
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
38
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
38
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
39
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
39
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
40
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
41
org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
40
org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
42
org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
43
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
44
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
41
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
45
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
42
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
46
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
43
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
47
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
Lines 50-62 Link Here
50
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
54
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
51
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
55
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
52
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
56
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
57
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
58
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
53
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
59
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
54
org.eclipse.jdt.core.compiler.problem.unusedImport=error
60
org.eclipse.jdt.core.compiler.problem.unusedImport=error
55
org.eclipse.jdt.core.compiler.problem.unusedLabel=error
61
org.eclipse.jdt.core.compiler.problem.unusedLabel=error
56
org.eclipse.jdt.core.compiler.problem.unusedLocal=error
62
org.eclipse.jdt.core.compiler.problem.unusedLocal=error
57
org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
63
org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
64
org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
58
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
65
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
59
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
66
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
60
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
67
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
68
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
61
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
69
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
62
org.eclipse.jdt.core.compiler.source=1.4
70
org.eclipse.jdt.core.compiler.source=1.4
(-)src/org/eclipse/ui/tests/navigator/WorkingSetTest.java (+139 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2008 Oakland Software Incorporated and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *     Oakland Software Incorporated - initial API and implementation
10
 *******************************************************************************/
11
package org.eclipse.ui.tests.navigator;
12
13
import java.io.ByteArrayInputStream;
14
15
import org.eclipse.core.resources.IFile;
16
import org.eclipse.core.resources.IProject;
17
import org.eclipse.core.resources.ResourcesPlugin;
18
import org.eclipse.core.runtime.IAdaptable;
19
import org.eclipse.jface.util.IPropertyChangeListener;
20
import org.eclipse.jface.util.PropertyChangeEvent;
21
import org.eclipse.swt.widgets.Display;
22
import org.eclipse.swt.widgets.TreeItem;
23
import org.eclipse.ui.IWorkingSet;
24
import org.eclipse.ui.PlatformUI;
25
import org.eclipse.ui.actions.WorkingSetFilterActionGroup;
26
import org.eclipse.ui.internal.AggregateWorkingSet;
27
import org.eclipse.ui.internal.WorkingSet;
28
import org.eclipse.ui.internal.navigator.resources.actions.WorkingSetActionProvider;
29
import org.eclipse.ui.internal.navigator.workingsets.WorkingSetsContentProvider;
30
import org.eclipse.ui.navigator.IExtensionStateModel;
31
import org.eclipse.ui.navigator.resources.ProjectExplorer;
32
import org.eclipse.ui.tests.navigator.util.TestWorkspace;
33
34
public class WorkingSetTest extends NavigatorTestBase {
35
36
	public WorkingSetTest() {
37
		_navigatorInstanceId = ProjectExplorer.VIEW_ID;
38
		_initTestData = false;
39
	}
40
41
	// Bug 157877 when using empty window working set, it should show all
42
	public void testEmptyWindowWorkingSet() throws Exception {
43
		TestWorkspace.init();
44
45
		WorkingSetActionProvider provider = (WorkingSetActionProvider) TestAccessHelper
46
				.getActionProvider(contentService, _actionService,
47
						WorkingSetActionProvider.class);
48
49
		IWorkingSet workingSet = PlatformUI.getWorkbench()
50
				.getActiveWorkbenchWindow().getActivePage()
51
				.getAggregateWorkingSet();
52
53
		// Set the filter to window working set (which should be empty)
54
		IPropertyChangeListener l = provider.getFilterChangeListener();
55
		PropertyChangeEvent event = new PropertyChangeEvent(this,
56
				WorkingSetFilterActionGroup.CHANGE_WORKING_SET, null,
57
				workingSet);
58
		l.propertyChange(event);
59
60
		TreeItem[] items = viewer.getTree().getItems();
61
		assertTrue("There should be some items.", items.length > 0);
62
	}
63
64
	// Bug 212389 projects are not shown when they are not in the working set,
65
	// but their children are
66
	public void testMissingProjectsInWorkingSet() throws Exception {
67
68
		IProject p1 = ResourcesPlugin.getWorkspace().getRoot().getProject("p1");
69
		p1.create(null);
70
		p1.open(null);
71
		IFile f1 = p1.getFile("f1");
72
		f1.create(new ByteArrayInputStream(new byte[] {}), true, null);
73
74
		WorkingSetActionProvider provider = (WorkingSetActionProvider) TestAccessHelper
75
				.getActionProvider(contentService, _actionService,
76
						WorkingSetActionProvider.class);
77
78
		IWorkingSet workingSet = new WorkingSet("ws1", "ws1",
79
				new IAdaptable[] { f1 });
80
81
		AggregateWorkingSet agWorkingSet = new AggregateWorkingSet("AgWs",
82
				"Ag Working Set", new IWorkingSet[] { workingSet });
83
84
		IPropertyChangeListener l = provider.getFilterChangeListener();
85
		PropertyChangeEvent event = new PropertyChangeEvent(this,
86
				WorkingSetFilterActionGroup.CHANGE_WORKING_SET, null,
87
				agWorkingSet);
88
		l.propertyChange(event);
89
90
		DisplayHelper.runEventLoop(Display.getCurrent(), 100);
91
92
		// DisplayHelper.sleep(Display.getCurrent(), 10000000);
93
94
		TreeItem[] items = viewer.getTree().getItems();
95
		// The bug is here where the first item is a IFile, not the enclosing
96
		// project
97
		assertTrue("First item needs to be project", items[0].getData().equals(
98
				p1));
99
	}
100
101
	// bug 220090 test that working sets are shown when selected locally (not
102
	// using the window working set)
103
	public void testTopLevelWorkingSet() throws Exception {
104
105
		IProject p1 = ResourcesPlugin.getWorkspace().getRoot().getProject("p1");
106
		p1.create(null);
107
		p1.open(null);
108
		IFile f1 = p1.getFile("f1");
109
		f1.create(new ByteArrayInputStream(new byte[] {}), true, null);
110
111
		WorkingSetActionProvider provider = (WorkingSetActionProvider) TestAccessHelper
112
				.getActionProvider(contentService, _actionService,
113
						WorkingSetActionProvider.class);
114
115
		IExtensionStateModel extensionStateModel = contentService
116
				.findStateModel(WorkingSetsContentProvider.EXTENSION_ID);
117
118
		extensionStateModel.setBooleanProperty(
119
				WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS, true);
120
121
		IWorkingSet workingSet = new WorkingSet("ws1", "ws1",
122
				new IAdaptable[] { p1 });
123
124
		IPropertyChangeListener l = provider.getFilterChangeListener();
125
		PropertyChangeEvent event = new PropertyChangeEvent(this,
126
				WorkingSetFilterActionGroup.CHANGE_WORKING_SET, null,
127
				workingSet);
128
		l.propertyChange(event);
129
130
		//DisplayHelper.sleep(Display.getCurrent(), 10000000);
131
132
		TreeItem[] items = viewer.getTree().getItems();
133
		// The bug is here where the first item is a IFile, not the enclosing
134
		// project
135
		assertTrue("First item needs to be working set", items[0].getData().equals(
136
				workingSet));
137
	}
138
139
}
(-)src/org/eclipse/ui/tests/navigator/TestAccessHelper.java (+47 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2008 Oakland Software Incorporated and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *     Oakland Software Incorporated - initial API and implementation
10
 ******************************************************************************/
11
12
package org.eclipse.ui.tests.navigator;
13
14
import org.eclipse.jface.viewers.StructuredSelection;
15
import org.eclipse.ui.actions.ActionContext;
16
import org.eclipse.ui.internal.navigator.actions.CommonActionDescriptorManager;
17
import org.eclipse.ui.internal.navigator.actions.CommonActionProviderDescriptor;
18
import org.eclipse.ui.navigator.CommonActionProvider;
19
import org.eclipse.ui.navigator.INavigatorContentService;
20
import org.eclipse.ui.navigator.NavigatorActionService;
21
22
/**
23
 * Helper used to access things from the CN implementation.
24
 */
25
public class TestAccessHelper {
26
27
	
28
	public static CommonActionProvider getActionProvider(
29
			INavigatorContentService contentService,
30
			NavigatorActionService actionService, Class cls) throws Exception {
31
32
		CommonActionProvider provider = null;
33
		CommonActionProviderDescriptor[] providerDescriptors = CommonActionDescriptorManager
34
				.getInstance().findRelevantActionDescriptors(contentService,
35
						new ActionContext(new StructuredSelection()));
36
		if (providerDescriptors.length > 0) {
37
			for (int i = 0; i < providerDescriptors.length; i++) {
38
				provider = actionService
39
						.getActionProviderInstance(providerDescriptors[i]);
40
				if (provider.getClass() == cls)
41
					return provider;
42
			}
43
		}
44
		return null;
45
	}
46
47
}

Return to bug 212389