Actions
Bug #12083
openПроблемы с фрагментами после undo удаления требования
Status:
Verified
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
12/19/2022
Due date:
% Done:
100%
Estimated time:
Detected in build:
1.4.754
Platform:
Windows x64
Published in build:
1.4.755
Description
1. Добавляем два фрагмента к одному требованию.
Они пронумерованы 1 и 2:
2. Удаляем это требование.
3. Делаем Undo удаления требования.
Видим, что фрагменты вернулись и пронумерованы 0 и 1:
Если так же удалять требование с бОльшим (3 и более) числом фрагментов и сделать Undo, возникнет сообщение об ошибке:
В Error log:
null org.eclipse.ui Error Mon Dec 19 13:13:05 MSK 2022 While undoing the operation, an exception occurred org.eclipse.core.commands.ExecutionException: While undoing the operation, an exception occurred at org.eclipse.core.commands.operations.DefaultOperationHistory.doUndo(DefaultOperationHistory.java:423) at org.eclipse.core.commands.operations.DefaultOperationHistory.undo(DefaultOperationHistory.java:1149) at org.eclipse.ui.operations.UndoActionHandler.runCommand(UndoActionHandler.java:86) at org.eclipse.ui.operations.OperationHistoryActionHandler.lambda$0(OperationHistoryActionHandler.java:294) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:434) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:352) at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:470) at org.eclipse.ui.internal.operations.TimeTriggeredProgressMonitorDialog.access$1(TimeTriggeredProgressMonitorDialog.java:1) at org.eclipse.ui.internal.operations.TimeTriggeredProgressMonitorDialog.lambda$0(TimeTriggeredProgressMonitorDialog.java:155) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:74) at org.eclipse.ui.internal.operations.TimeTriggeredProgressMonitorDialog.run(TimeTriggeredProgressMonitorDialog.java:167) at org.eclipse.ui.operations.OperationHistoryActionHandler.run(OperationHistoryActionHandler.java:320) at org.eclipse.jface.action.Action.runWithEvent(Action.java:474) at org.eclipse.ui.actions.RetargetAction.runWithEvent(RetargetAction.java:225) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:580) at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:414) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4251) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4068) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3645) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155) at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596) at org.eclipse.equinox.launcher.Main.run(Main.java:1467) Caused by: java.lang.NullPointerException at com.unitesk.requality.core.model.TreeNode.findShownChildsPlusName(TreeNode.java:2583) at com.unitesk.requality.core.storage.LinkResolver.findChildByIdName(LinkResolver.java:482) at com.unitesk.requality.core.storage.LinkResolver.findNodesByPath(LinkResolver.java:464) at com.unitesk.requality.core.storage.LinkResolver.findNodesByPathWithDisposed(LinkResolver.java:389) at com.unitesk.requality.core.model.TreeDB.getNodeExc(TreeDB.java:1334) at com.unitesk.requality.core.model.TreeDB.getNode(TreeDB.java:1314) at com.unitesk.requality.core.model.TreeDB.getNode(TreeDB.java:1301) at com.unitesk.requality.eclipse.editors.browser.ReqMarkerOutlineContentProvider$3.changed(ReqMarkerOutlineContentProvider.java:86) at com.unitesk.requality.core.events.TreeChangeListener.changed(TreeChangeListener.java:14) at com.unitesk.requality.core.model.TreeDB.fireNodeChange(TreeDB.java:3639) at com.unitesk.requality.core.model.TreeDB.handleTreeNodeChanges(TreeDB.java:3138) at com.unitesk.requality.core.model.TreeDB.saveAttributes(TreeDB.java:1379) at com.unitesk.requality.core.model.TreeDB.commitAttributes(TreeDB.java:1362) at com.unitesk.requality.core.attribute.AttributeStorage.commitChanges(AttributeStorage.java:2042) at com.unitesk.requality.core.model.TreeDB$4.changeAttributes(TreeDB.java:2763) at com.unitesk.requality.core.transaction.SaveAttributes.apply(SaveAttributes.java:53) at com.unitesk.requality.core.transaction.TransactionStorage.applyOperation(TransactionStorage.java:837) at com.unitesk.requality.core.transaction.TransactionStorage.apply(TransactionStorage.java:791) at com.unitesk.requality.core.transaction.TransactionStorage.apply(TransactionStorage.java:749) at com.unitesk.requality.core.model.TreeDB.commit(TreeDB.java:1559) at com.unitesk.requality.core.model.TreeDB$3.operationEnded(TreeDB.java:2016) at com.unitesk.requality.core.storage.AbstractTreeStorage.endOperation(AbstractTreeStorage.java:352) at com.unitesk.requality.eclipse.operations.TreeDBOperation.undo(TreeDBOperation.java:69) at org.eclipse.core.commands.operations.DefaultOperationHistory.doUndo(DefaultOperationHistory.java:407) ... 41 more
Попытка удалить такой проект подвесит Eclipse.
Files
Actions