論理モデル統合のチーム・サポート
論理モデル統合のチーム・サポートの説明では、2 つの重要な観点があります。
- リポジトリー・プロバイダー: リポジトリー・プロバイダーは、ローカル・ワークスペースとリモート・リポジトリーの間の接続です。リポジトリー・プロバイダーから見た論理モデル・サポートの詳細については、論理モデル統合のリポジトリー・ロードマップを参照してください。
- モデル・プロバイダー: モデル・プロバイダーは、ユーザーがローカル・ワークスペースのリソースに保管されているモデル要素を操作できるようにするツールです。モデル・プロバイダーでこのサポートを活用する方法の詳細については、論理モデル統合のモデル・ロードマップを参照してください。
以下に、チーム論理モデル・サポートがカバーするフィーチャーの要約を示します。
- ワークスペースの整合性の維持: リソース上で直接実行される操作では、それらのリソースで保持されている、または関連付けられているモデル要素で有害な副次作用が発生する場合があります。クライアントでは ResourceChangeValidator を使用して、リソースの変更がモデルに有害な副次作用をもたらさないか検証できます。一方、モデルではリソース変更を検証する ModelProvider#validateChange メソッドを実装することができます。
- チーム操作および装飾: モデル要素を対応する IResource に適応させることで 1 対 1 の関係を持つようになったモデル要素には、常にチーム操作および装飾を使用することができます。
現在では、モデル要素を ResourceMapping に適用することでより複雑な関係を持つようになったモデル要素に、操作および装飾を使用することができます。
- モデル要素のセマンティックのマージ: モデル・プロバイダーは、モデル要素とリソース間に 1 対 1 の対応がある場合に、IStorageMerger を特定のファイル・タイプに関連付けることで、ヘッドレス・マージに参加できます。より複雑な関係の場合、モデル・プロバイダーはその ModelProvider を IResourceMappingMerger に適応させて、マージ操作のコンテンツ全体にアクセスすることができます。
- チーム・ビューアーのモデルの参加: 現在では、チーム・ビューは共通ナビゲーター・フレームワークを使用します。共通ナビゲーター拡張ポイントおよびチーム拡張ポイントを拡張し、コンテンツ・プロバイダーおよびラベル・プロバイダーを提供することにより、モデル・プロバイダーをチーム・ビューに表示できます。いくつかの追加手順を実行することにより、モデルのマージ・プレビュー・サポートを提供することもできます。
- リモート・ディスカバリー: モデル・プロバイダーは、チームの ProjectSetCapability クラスを使用することでリモート・ディスカバリーに参加し、プロジェクト・セット・エントリーから URI を取得できます。この URI を Eclipse ファイル・システム API と共に使用することで、リモート・コンテンツにアクセスできます。
- モデル・ヒストリー: モデル・プロバイダーは、FileHistory API を通じて個々のファイル・ヒストリーにアクセスでき、必要に応じて、ヒストリー・ビューに表示されるカスタム・ヒストリー・ページにモデル・ヒストリーを表示できます。