具体的に言えば、生成される変換の getCreateRule メソッドを変更して、新規実装で CreateRule コンストラクター の insertEObject メソッドをオーバーライドすることができます。
メソッドを変更してオーバーライドを追加するには、以下のようにします。
protected CreateRule getCreate_Rule(FeatureAdapter referenceAdapter) {
CreateRule rule = new CreateRule(
CREATE_RULE,
InsertOwnerMessages.Class2Class_Transform_Create_Rule,
this,
referenceAdapter,
UMLPackage.Literals.CLASS) {
@Override
protected void insertEObject(EObject targetContainer, EObject target) {
final String ownerName = "owner";
if (targetContainer instanceof Model) {
org.eclipse.uml2.uml.Package owner = ((Model)targetContainer).getNestedPackage(ownerName);
if (owner == null) {
owner = ((Model)targetContainer).createNestedPackage(ownerName);
}
targetContainer = owner;
}
super.insertEObject(targetContainer, target);
}};
return rule;
}