| modeltype ECORE uses 'http://www.eclipse.org/emf/2002/Ecore'; |
| |
| |
| transformation t( |
| in inModel : ECORE, out outModel : ECORE); |
| |
| |
| main() { |
| inModel.rootObjects()[EPackage]->map p2p(); |
| var inRootPackage := inModel.rootObjects()![EPackage]; |
| var outRootPackage := inRootPackage.resolveoneIn(EPackage::p2p, EPackage); |
| var r1 := inRootPackage.eClassifiers->first().resolveone(EClass); |
| outRootPackage.name := r1.name.substring(1, 6) + outRootPackage.name; |
| } |
| |
| mapping EPackage::p2p() : EPackage { |
| name := self.name; |
| eClassifiers += self.eClassifiers->map c2c(); |
| } |
| |
| mapping EClassifier::c2c() : EClass { |
| name := 'mapped' + self.name; |
| } |