| Summary: | EVL quickfix throws NullPointerException | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Modeling] Epsilon | Reporter: | Balogh Endre <iglo3> | ||||
| Component: | Core | Assignee: | Dimitris Kolovos <dkolovos> | ||||
| Status: | CLOSED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | ||||||
| Version: | unspecified | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Windows 7 | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
I've reproduced this. I'll investigate and get back to you within the next couple of days. I've committed a fix in the SVN and released a new interim version (0.8.9.201006101638). Could you please update to this version and verify that the fix works fine for you? Changing status to RESOLVED Fixed in 0.9.0. Fixed in 0.9.0. |
Created attachment 170769 [details] Contains all the needed plugin projects and the diagram file to edit. Executing more than one quickfix written in EVL from the "Problems" view has no effect on the validated model; a NullPointerException is thrown in the Eclipse instance that spawned the editor. Steps to Reproduce: Import the plug-in projects attached in the zip file. Spawn a new Eclipse instance. Open the default2.ddd_diagram file. Validate the model by using Edit -> Validate. Apply any quick fix. Apply more quick fixes. The second or third applied quick fix should throw the exception. Actual Results: Nothing happens in the spawned Eclipse instance. The following stacktrace is displayed in the spawning Eclipse instance: java.lang.NullPointerException at org.eclipse.epsilon.emc.emf.transactions.EmfModelTransaction.start(EmfModelTransaction.java:27) at org.eclipse.epsilon.eol.models.transactions.NestedModelTransactionSupport.startTransaction(NestedModelTransactionSupport.java:44) at org.eclipse.epsilon.eol.models.transactions.CompositeModelTransactionSupport.startTransaction(CompositeModelTransactionSupport.java:36) at org.eclipse.epsilon.evl.EvlFixInstance.perform(EvlFixInstance.java:75) at org.eclipse.epsilon.evl.emf.validation.ExecuteEvlFixCommand.execute(ExecuteEvlFixCommand.java:39) 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:511) at org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl.doExecute(WorkspaceCommandStackImpl.java:208) at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:165) at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:219) at org.eclipse.epsilon.evl.emf.validation.EvlMarkerResolution.run(EvlMarkerResolution.java:55) at org.eclipse.ui.internal.views.markers.QuickFixPage$12.run(QuickFixPage.java:596) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372) at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:944) at org.eclipse.ui.internal.views.markers.QuickFixPage.performFinish(QuickFixPage.java:576) at org.eclipse.ui.internal.views.markers.QuickFixWizard$1.run(QuickFixWizard.java:96) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372) at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:944) at org.eclipse.ui.internal.views.markers.QuickFixWizard.performFinish(QuickFixWizard.java:105) at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:752) at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:373) at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3910) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503) at org.eclipse.jface.window.Window.runEventLoop(Window.java:825) at org.eclipse.jface.window.Window.open(Window.java:801) at org.eclipse.ui.internal.views.markers.QuickFixHandler.execute(QuickFixHandler.java:166) at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:294) 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.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241) at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241) at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:770) at org.eclipse.ui.menus.CommandContributionItem.access$10(CommandContributionItem.java:756) at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:746) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3910) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194) 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:368) 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:559) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514) at org.eclipse.equinox.launcher.Main.run(Main.java:1311) at org.eclipse.equinox.launcher.Main.main(Main.java:1287) Expected Results: The quickfix should be applied normally to fix the error/warning. Platform: Windows 7 Additional Builds and Platforms: Current version of EMF, GMF and Epsilon (as in 02.06.2010)