Bug 497151 - ServiceNotFoundException on diagram opening in EMFCompare
Summary: ServiceNotFoundException on diagram opening in EMFCompare
Status: NEW
Alias: None
Product: Papyrus
Classification: Modeling
Component: Diagram (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-07-01 09:45 EDT by Mathieu Cartaud CLA
Modified: 2017-11-06 03:28 EST (History)
2 users (show)

See Also:


Attachments
Test project (5.63 KB, application/zip)
2016-07-01 09:45 EDT, Mathieu Cartaud CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mathieu Cartaud CLA 2016-07-01 09:45:20 EDT
Created attachment 262857 [details]
Test project

Hello,

We have a ServiceNotFoundException when using EMFCompare to compare papyrus diagrams. We have been getting this error since we worked with the comparison of papyrus diagrams.

We are not hundred percent sure of our way to initialize Papyrus Diagram but we found several bugs with the same error allowing to think that the correction have to be made on Papyrus side:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=469401
https://bugs.eclipse.org/bugs/show_bug.cgi?id=402525

Can you confirm?

We really appreciate any help you can provide

Steps to reproduce: 
1 - import the given project (made with neon version of papyrus).
2 - Select the three notations files
3 - Right click on it then click on compare with each other. Select ancestor.notation as ancestor.
4 - In the EMFCompare editor, unfold serviceNotFound/left.notation
5 - Double click on the diagram
6 - When the diagram is displayed in EMFCompare editor, you get the following error in the error log:

org.eclipse.papyrus.infra.core.services.ServiceNotFoundException: The resource set was not initialized as a service.
	at org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForResourceSet.getServiceRegistry(ServiceUtilsForResourceSet.java:44)
	at org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForResource.getServiceRegistry(ServiceUtilsForResource.java:65)
	at org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForEObject.getServiceRegistry(ServiceUtilsForEObject.java:43)
	at org.eclipse.papyrus.infra.gmfdiag.common.utils.ServiceUtilsForEditPart.getServiceRegistry(ServiceUtilsForEditPart.java:40)
	at org.eclipse.papyrus.infra.gmfdiag.common.utils.ServiceUtilsForEditPart.getServiceRegistry(ServiceUtilsForEditPart.java:1)
	at org.eclipse.papyrus.infra.core.utils.AbstractServiceUtils.getService(AbstractServiceUtils.java:117)
	at org.eclipse.papyrus.infra.gmfdiag.common.editpart.PapyrusDiagramEditPart.refresh(PapyrusDiagramEditPart.java:91)
	at org.eclipse.papyrus.infra.gmfdiag.common.helper.DiagramHelper.refresh(DiagramHelper.java:110)
	at org.eclipse.papyrus.infra.gmfdiag.common.helper.DiagramHelper$2.run(DiagramHelper.java:181)
	at org.eclipse.papyrus.infra.ui.util.UIUtil$UIExecutorService$RunnableWrapper.run(UIUtil.java:535)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4024)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3700)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:687)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:604)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)
	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(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
Comment 1 Thomas Wiman CLA 2017-10-31 06:14:19 EDT
I experience the same exception when trying to compare and merge conflicting changes in diagrams. 

I am using Papyrus Neon.2 (RCP-installation) with updated EMF Compare plugins (3.3.2.201710121423) and recommended preference settings. 
 
Any updates on this?
Comment 2 Philip Langer CLA 2017-11-06 03:28:38 EST
Hi Thomas,

it is a very annoying issue and I have it on my todo list. However, as it doesn't interfere with the correct behavior (ie, this exception is just printed to the log but doesn't break the behavior), it has rather low priority.