Project

General

Profile

Actions

Bug #12083

open

Проблемы с фрагментами после undo удаления требования

Added by Viktoria Kopach almost 2 years ago. Updated almost 2 years ago.

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

image12.png (2.81 KB) image12.png Viktoria Kopach, 12/19/2022 12:27 PM
image01.png (3.35 KB) image01.png Viktoria Kopach, 12/19/2022 12:28 PM
2022-12-19_13-13-24.png (11.4 KB) 2022-12-19_13-13-24.png Viktoria Kopach, 12/19/2022 01:13 PM
Actions

Also available in: Atom PDF