|
|
Re: [Xtend] Problem with JAVA Extension -> static initializer -> EFactory [message #546084 is a reply to message #546063] |
Sat, 10 July 2010 20:24 |
Abdull Messages: 32 Registered: May 2010 |
Member |
|
|
Hello Christian,
your suggestion solved my problem!
This was my mwe2 workflow:
module project.skunkflow.DspTiCWorkflow03
var model = "full_fixp_phase_mod_and_fir_2"
var pimExtension = "hl_dsp_pimm_02"
var pimModelFile = "${model}.${pimExtension}"
var tiCPsmExtension ="ti_c_psmm_02"
var tiCPsmModelFile = "${model}.${tiCPsmExtension}"
var workflowProjectName = "workflows_transformations_models"
var workflowProjectDir = "../${workflowProjectName}"
var hlDspPimmProjectName = "hl_dsp_pimm_02"
var hlDspPimmProjectDir = "../${hlDspPimmProjectName}"
var tiCPsmmProjectName = "ti_c_psmm_02"
var tiCPsmmProjectDir = "../${tiCPsmmProjectName}"
Workflow {
bean = org.eclipse.emf.mwe.utils.StandaloneSetup {
registerEcoreFile = "${hlDspPimmProjectDir}/metamodel/${hlDspPimmProjectName}.ecore"
registerEcoreFile = "${tiCPsmmProjectDir}/metamodel/${tiCPsmmProjectName}.ecore"
// platformUri ?
}
component = org.eclipse.emf.mwe.utils.Reader {
uri = "${workflowProjectDir}/models/${pimModelFile}"
modelSlot = "model_pim"
firstElementOnly = true
}
component = org.eclipse.xtend.XtendComponent {
metaModel = org.eclipse.xtend.typesystem.emf.EmfRegistryMetaModel { }
invoke = "${workflowProjectDir}::transformations::dsp_pim_2_ti_c_psm_03::transform_dsp_pim_to_ti_c_psm(model_pim)"
outputSlot = "model_ti_c_psm"
}
component = org.eclipse.emf.mwe.utils.Writer {
modelSlot = "model_ti_c_psm"
uri = "${workflowProjectDir}/out/${tiCPsmModelFile}"
}
}
As you can see in the above workflow, I was using the dynamic method (e.g. registerEcoreFile = " ${hlDspPimmProjectDir}/metamodel/${hlDspPimmProjectName}.eco re " ).
Though I cannot tell at which place within my workflow I'm switching to static EMF. Possibly this happens with
component = org.eclipse.xtend.XtendComponent {
metaModel = org.eclipse.xtend.typesystem.emf.EmfRegistryMetaModel { }
... though I don't know how to do it in another way.
...
I switched from dynamic EMF to static EMF. My workflow now looks like this
module project.skunkflow.DspTiCWorkflow04
var model = "full_fixp_phase_mod_and_fir_2"
var pimExtension = "hl_dsp_pimm_02"
var pimModelFile = "${model}.${pimExtension}"
var tiCPsmExtension = "ti_c_psmm_02"
var tiCPsmModelFile = "${model}.${tiCPsmExtension}"
var workflowProjectName = "workflows_transformations_models"
var workflowProjectDir = "../${workflowProjectName}"
var hlDspPimmProjectName = "hl_dsp_pimm_02"
var hlDspPimmProjectDir = "../${hlDspPimmProjectName}"
var tiCPsmmProjectName = "ti_c_psmm_02"
var tiCPsmmProjectDir = "../${tiCPsmmProjectName}"
Workflow {
bean = org.eclipse.emf.mwe.utils.StandaloneSetup {
registerGeneratedEPackage = "hl_dsp_pimm_02.Hl_dsp_pimm_02Package"
registerGeneratedEPackage = "ti_c_psmm_02.Ti_c_psmm_02Package"
}
component = org.eclipse.emf.mwe.utils.Reader {
uri = "${workflowProjectDir}/models/${pimModelFile}"
modelSlot = "model_pim"
firstElementOnly = true
}
component = org.eclipse.xtend.XtendComponent {
metaModel = org.eclipse.xtend.typesystem.emf.EmfRegistryMetaModel {}
invoke = "${workflowProjectDir}::transformations::dsp_pim_2_ti_c_psm_03::transform_dsp_pim_to_ti_c_psm(model_pim)"
outputSlot = "model_ti_c_psm"
}
component = org.eclipse.emf.mwe.utils.Writer {
modelSlot = "model_ti_c_psm"
uri = "${workflowProjectDir}/out/${tiCPsmModelFile}"
}
}
The workflow now runs flawlessly.
Actually, I was required to switch to static EMF for yet another reason, as already similarly discussed in another thread.
The problem was that one of my Java extension had a metamodel class as a parameter
Void handleMyCs(hl_dsp_pimm_02::CompoundSystem cs) :
JAVA de.mimoon.meta.m2m.TransformHelper.handleMyCs(hl_dsp_pimm_02.CompoundSystem);
When executing the old dynamic workflow, Xtend complained in the following way
hl_dsp_pimm_02::CompoundSystem is not responsible for java type hl_dsp_pimm_02.CompoundSystem
Changing the workflow from dynamic EMF to static EMF solved my problem - though I'd still prefer to have it running in the dynamic way.
I'd like to thank you and your colleagues once again for the great and quick support you are providing for the community!
Cheers,
Abdull
[Updated on: Sat, 10 July 2010 20:25] Report message to a moderator
|
|
|
Powered by
FUDForum. Page generated in 0.02826 seconds