|
Re: Problem when using ereference to another registered package [message #840444 is a reply to message #840204] |
Tue, 10 April 2012 04:56 |
Ed Willink Messages: 7669 Registered: July 2009 |
Senior Member |
|
|
Hi
What version are you using?
http://wiki.eclipse.org/MDT/OCL/New_and_Noteworthy/Indigo shows a
related fix in SR1 and in SR2.
import bpmn : '/plugin/org.eclipse.stp.bpmn/model/bpmn.ecore#/';
does not seem at all likely, but without the *.ecore file to look at
it's difficult to comment.
Regards
Ed Willink
On 09/04/2012 21:02, Rômulo rpini wrote:
> Hi,
>
> I have an ecore metamodel that has a class with an EReference to the
> Activity class from the bpmn metamodel (which came from the bpmn
> modeler editor). To do that, I simply right clicked->load
> resource->browse registered packages->choose
> http://stp.eclipse.org/bpmn. It gives no error and validates
> sucessfully when opening the file on Sample Ecore model editor, but
> when I open on OclInEcore Editor, this line:
>
> import bpmn : '/plugin/org.eclipse.stp.bpmn/model/bpmn.ecore#/';
>
> has an error, stating that this import is unresolved and null.
>
> When I restart eclipse, it evens change that eReference to an Eobject.
> If I do not open the file on OCLinEcoreEditor, when I restart eclipse
> it stays with the correct EReference.
>
> Any help is appreciated.
>
> Thank you.
|
|
|
|
Re: Problem when using ereference to another registered package [message #840735 is a reply to message #840204] |
Tue, 10 April 2012 12:58 |
Ed Willink Messages: 7669 Registered: July 2009 |
Senior Member |
|
|
Hi
This is my 'favourite' EMF feature: meta-model schizophrenia, which the
Sample Ecore Editor makes very easy.
In bpmn.ecore you will find
<eClassifiers xsi:type="ecore:EClass" name="MessageVertex"
eSuperTypes="#//NamedBpmnObject #//Identifiable">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="orderedMessages"
unique="false"
upperBound="-1" eType="ecore:EDataType
http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
and
<eClassifiers xsi:type="ecore:EClass" name="Association"
eSuperTypes="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement">
demonstrating that bpmn.ecore is using schizophrenic Ecores
EFeatureMapEntry from http://www.eclipse.org/emf/2002/Ecore (registered
Java classes)
EModelElement from
platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore (a file)
If you load bpmn.ecore into the Sample Ecore Editor and validate you
will find two copies of Ecore in use; not a problem for the Sample Ecore
Editor that does not do much model execution, but generally the source
of nightmares in model transformation tools that at best get confusing
answers from type hierarchy comparisons.
The OCLinEcore editor is a little more proactive in diagnosing
schizophrenia detecting a conflict on load, but the message is far from
obvious. There is a conflict message in the error log but that is also
far from clear.
So for Indigo, you need to repair the broken bpmn.ecore, so that it uses
only one flavour of Ecore.
For Juno, this problem goes away, because Ecores are loaded as Pivot
models where package nsURI rather external URI is significant. Duplicate
nsURIs are merged.
Regards
Ed Willink
On 09/04/2012 21:02, Rômulo rpini wrote:
> Hi,
>
> I have an ecore metamodel that has a class with an EReference to the
> Activity class from the bpmn metamodel (which came from the bpmn
> modeler editor). To do that, I simply right clicked->load
> resource->browse registered packages->choose
> http://stp.eclipse.org/bpmn. It gives no error and validates
> sucessfully when opening the file on Sample Ecore model editor, but
> when I open on OclInEcore Editor, this line:
>
> import bpmn : '/plugin/org.eclipse.stp.bpmn/model/bpmn.ecore#/';
>
> has an error, stating that this import is unresolved and null.
>
> When I restart eclipse, it evens change that eReference to an Eobject.
> If I do not open the file on OCLinEcoreEditor, when I restart eclipse
> it stays with the correct EReference.
>
> Any help is appreciated.
>
> Thank you.
|
|
|
Re: Problem when using ereference to another registered package [message #840972 is a reply to message #840735] |
Tue, 10 April 2012 18:45 |
Rômulo rpini Messages: 36 Registered: July 2009 |
Member |
|
|
Hi Ed, thank you for pointing out the problem.
I downloaded and tried in Juno like you suggested, but got this error when opening the ecore in OCLinEcore editor:
Editor could not be initialized.
java.lang.IllegalArgumentException: Ambiguous package name 'bpmn'
at org.eclipse.ocl.examples.pivot.manager.PackageManager.getPackageByName(PackageManager.java:163)
at org.eclipse.ocl.examples.pivot.manager.PackageManager.addPackage(PackageManager.java:75)
at org.eclipse.ocl.examples.pivot.manager.MetaModelManager.addPackage(MetaModelManager.java:613)
at org.eclipse.ocl.examples.pivot.manager.MetaModelManager.installPackage(MetaModelManager.java:2066)
at org.eclipse.ocl.examples.pivot.manager.MetaModelManager.installResource(MetaModelManager.java:2131)
at org.eclipse.ocl.examples.pivot.ecore.Ecore2Pivot.getPivotRoot(Ecore2Pivot.java:429)
at org.eclipse.ocl.examples.pivot.ecore.Ecore2Pivot.getPivotType(Ecore2Pivot.java:348)
at org.eclipse.ocl.examples.pivot.ecore.Ecore2Pivot.resolveSimpleType(Ecore2Pivot.java:612)
at org.eclipse.ocl.examples.pivot.ecore.Ecore2Pivot.resolveType(Ecore2Pivot.java:665)
at org.eclipse.ocl.examples.pivot.ecore.Ecore2Pivot.importObjects(Ecore2Pivot.java:466)
at org.eclipse.ocl.examples.pivot.ecore.Ecore2Pivot.getPivotRoot(Ecore2Pivot.java:417)
at org.eclipse.ocl.examples.xtext.oclinecore.ui.model.OCLinEcoreDocumentProvider.setDocumentContent(OCLinEcoreDocumentProvider.java:243)
at org.eclipse.ui.editors.text.FileDocumentProvider.setDocumentContent(FileDocumentProvider.java:424)
at org.eclipse.xtext.ui.editor.model.XtextDocumentProvider.setDocumentContent(XtextDocumentProvider.java:115)
at org.eclipse.ocl.examples.xtext.oclinecore.ui.model.OCLinEcoreDocumentProvider.setDocumentContent(OCLinEcoreDocumentProvider.java:203)
at org.eclipse.ui.editors.text.StorageDocumentProvider.createDocument(StorageDocumentProvider.java:229)
at org.eclipse.xtext.ui.editor.model.XtextDocumentProvider.createDocument(XtextDocumentProvider.java:88)
at org.eclipse.ui.editors.text.FileDocumentProvider.createElementInfo(FileDocumentProvider.java:735)
at org.eclipse.xtext.ui.editor.model.XtextDocumentProvider.createElementInfo(XtextDocumentProvider.java:153)
at org.eclipse.ui.texteditor.AbstractDocumentProvider.connect(AbstractDocumentProvider.java:400)
at org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:4222)
at org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:237)
at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1481)
at org.eclipse.ui.editors.text.TextEditor.doSetInput(TextEditor.java:169)
at org.eclipse.xtext.ui.editor.XtextEditor.doSetInput(XtextEditor.java:219)
at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3209)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.ui.internal.WorkbenchWindow$13.run(WorkbenchWindow.java:1662)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:1659)
at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3227)
at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3254)
at org.eclipse.xtext.ui.editor.XtextEditor.init(XtextEditor.java:240)
at org.eclipse.ui.internal.EditorReference.initialize(EditorReference.java:324)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:254)
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:56)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:853)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:833)
at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:111)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:318)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:240)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:161)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:102)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:71)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:53)
at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:141)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:882)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:616)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:718)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:689)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:683)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:668)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$1.handleEvent(PartServiceImpl.java:90)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:41)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4683)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:184)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:81)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:57)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:171)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:418)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:385)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:578)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:314)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:962)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2812)
at org.eclipse.ui.internal.WorkbenchPage.access$20(WorkbenchPage.java:2737)
at org.eclipse.ui.internal.WorkbenchPage$8.run(WorkbenchPage.java:2719)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2715)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2674)
at org.eclipse.ui.actions.OpenWithMenu.openEditor(OpenWithMenu.java:338)
at org.eclipse.ui.actions.OpenWithMenu$2.handleEvent(OpenWithMenu.java:180)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1015)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:909)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:85)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:580)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:535)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
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:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
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:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
Any workaround on this?
Best regards,
[Updated on: Tue, 10 April 2012 18:46] Report message to a moderator
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03721 seconds