Bug #2554
closedИсключение при удалении дерева требований с тестовой ситуацией
100%
Description
1. В проекте создаем требование, для этого требования создаем тестовую ситуацию.
Первая проблема состоит в том, что открывается старый редактор требований тестовой ситуации. Он не должен открываться и на это есть отдельный тикет.
2. Удаляем требование. Возникают исключение в Error log:
eclipse.buildId=M20120208-0800
java.version=1.7.0_02
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ru_RU
Framework arguments: -product org.eclipse.epp.package.java.product
Command-line arguments: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.java.product
Error
Mon Mar 05 19:45:39 MSK 2012
Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
java.lang.NullPointerException
at com.unitesk.requality.core.TreeStorage.getNodeType(TreeStorage.java:46)
at com.unitesk.requality.core.TreeDB.getNode(TreeDB.java:270)
at com.unitesk.requality.core.TreeNode.getParent(TreeNode.java:139)
at com.unitesk.requality.core.TreeDB$1.deleted(TreeDB.java:125)
at com.unitesk.requality.eclipse.core.DeltaProcessor.processDelta(DeltaProcessor.java:107)
at com.unitesk.requality.eclipse.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:58)
at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:291)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285)
at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149)
at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:395)
at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1530)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2353)
at com.unitesk.requality.eclipse.core.ResourceStorage.remove(ResourceStorage.java:361)
at com.unitesk.requality.core.TreeDB.removeNode(TreeDB.java:220)
at com.unitesk.requality.core.TreeNode.removeChild(TreeNode.java:95)
at com.unitesk.requality.core.TreeNode.delete(TreeNode.java:194)
at com.unitesk.requality.eclipse.operations.DeleteNode.execute(DeleteNode.java:27)
at com.unitesk.requality.eclipse.operations.DeleteRequirement.execute(DeleteRequirement.java:33)
at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:513)
at com.unitesk.requality.eclipse.handlers.requirement.RemoveRequirementHandler.execute(RemoveRequirementHandler.java:62)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:468)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:786)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:885)
at org.eclipse.ui.internal.keys.OutOfOrderListener.handleEvent(OutOfOrderListener.java:76)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1104)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1100)
at org.eclipse.swt.widgets.Widget.wmKeyDown(Widget.java:1809)
at org.eclipse.swt.widgets.Control.WM_KEYDOWN(Control.java:4892)
at org.eclipse.swt.widgets.Tree.WM_KEYDOWN(Tree.java:6069)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4560)
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5937)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4972)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2531)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
++++++++++++++++++++++++++++++
eclipse.buildId=M20120208-0800
java.version=1.7.0_02
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ru_RU
Framework arguments: -product org.eclipse.epp.package.java.product
Command-line arguments: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.java.product
Error
Mon Mar 05 19:45:39 MSK 2012
An unexpected exception was thrown.
java.lang.NullPointerException
at com.unitesk.requality.core.TreeStorage.getNodeType(TreeStorage.java:46)
at com.unitesk.requality.core.TreeDB.getNode(TreeDB.java:270)
at com.unitesk.requality.core.TreeNode.getParent(TreeNode.java:139)
at com.unitesk.requality.nodetypes.TestPurpose.getTargetRequirementQId(TestPurpose.java:26)
at com.unitesk.requality.eclipse.editors.TestPurposeEditor.isChanged(TestPurposeEditor.java:281)
at com.unitesk.requality.eclipse.editors.TestPurposeEditor.isDirty(TestPurposeEditor.java:153)
at org.eclipse.ui.internal.WorkbenchPage.getDirtyParts(WorkbenchPage.java:2165)
at org.eclipse.ui.internal.handlers.SaveAllHandler.evaluate(SaveAllHandler.java:67)
at org.eclipse.ui.internal.handlers.AbstractSaveHandler$1.evaluate(AbstractSaveHandler.java:45)
at org.eclipse.ui.internal.services.EvaluationResultCache.evaluate(EvaluationResultCache.java:74)
at org.eclipse.ui.internal.services.ExpressionAuthority.evaluate(ExpressionAuthority.java:165)
at org.eclipse.ui.internal.services.EvaluationAuthority.refsWithSameExpression(EvaluationAuthority.java:155)
at org.eclipse.ui.internal.services.EvaluationAuthority.sourceChanged(EvaluationAuthority.java:129)
at org.eclipse.ui.internal.services.EvaluationService.requestEvaluation(EvaluationService.java:129)
at org.eclipse.ui.internal.handlers.DirtyStateTracker.update(DirtyStateTracker.java:45)
at org.eclipse.ui.internal.handlers.DirtyStateTracker.propertyChanged(DirtyStateTracker.java:162)
at org.eclipse.ui.part.WorkbenchPart.firePropertyChange(WorkbenchPart.java:129)
at org.eclipse.ui.navigator.CommonNavigator.access$0(CommonNavigator.java:1)
at org.eclipse.ui.navigator.CommonNavigator$2.selectionChanged(CommonNavigator.java:254)
at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:164)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:162)
at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2188)
at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1725)
at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:1139)
at org.eclipse.ui.navigator.CommonViewer.setSelection(CommonViewer.java:377)
at org.eclipse.ui.navigator.CommonNavigator.selectReveal(CommonNavigator.java:383)
at com.unitesk.requality.eclipse.ui.cnf.RequalityCNF$1.newActiveNode(RequalityCNF.java:60)
at com.unitesk.requality.eclipse.Activator.setActiveNode(Activator.java:361)
at com.unitesk.requality.eclipse.handlers.requirement.RemoveRequirementHandler.execute(RemoveRequirementHandler.java:65)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:468)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:786)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:885)
at org.eclipse.ui.internal.keys.OutOfOrderListener.handleEvent(OutOfOrderListener.java:76)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1104)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1100)
at org.eclipse.swt.widgets.Widget.wmKeyDown(Widget.java:1809)
at org.eclipse.swt.widgets.Control.WM_KEYDOWN(Control.java:4892)
at org.eclipse.swt.widgets.Tree.WM_KEYDOWN(Tree.java:6069)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4560)
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5937)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4972)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2531)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
++++++++++++++++++++++
Окно со старым редактором не закрывается, даже когда пытаемся его закрыть самостоятельно. Это вызывает все новые исключения.
Если закрыть проект, окно закроется.
Updated by Alexey Khoroshilov over 12 years ago
- Priority changed from Normal to High
Updated by Yuriy Shekochihin over 12 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
Applied in changeset r2722.
Updated by Yuriy Shekochihin over 12 years ago
- Published in build set to 0.13.148
Updated by Viktoria Kopach over 12 years ago
- Status changed from Resolved to Verified
- Assignee changed from Yuriy Shekochihin to Alexey Khoroshilov
Updated by Viktoria Kopach over 12 years ago
- Status changed from Verified to Open
- Assignee changed from Alexey Khoroshilov to Yuriy Shekochihin
- Priority changed from High to Urgent
Прошу прощения, тикет все же закрыть нельзя. Первая жалоба остается в силе. При создании тестовой ситуации появляется старый редактор (который в окне Markup).
Updated by Viktoria Kopach over 12 years ago
- Status changed from Open to Resolved
- Assignee changed from Yuriy Shekochihin to Viktoria Kopach
- Priority changed from Urgent to Normal
И снова меняю. Все ок на версии 0.13.148.
Старый редактор открывался на 0.13.147.
Updated by Viktoria Kopach over 12 years ago
- Status changed from Resolved to Verified
- Assignee changed from Viktoria Kopach to Alexey Khoroshilov
Updated by Alexey Khoroshilov about 12 years ago
- Status changed from Verified to Closed