Bug 114491 [refactoring] CCE in NullRefactoringHistory
3.2 M3 test pass I deleted some projects in (Java and Resource) working sets, but not quite sure what action triggered the exception. !ENTRY org.eclipse.core.resources 4 2 2005-11-01 11:29:35.216 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources". !STACK 0 java.lang.ClassCastException: org.eclipse.ltk.internal.core.refactoring.history.RefactoringHistoryService$NullRefactoringHistory at org.eclipse.ltk.internal.core.refactoring.history.RefactoringHistoryService$WorkspaceChangeListener.removeDescriptors(RefactoringHistoryService.java:410) at org.eclipse.ltk.internal.core.refactoring.history.RefactoringHistoryService$WorkspaceChangeListener.resourceChanged(RefactoringHistoryService.java:454) at org.eclipse.core.internal.events.NotificationManager$2.run(NotificationManager.java:276) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044) at org.eclipse.core.runtime.Platform.run(Platform.java:783) at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:270) at org.eclipse.core.internal.events.NotificationManager.handleEvent(NotificationManager.java:254) at org.eclipse.core.internal.resources.Workspace.broadcastEvent(Workspace.java:201) at org.eclipse.core.internal.resources.Resource.unprotectedDelete(Resource.java:1573) at org.eclipse.core.internal.resources.Resource.delete(Resource.java:670) at org.eclipse.core.internal.resources.Project.delete(Project.java:332) at org.eclipse.ui.actions.DeleteResourceAction.delete(DeleteResourceAction.java:419) at org.eclipse.ui.actions.DeleteResourceAction.delete(DeleteResourceAction.java:395) at org.eclipse.ui.actions.DeleteResourceAction.access$0(DeleteResourceAction.java:385) at org.eclipse.ui.actions.DeleteResourceAction$3.run(DeleteResourceAction.java:502) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1705) at org.eclipse.ui.actions.DeleteResourceAction$2.run(DeleteResourceAction.java:500) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:76)
org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/history/RefactoringHistoryService.java
import org.eclipse.core.filesystem.EFS;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IResourceChangeEvent;
import org.eclipse.core.resources.IResourceChangeListener;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.ltk.core.refactoring.Change;
import org.eclipse.ltk.core.refactoring.RefactoringCore;
import org.eclipse.ltk.core.refactoring.RefactoringDescriptor;
import org.eclipse.ltk.core.refactoring.RefactoringDescriptorProxy;
import org.eclipse.ltk.core.refactoring.RefactoringPreferenceConstants;
import org.eclipse.ltk.core.refactoring.RefactoringSessionDescriptor;
import org.eclipse.ltk.core.refactoring.history.IRefactoringExecutionListener;
import org.eclipse.ltk.core.refactoring.history.IRefactoringHistoryListener;
import org.eclipse.ltk.core.refactoring.history.IRefactoringHistoryService;
import org.eclipse.ltk.core.refactoring.history.RefactoringExecutionEvent;
import org.eclipse.ltk.core.refactoring.history.RefactoringHistory;
import org.eclipse.ltk.core.refactoring.history.RefactoringHistoryEvent;
import org.eclipse.ltk.internal.core.refactoring.Assert;
import org.eclipse.ltk.internal.core.refactoring.RefactoringCoreMessages;
import org.eclipse.ltk.internal.core.refactoring.RefactoringCorePlugin;
import org.eclipse.ltk.internal.core.refactoring.UndoableOperation2ChangeAdapter;
import org.w3c.dom.Node;
import org.xml.sax.InputSource;
/**
 * Default implementation of a refactoring history service.
 * 
 * @since 3.2
 */
public final class RefactoringHistoryService implements IRefactoringHistoryService {