모델에서 모델로 변환 맵핑 프로젝트로 생성된 모델에 대한 병합 지원 추가

변환이 생성하는 메타 모델의 유형에 대해 병합 지원이 지정되지 않거나 메타 모델의 해당 유형에 대해 지정된 병합 지원을 대체하려는 경우, 대상 메타 모델을 정의하는 프로젝트나 맵핑 프로젝트에서 병합 확장을 지정할 수 있습니다.
시작하기 전에

작성 도구 사용 중에 작성한 변환을 실행할 때 변환은 특정 Ecore 메타 모델의 인스턴스인 임시 모델을 작성합니다. 비교 및 병합 기능은 일반 Ecore 병합 전략의 구현과 UML 모델에 대한 독립 병합 전략을 제공합니다. 변환이 UML 출력 모델을 생성하는 경우 병합 지원을 구성하지 않아도 됩니다. 변환이 Ecore 메타 모델의 인스턴스인 출력 모델을 생성하고 변환 출력을 병합하려는 경우, Ecore 메타 모델의 해당 유형에 대해 병합 지원이 구성됨을 확인해야 합니다. 일반적으로, 메타 모델 작성자가 메타 모델의 병합 지원 전략을 구성하므로 사용자 정의 병합 전략을 지정할 수 있습니다.

예를 들어, MyOutputModel.input이라고 하는 출력 모델을 생성하는 변환을 고려해 보십시오. 이 모델은 input.ecore 메타 모델의 인스턴스입니다. input.ecore 메타 모델에 대해 병합 지원이 사용되는지 판별하려면 input.ecore 메타 모델의 정의가 있는 플러그인에서 확장을 확인하십시오. input.ecore 메타 모델에 대해 병합 지원이 구성되는 경우 메타 모델을 정의하는 플러그인의 plugin.xml 파일에는 이 주제의 맨 아래 부분에 있는 코드 단편의 것과 유사한 병합 확장이 있습니다. 지정된 병합 전략을 대체하거나 이 유형의 메타 모델에 대해 병합 지원이 구성되지 않는 경우 메타 모델 정의가 있는 프로젝트나 맵핑 프로젝트에 병합 확장을 추가할 수 있습니다.

이 태스크 정보
메타 모델 정의가 있는 프로젝트나 맵핑 프로젝트의 plugin.xml 파일에 병합 확장점을 추가하려면 다음을 수행하십시오.
  1. 프로젝트 탐색기 보기의 변환 맵핑 프로젝트에서 plugin.xml 파일을 여십시오.
  2. 확장 탭을 클릭하십시오.
  3. 모든 확장 분할창에서 추가를 클릭하십시오.
  4. 구현한 병합 기능을 표시하는 확장을 클릭하십시오. 예를 들어, EMF 병합 확장점을 지정하려면 org.eclipse.core.contenttype.contentTypes를 클릭하십시오.
  5. 완료를 클릭하십시오.
  6. 확장 탭의 모든 확장 분할창에서 4 단계에 지정하는 확장을 마우스 오른쪽 단추로 클릭한 후 새로 작성 > 파일 연관을 클릭하십시오.
  7. 파일 확장 필드에서 맵핑 프로젝트가 정의하는 모델 유형을 지정하십시오. 이 필드에는 이 컨텐츠 유형과 연관될 파일 확장의 목록(쉼표로 구분)이 있을 수 있습니다.
  8. 파일 > 저장을 클릭하십시오.
다음 예제는 위의 단계를 완료하여 병합 확장점이 추가된 후 plugin.xml 파일의 코드 단편을 보여 줍니다. 이 예제에서, plugin.xml 파일은 사용자가 변환을 실행할 때 EMF 병합이 사용 가능함을 표시하고 변환은 파일 이름 확장자가 .input인 모델을 생성합니다. file-extensions 속성은 다른 모델과 병합하는 대상 모델의 파일 유형을 표시합니다.
<extension point="org.eclipse.core.runtime.contentTypes">
	<file-association content-type="com.ibm.xtools.comparemerge.emf.emfContentType" file-extensions="input"/>
</extension>

피드백