ATL transformation programmatically inter model reference [message #763200] |
Fri, 09 December 2011 10:41 |
Eclipse User |
|
|
|
Hi,
I've an ATL transformation that use inter model reference to reference element of source model in target model.
If i execute this transformation with a launch configuration everything works. If i use the atl plugin intead, it work only if in the properties file i disable inter model reference in this way:
Mngr2ctxmngr.options.allowInterModelReferences = false
but obviously my inter model reference are not processed... if i enable inter model reference i receive this error:
Metamodel contains several classifiers with same name: Element
Metamodel contains several classifiers with same name: Element
org.eclipse.m2m.atl.engine.emfvm.VMException: mngr.impl.ManagerStateImpl
at __applyRoot#38(mngr2ctxmngrND.atl[15:4-15:58])
local variables: self=mngr2ctxmngrND : ASMModule, link=TransientLink {rule = Root, sourceElements = {i2 = mngr.impl.ManagerImpl@63746939 (name: null, qualifiedName: null), i1 = mngr.impl.ManagerImpl@7e394b24 (name: null, qualifiedName: null)}, targetElements = {o = ctxmngr.impl.ContextManagerImpl@42f25b18 (name: null, qualifiedName: null)}, variables = {}}, i1=IN1!<unnamed>, i2=IN2!<unnamed>, o=OUT!<unnamed>
at __exec__#8(mngr2ctxmngrND.atl)
local variables: self=mngr2ctxmngrND : ASMModule, e=TransientLink {rule = Root, sourceElements = {i2 = mngr.impl.ManagerImpl@63746939 (name: null, qualifiedName: null), i1 = mngr.impl.ManagerImpl@7e394b24 (name: null, qualifiedName: null)}, targetElements = {o = ctxmngr.impl.ContextManagerImpl@42f25b18 (name: null, qualifiedName: null)}, variables = {}}
at main#24(mngr2ctxmngrND.atl)
local variables: self=mngr2ctxmngrND : ASMModule
Java Stack:
org.eclipse.m2m.atl.engine.emfvm.VMException: mngr.impl.ManagerStateImpl
at org.eclipse.m2m.atl.engine.emfvm.adapter.EMFModelAdapter.set(EMFModelAdapter.java:684)
at org.eclipse.m2m.atl.engine.emfvm.ASMOperation.exec(ASMOperation.java:474)
at org.eclipse.m2m.atl.engine.emfvm.ASMOperation.exec(ASMOperation.java:388)
at org.eclipse.m2m.atl.engine.emfvm.ASMOperation.exec(ASMOperation.java:388)
at org.eclipse.m2m.atl.engine.emfvm.ASM.run(ASM.java:208)
at org.eclipse.m2m.atl.engine.emfvm.launch.EMFVMLauncher.internalLaunch(EMFVMLauncher.java:170)
at org.eclipse.m2m.atl.engine.emfvm.launch.EMFVMLauncher.launch(EMFVMLauncher.java:139)
at mngr2ctxmngr.atl.wizard.files.Mngr2ctxmngr.doMngr2ctxmngr(Mngr2ctxmngr.java:169)
at mngr2ctxmngr.atl.wizard.files.Mngr2ctxmngr.doTrasformation(Mngr2ctxmngr.java:78)
at mngr2ctxmngr.plugin.popup.actions.merge.run(merge.java:52)
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3209)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
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:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Caused by: java.lang.ArrayStoreException: mngr.impl.ManagerStateImpl
at org.eclipse.emf.common.util.BasicEList.assign(BasicEList.java:124)
at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:424)
at org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddUnique(NotifyingListImpl.java:331)
at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique(NotifyingListImpl.java:315)
at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:307)
at org.eclipse.m2m.atl.engine.emfvm.adapter.EMFModelAdapter.set(EMFModelAdapter.java:615)
... 38 more
Can anyone help me?
|
|
|
Powered by
FUDForum. Page generated in 0.03273 seconds