Bug 58952 delete project does not update Package Explorer [package explorer]
launch eclipse open java perspective, create a plugin project, enter name as testPlugin select the folder named icons and choose Go Into, so that view only reveals sample.gif. switch to resource perspective and delete the project completely. switch to java perspective and you still see sample.gif. double click on it and get error. !ENTRY org.eclipse.jface 4 2 Apr 16, 2004 19:11:58.05 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface". !STACK 0 java.lang.NullPointerException at java.lang.Throwable.<init>(Throwable.java) at java.lang.Throwable.<init>(Throwable.java) at java.lang.NullPointerException.<init>(NullPointerException.java:63) at com.ibm.etools.webedit.activex.util.WebArtDesignerLauncher.open(WebAr tDesignerLauncher.java:37) at org.eclipse.ui.internal.EditorManager$1.run(EditorManager.java:514) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java) at org.eclipse.ui.internal.EditorManager.openExternalEditor(EditorManage r.java:507) at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(Editor Manager.java:477) at org.eclipse.ui.internal.EditorManager.openEditorFromInput(EditorManag er.java:333) at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:4 24) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.ja va:2056) at org.eclipse.ui.internal.WorkbenchPage.access$6(WorkbenchPage.java:200 4) at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:1991) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:1 986) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:1 887) at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(Edi torUtility.java:133) at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(Edi torUtility.java:106) at org.eclipse.jdt.internal.ui.actions.OpenActionUtil.open(OpenActionUti l.java:47) at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:158) at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:147) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(Select ionDispatchAction.java:191) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispa tchAction.java:169) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.ha ndleOpen(PackageExplorerActionGroup.java:324) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$5.open(Pa ckageExplorerPart.java:323) at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.jav a:397) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatfo rm.java) at org.eclipse.core.runtime.Platform.run(Platform.java) at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer. java:395) at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewe r.java:605) at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredVie wer.java:694) at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:2 09) at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java) at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1402) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1385) at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoa der.java:858) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461) at java.lang.reflect.AccessibleObject.invokeL(AccessibleObject.java:207) at java.lang.reflect.Method.invoke(Method.java:271) at org.eclipse.core.launcher.Main.basicRun(Main.java:291) at org.eclipse.core.launcher.Main.run(Main.java:747) at org.eclipse.core.launcher.Main.main(Main.java:583)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/packageview/PackageExplorerContentProvider.java
import org.eclipse.jdt.internal.ui.JavaPlugin;
 
/**
 * Content provider for the PackageExplorer.
 * 
 * <p>
 * Since 2.1 this content provider can provide the children for flat or hierarchical
 * layout. The hierarchical layout is done by delegating to the <code>PackageFragmentProvider</code>.
 * </p>
 * 
 * @see org.eclipse.jdt.ui.StandardJavaElementContentProvider
 * @see org.eclipse.jdt.internal.ui.packageview.PackageFragmentProvider
 */
class PackageExplorerContentProvider extends StandardJavaElementContentProvider implements ITreeContentProvider, IElementChangedListener {
	
	TreeViewer fViewer;
	private Object fInput;
	private boolean fIsFlatLayout;
	private PackageFragmentProvider fPackageFragmentProvider= new PackageFragmentProvider();
	
	private int fPendingChanges;
	PackageExplorerPart fPart;
	/**
	 * Creates a new content provider for Java elements.
	 */
	public PackageExplorerContentProvider(PackageExplorerPart part, boolean provideMembers) {
		super(provideMembers);	
		fPart= part;
	}