Bug 292549 [CommonNavigator] WorkingSetFilterActionGroup sometimes not updated on WS changes
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 Build Identifier: 3.5 I am extending common navigator such that it creates few working sets on the start-up of the workbench. I hit an issue with the "Select Working Set" dialog, it does not "selects" the created working set. I debugged and found that WorkingSetFilterActionGroup.setWorkingSet() in org.eclipse.ui.internal.navigator.resources.actions.WorkingSetActionProvider is initialized to working set based on the value of currentWorkingSetName set in workbench.xml. Opening up the API in WorkingSetActionProvider to set working set in WorkingSetFilterActionGroup should make it work. Reproducible: Always
bundles/org.eclipse.ui.navigator.resources/src/org/eclipse/ui/internal/navigator/resources/actions/WorkingSetActionProvider.java
import org.eclipse.ui.internal.navigator.workingsets.WorkingSetsContentProvider;
import org.eclipse.ui.navigator.CommonActionProvider;
import org.eclipse.ui.navigator.CommonViewer;
import org.eclipse.ui.navigator.ICommonActionExtensionSite;
import org.eclipse.ui.navigator.IExtensionActivationListener;
import org.eclipse.ui.navigator.IExtensionStateModel;
import org.eclipse.ui.navigator.INavigatorContentService;
/**
 * @since 3.2
 * 
 */
public class WorkingSetActionProvider extends CommonActionProvider {
	private static final String TAG_CURRENT_WORKING_SET_NAME = "currentWorkingSetName"; 
	private boolean contributedToViewMenu = false;
	private CommonViewer viewer;
	private INavigatorContentService contentService;
	private WorkingSetFilterActionGroup workingSetActionGroup;
	private WorkingSetRootModeActionGroup workingSetRootModeActionGroup;
	private Object originalViewerInput = ResourcesPlugin.getWorkspace().getRoot();
	private IExtensionStateModel extensionStateModel;
	private final ResourceWorkingSetFilter workingSetFilter = new ResourceWorkingSetFilter();
	private boolean filterAdded;
	private boolean emptyWorkingSet;
	private IWorkingSet workingSet;
	private IPropertyChangeListener topLevelModeListener;
	/**
	 * Provides a smart listener to monitor changes to the Working Set Manager.
	 * 
	 */
	public class WorkingSetManagerListener implements IPropertyChangeListener {