モデルからモデルへの変換マッピング・プロジェクトで生成されたモデルへのマージ・サポートの追加

変換によって生成されるメタモデルのタイプにマージ・サポートが指定されていない場合、 または、そのタイプのメタモデルに指定されているマージ・サポートをオーバーライドしたい場合は、 マッピング・プロジェクト、あるいはターゲット・メタモデルを定義するプロジェクトに、マージ拡張を指定することができます。
始める前に

オーサリング・ツールを使用して作成した変換を実行すると、 変換によって、特定の Ecore メタモデルのインスタンスである一時モデルが作成されます。 比較およびマージ機能によって、汎用 Ecore マージ戦略の実装と、UML モデルに対する固有のマージ戦略の実装が得られます。 変換によって UML 出力モデルが生成される場合、マージ・サポートを構成する必要はありません。 変換によって Ecore メタモデルのインスタンスである出力モデルが生成される場合、 および変換出力をマージする場合は、そのタイプの Ecore メタモデルに対してマージ・サポートが構成されていることを確認します。 通常は、メタモデルの作成者がメタモデルのマージ・サポート戦略を構成し、また、カスタム・マージ戦略を指定できます。

変換によって、input.ecore メタモデルのインスタンスである MyOutputModel.input という出力モデルが生成される場合を例に考えてみます。 input.ecore メタモデルに対してマージ・サポートが使用可能に設定されているかどうかを判別するには、 input.ecore メタモデルの定義を含むプラグインの拡張を確認します。 input.ecore メタモデルに対してマージ・サポートが構成されている場合、 そのメタモデルを定義するプラグインの plugin.xml ファイルに、 このトピックの最後に示されているコード・フラグメントに似たマージ拡張が含まれています。 指定されているマージ戦略をオーバーライドする場合、 または、このタイプのメタモデルにマージ・サポートが構成されていない場合は、 マッピング・プロジェクト、あるいはメタモデル定義を含むプロジェクトに、マージ拡張を追加することができます。

このタスクについて
マッピング・プロジェクトの 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 というファイル名拡張子を持つモデルが生成されることを示しています。 このファイル拡張子属性は、別のモデルにマージされるターゲット・モデルのファイル・タイプを表しています。
<extension point="org.eclipse.core.runtime.contentTypes">
	<file-association content-type="com.ibm.xtools.comparemerge.emf.emfContentType" file-extensions="input"/>
</extension>

フィードバック