Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » M2M (model-to-model transformation) » ATL transformation programmatically inter model reference
ATL transformation programmatically inter model reference [message #763200] Fri, 09 December 2011 10:41
giovi disanto is currently offline giovi disantoFriend
Messages: 58
Registered: September 2011
Member
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?
Previous Topic:[ATL] Invoking an ATL transformation on a part of a model, not on a whole model
Next Topic:how select elements in a specific element
Goto Forum:
  


Current Time: Mon Dec 22 16:30:50 GMT 2014

Powered by FUDForum. Page generated in 0.01959 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software