eclipse-capella / capella

Open Source Solution for Model-Based Systems Engineering
https://mbse-capella.org
Eclipse Public License 2.0
238 stars 96 forks source link

Transition from OA to SA using libraries #1726

Closed eclipse-capella-bot closed 3 years ago

eclipse-capella-bot commented 3 years ago

Hi, I'm trying to use Capella on a project of mine. I created a new library and when I finished Operational Analysis I tried to use the "Perform an automated transition from Operational Activities", but the following error appear to me:

org.eclipse.core.runtime.AssertionFailedException: assertion failed: The Editing Domain must be not null and must be a Transactional one | Error | Transition management | null | Transition management | | 09:17:10

🆔 ECLIPSE-555485 / POLARSYS-2624 👷 mateus.venturini 📅 2019-10-01 🔎 1.3.1

eclipse-capella-bot commented 3 years ago

laurent.delaigue commented on 2020-01-31

I face the same issue on transition from SA to LA.

Reproduction steps :

1- Create a new library 2- Create a SAB, add a function in the system 3- Using the Activity explorer > Logical Architecture > Transition from System Functions 4- The diff merge dialog opens. 4.1- Note: "Apply" is not selected by default, contrary to Capella 1.3.0. Is that voluntary? 4.2- Select the function in the middle panel and transfer it to the right, then click on OK 5- The following stack trace appears in the error log:

org.eclipse.e4.core.di.InjectionException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:65) at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:305) at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:239) at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132) at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152) at org.eclipse.core.commands.Command.executeWithChecks(Command.java:494) at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487) at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210) at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommandInContext(LegacyHandlerService.java:442) at org.polarsys.capella.core.transition.system.topdown.ui.commands.TransitionUICommandHelper.executeCommand(TransitionUICommandHelper.java:48) at org.polarsys.capella.core.explorer.activity.ui.hyperlinkadapter.la.PerformAutomatedTransitionAdapter.linkPressed(PerformAutomatedTransitionAdapter.java:41) at org.polarsys.capella.core.explorer.activity.ui.hyperlinkadapter.AbstractCapellaHyperlinkAdapter.linkActivated(AbstractCapellaHyperlinkAdapter.java:34) at org.eclipse.ui.forms.widgets.AbstractHyperlink.handleActivate(AbstractHyperlink.java:213) at org.eclipse.ui.forms.widgets.ImageHyperlink.handleActivate(ImageHyperlink.java:208) at org.eclipse.ui.forms.widgets.AbstractHyperlink.handleMouseUp(AbstractHyperlink.java:307) at org.eclipse.ui.forms.widgets.AbstractHyperlink.lambda$3(AbstractHyperlink.java:115) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4428) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4238) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3817) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1039) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148) at org.polarsys.capella.core.platform.sirius.ui.app.CapellaApplication.start(CapellaApplication.java:115) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243) 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:653) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590) at org.eclipse.equinox.launcher.Main.run(Main.java:1499) Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at org.polarsys.capella.core.transition.common.ui.commands.CommandUIHandler.execute(CommandUIHandler.java:45) at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:291) at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:92) 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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55) ... 41 more Caused by: java.lang.reflect.InvocationTargetException at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:448) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:353) at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:483) at org.polarsys.capella.core.transition.common.ui.commands.CommandUIHandler.execute(CommandUIHandler.java:43) ... 48 more Caused by: org.eclipse.core.runtime.AssertionFailedException: assertion failed: The Editing Domain must be not null and must be a Transactional one at org.polarsys.capella.core.transition.common.launcher.ActivitiesLauncher.triggerActivities(ActivitiesLauncher.java:247) at org.polarsys.capella.core.transition.common.launcher.ActivitiesLauncher.triggerActivities(ActivitiesLauncher.java:204) at org.polarsys.capella.core.transition.common.launcher.TransposerLauncher.launch(TransposerLauncher.java:142) at org.polarsys.capella.core.transition.common.launcher.TransposerLauncher.run(TransposerLauncher.java:116) at org.polarsys.capella.core.transition.common.commands.LauncherCommand.performTransformation(LauncherCommand.java:39) at org.polarsys.capella.core.transition.common.commands.DefaultCommand.run(DefaultCommand.java:103) at org.polarsys.capella.common.ef.ExecutionManager$2.doExecute(ExecutionManager.java:127) at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135) at org.eclipse.emf.workspace.EMFCommandOperation.doExecute(EMFCommandOperation.java:119) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:488) at org.polarsys.capella.common.ef.internal.command.WorkspaceCommandStackImpl.doExecute(WorkspaceCommandStackImpl.java:148) at org.polarsys.capella.common.platform.sirius.ted.SemanticEditingDomainFactory$SemanticCommandStack.doExecute(SemanticEditingDomainFactory.java:276) at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:165) at org.polarsys.capella.common.ef.ExecutionManager.executeReadWriteCommand(ExecutionManager.java:91) at org.polarsys.capella.common.ef.ExecutionManager.execute(ExecutionManager.java:66) at org.polarsys.capella.core.transition.common.commands.CommandHandler.execute(CommandHandler.java:82) at org.polarsys.capella.core.transition.common.commands.CommandHandler.execute(CommandHandler.java:59) at org.polarsys.capella.core.transition.common.ui.commands.CommandUIHandler.executeCommand(CommandUIHandler.java:53) at org.polarsys.capella.core.transition.common.ui.commands.CommandUIHandler.access$0(CommandUIHandler.java:52) at org.polarsys.capella.core.transition.common.ui.commands.CommandUIHandler$1.run(CommandUIHandler.java:34) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:437) ... 51 more Caused by: org.eclipse.core.runtime.AssertionFailedException: assertion failed: The Editing Domain must be not null and must be a Transactional one at org.polarsys.capella.core.transition.common.transposer.ExtendedCadenceLauncher.cadence(ExtendedCadenceLauncher.java:183) at org.polarsys.capella.core.transition.common.transposer.ExtendedCadenceLauncher.cadence(ExtendedCadenceLauncher.java:161) at org.polarsys.capella.core.transition.common.transposer.ExtendedCadenceLauncher.cadence(ExtendedCadenceLauncher.java:103) at org.polarsys.capella.core.transition.common.launcher.ActivitiesLauncher.cadence(ActivitiesLauncher.java:253) at org.polarsys.capella.core.transition.common.launcher.ActivitiesLauncher.triggerActivities(ActivitiesLauncher.java:245) ... 72 more Caused by: org.eclipse.core.runtime.AssertionFailedException: assertion failed: The Editing Domain must be not null and must be a Transactional one at org.eclipse.core.runtime.Assert.isTrue(Assert.java:110) at org.polarsys.capella.core.model.handler.command.DeleteCommand.(DeleteCommand.java:56) at org.polarsys.capella.core.model.handler.command.DeleteStructureCommand.(DeleteStructureCommand.java:32) at org.polarsys.capella.core.transition.system.handlers.attachment.CapellaDefaultAttachmentHandler.removeElements(CapellaDefaultAttachmentHandler.java:69) at org.polarsys.capella.core.transition.common.activities.PostDiffMergeActivity.removeTemporaryElements(PostDiffMergeActivity.java:66) at org.polarsys.capella.core.transition.common.activities.PostDiffMergeActivity._run(PostDiffMergeActivity.java:46) at org.polarsys.capella.core.transition.common.activities.AbstractActivity.run(AbstractActivity.java:103) at org.polarsys.capella.core.transition.common.transposer.ExtendedCadenceLauncher.cadence(ExtendedCadenceLauncher.java:175) ... 76 more

michel.bispo commented on 2020-02-03

Hi, it is a known issue, a regression from Capella 1.3.1. It impacts all Capella internal transition for elements located in a library: it will be fixed soon, with a new Capella 1.3.2.

With Capella 1.4.0, the bug is still present but it is not critical: the transition does not fail, even for libraries. However, the result presented in the diffmerge window in Capella 1.4.0 is not correct: it will be fixed in next Capella 1.4.1.

Best regards,

Michel

sandu.postaru commented on 2020-03-09

Status: resolved Resolution: fixed

sandu.postaru commented on 2020-03-09

Status: verified Resolution: fixed