EMF 모델로 작업 중이며이 복사본을 만들어야합니다. 내 모델은 세 개의 메타 모델로 구성된 상호 연결된 인스턴스로 구성되며 그 중 하나는 Ecore 자체입니다. 여태까지는 그런대로 잘됐다.ECoreUtil.Copier를 사용하여 EGenericType 인스턴스 복사
그러나 이러한 모델 (일반적인 프로토콜에 따라 EcoreUtil.Copier.copyAll
을 사용)을 복사 할 때 내 모델의 일부는 복사되지 않습니다. 구체적으로, Ecore 인스턴스에는 EGenericType
의 인스턴스가 포함되어 있습니다 (참조 및 속성이 있으며 해당 인스턴스가 유형을 표시하기 위해 EGenericType
인스턴스로 자동 설정 됨). 복사 결과에는 모든 것이 포함되지만 이러한 경우는 EGenericType
입니다.
EMF 소스 코드를 고음질로 검색해 보았지만 문제점을 파악할 수 없었습니다. 나는 EcoreUtil.Copier
의 출처를 살펴본 후 실제로 복사 할 것인지 결정하기 위해 변경 가능하고 파생되지 않은지 여부를 각 구조적 특징을 확인합니다. 이 조건은 EGenericType
에 대한 참조에 해당하므로 포함 참조로 복사해야합니다.
흥미롭게도, 의 결과는에 EGenericType
의 복사 된 인스턴스가 개체 그래프의 모든 올바른 위치에 포함되어 있습니다. 그러나 복사기에 매핑되지 않으므로 EcoreUtil.Copier.copy
을 호출하여 생성 된 것 같지 않지만 암묵적으로는 생성됩니다.
아이디어가 생성되고 복사기 맵에 표시 될 수있는 아이디어가 있습니까?
많은 감사,
스테