특히, 생성된 변환에서 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;
}