blob: 444697bbc54c5b650d96103174655c9320a6ec14 [file] [log] [blame]
transformation mm_header4(in ecore1 : ECORE, in ecore2 : ECORE, in ecore3 : ECORE, out uml : SIMPLEUML, out rdb : RDB);
modeltype SIMPLEUML uses "http://www.eclipse.org/qvt/1.0.0/Operational/examples/simpleuml";
modeltype ECORE uses "http://www.eclipse.org/emf/2002/Ecore";
modeltype RDB uses 'http://www.eclipse.org/qvt/1.0.0/Operational/examples/rdb';
mapping main(in p1 : EPackage@ecore3, out u : Package, in p2 : EPackage@ecore1, in p3 : EPackage@ecore2) {
init {
u := object SIMPLEUML::Package {name := 'uml'};
u.ownedElements := p1.eClassifiers->select(c|c.oclIsKindOf(EClass))
->collect(c|c.oclAsType(EClass).map toClass())->asOrderedSet();
u.ownedElements += p2.eClassifiers->select(c|c.oclIsKindOf(EClass))
->collect(c|c.oclAsType(EClass).map toClass());
u.ownedElements += p3.eClassifiers->select(c|c.oclIsKindOf(EClass))
->collect(c|c.oclAsType(EClass).map toClass());
object rdb::Table {name := 'table'};
}
}
mapping EClass::toClass() : Class {
name := self.name + '_Cls';
}