[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Newsgroup Home]
|
[news.eclipse.modeling.m2m] How do I use both AMW and UML2 modelHandlers?
|
Hi everybody,
I am currently working on a transformation and I have a problem with the
modelHandlers
My Transfo takes 5 models as input
A UML2 model
B UML2 profile
C KDM model which previously served as a basis for creation of A
D TRACE model referencing transformation links between A and C
E IKDM model (woven model) containing various links between C elements
and as output a UML2 model O which is an enriched version of A
What I want to do is basically
- copy A in O
- browse E
for every link create a UML Dependency in O
for every element of C referenced by the link, find the matching
element in A using D and set it
as the client/supplier of the dependency
- Apply B on O, and apply stereotypes on the created dependencies
In my launcher modelHanlder are set like this
KDM -> EMF
TRACE -> AMW
WEAVING -> AMW
If I set UML2 with UML2 modelHandler I get an exception
GRAVE: ****** BEGIN Stack Trace
GRAVE: exception:
GRAVE: null
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.eclipse.m2m.atl.engine.vm.ClassNativeOperation.exec(ClassNativeOperation.java:69)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASMOclAny.java:143)
at
org.eclipse.m2m.atl.drivers.emf4atl.ASMEMFModelElement.invoke(ASMEMFModelElement.java:683)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOperation.java:240)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOperation.java:338)
at org.eclipse.m2m.atl.engine.vm.ASMOperation.exec(ASMOperation.java:171)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASMOclAny.java:143)
at
org.eclipse.m2m.atl.drivers.emf4atl.ASMEMFModelElement.invoke(ASMEMFModelElement.java:683)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOperation.java:240)
at org.eclipse.m2m.atl.engine.vm.ASMOperation.exec(ASMOperation.java:171)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASMOclAny.java:143)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASMOclAny.java:101)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOperation.java:240)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOperation.java:338)
at org.eclipse.m2m.atl.engine.vm.ASMOperation.exec(ASMOperation.java:171)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASMOclAny.java:143)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASMOclAny.java:101)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOperation.java:240)
at org.eclipse.m2m.atl.engine.vm.ASMOperation.exec(ASMOperation.java:171)
at
org.eclipse.m2m.atl.engine.vm.ASMInterpreter.<init>(ASMInterpreter.java:299)
at org.eclipse.m2m.atl.engine.AtlLauncher.launch(AtlLauncher.java:169)
at org.eclipse.m2m.atl.engine.AtlLauncher.launch(AtlLauncher.java:111)
at org.eclipse.m2m.atl.engine.AtlLauncher.launch(AtlLauncher.java:87)
at
org.eclipse.m2m.atl.adt.launching.AtlRegularVM.runAtlLauncher(AtlRegularVM.java:326)
at
org.eclipse.m2m.atl.adt.launching.AtlRegularVM.runAtlLauncher(AtlRegularVM.java:426)
at
org.eclipse.m2m.atl.adt.launching.AtlRegularVM.launch(AtlRegularVM.java:398)
at
org.eclipse.m2m.atl.adt.launching.AtlLaunchConfigurationDelegate.launch(AtlLaunchConfigurationDelegate.java:42)
at
org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:764)
at
org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:614)
at
org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:880)
at
org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1083)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.lang.ClassCastException:
org.eclipse.m2m.atl.drivers.uml24atl.ASMUMLModel cannot be cast to
org.eclipse.m2m.atl.drivers.emf4atl.ASMEMFModel
at
org.eclipse.gmt.weaver.amw4atl.ASMAMWModelElement.getWovenASMModel(ASMAMWModelElement.java:116)
at
org.eclipse.gmt.weaver.amw4atl.ASMAMWModelElement.getReferredElement(ASMAMWModelElement.java:192)
... 35 more
And If set UML2 modelHandler to EMF, it works fine as long as I don't use
applyProfile and appyStereotype
because I get a method not found exception. The problem is I need to use
them :)
Does anyone have an idea? I should probably divide transformation in 2 but
that would mean another copy of the UML model and using the trace model of
the first transformation.
Thanks in advance