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;
}