blob: 8a5558053ed8ccc8b0c38a86e4a594a54b911758 [file] [log] [blame]
modeltype Ecore uses 'http://www.eclipse.org/emf/2002/Ecore';
transformation intermSimple(in srcModel : Ecore, out dstModel : Ecore);
intermediate class LeafAttribute {
_name:String;
_attr:EAttribute;
};
main() {
-- remark: use eStructuralFeatures[EAttribute], to make javaless unittest work, as
-- eAllAttributes derivation is not defined in the dynamic ecore model copy
var v := srcModel.objects()[EClass]->collect(eStructuralFeatures[EAttribute]->map attr2LeafAttrs('p_'));
-- sort by name as collect() resulted in Bag
object EClass {name := 'cls'; eStructuralFeatures += v._attr->sortedBy(name); }
}
mapping EAttribute::attr2LeafAttrs(in prefix:String) : Sequence(LeafAttribute)
when {true;}
{
init {
result := Sequence {
object LeafAttribute {_attr:=object EAttribute{name := prefix+self.name}; _name:=_attr.name;}
}
}
}