Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 315371 - EVL quickfix throws NullPointerException
Summary: EVL quickfix throws NullPointerException
Status: CLOSED FIXED
Alias: None
Product: Epsilon
Classification: Modeling
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Dimitris Kolovos CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-02 06:16 EDT by Balogh Endre CLA
Modified: 2012-02-06 10:59 EST (History)
0 users

See Also:


Attachments
Contains all the needed plugin projects and the diagram file to edit. (1.48 MB, application/zip)
2010-06-02 06:16 EDT, Balogh Endre CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Balogh Endre CLA 2010-06-02 06:16:39 EDT
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)
Comment 1 Dimitris Kolovos CLA 2010-06-02 09:59:06 EDT
I've reproduced this. I'll investigate and get back to you within the next couple of days.
Comment 2 Dimitris Kolovos CLA 2010-06-10 10:18:02 EDT
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?
Comment 3 Dimitris Kolovos CLA 2010-07-07 09:23:46 EDT
Changing status to RESOLVED
Comment 4 Dimitris Kolovos CLA 2010-11-25 08:15:28 EST
Fixed in 0.9.0.
Comment 5 Dimitris Kolovos CLA 2010-11-25 08:16:34 EST
Fixed in 0.9.0.