Bug 137640 [CommonNavigator] New java elements not selected in project explorer
3.2 RC1 - show the Project Explorer view - create a Java project - select the project and create a package (e.g. using the toolbar button) - the package is created, but not selected (it does get selected in the Package Explorer) - select the package - create a new class - the class is created, but not selected (works in the PE) In both cases, the selection gets cleared. This results in subsequent package or class creations not knowing which source folder they should apply to. E.g. try creating two packages in a row.
bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/NavigatorContentService.java
/**
 * <p>
 * Provides centralized access to the information provided by
 * NavigatorContentExtensions. Can be instantiated as needed, but should be
 * cached for active viewers. Information specific to a given viewer will be
 * cached by the NavigatorContentService, not including ContentProviders and
 * Label Providers created by {@link #createCommonContentProvider()}and
 * {@link #createCommonLabelProvider()}respectively.
 * </p>
 * 
 * <p>
 * The following class is experimental until fully documented.
 * </p>
 */
public class NavigatorContentService implements IExtensionActivationListener,
		IMementoAware, INavigatorContentService {
	private static final NavigatorContentDescriptorManager CONTENT_DESCRIPTOR_REGISTRY = NavigatorContentDescriptorManager
			.getInstance();
	private static final NavigatorViewerDescriptorManager VIEWER_DESCRIPTOR_REGISTRY = NavigatorViewerDescriptorManager
			.getInstance();
	private static final ITreeContentProvider[] NO_CONTENT_PROVIDERS = new ITreeContentProvider[0];
	private static final ILabelProvider[] NO_LABEL_PROVIDERS = new ILabelProvider[0];
	private static final INavigatorContentDescriptor[] NO_DESCRIPTORS = new INavigatorContentDescriptor[0];
	private static final String[] NO_EXTENSION_IDS = new String[0];
	private final NavigatorViewerDescriptor viewerDescriptor;
	private final List listeners = new ArrayList();
	/*
	 * A map of (String-based-Navigator-Content-Extension-IDs,
	 * NavigatorContentExtension-objects)-pairs
	 */