Team Support for Logical Model Integration
There are two viewpoints of interest when describing the Team support for logical
- Repository Provider: A Repository Provider is the connection between
the local workspace and a remote repository. Details of the logical model
support from the standpoint of a Repository Provider can be found in the Repository
Roadmap for Logical Model Integration.
- Model Provider: A Model Provider is the tooling that allows the
user to work with the model elements that are stored in the resources in the
local workspace. Details of how Model Providers can leverage this support
is found in Model Roadmap for Logical Model
The following points summarize the features covered by the Team logical model
- Maintaining Workspace Consistency: Operations performed directly on resources
may have undesirable side effects on model elements that are persisted in,
or are otherwise associated with, those resources. Clients can use the ResourceChangeValidator
to validate that changes to resources will not have undesirable side effects
on models while models can implement the ModelProvider#validateChange method
to validate a resource change.
- Team Operations and Decorations: It has always been possible to have team
operations and decorations appear on model elements that have a one-to-one
relationship by adapting the model element to the corresponding IResource.
It is now possible to have operation and decorations appear on model elements
that have more complex relationships to resources by adapting a model element
to a ResourceMapping.
- Semantic Merges of Model Elements: Model Providers can participate in headless
merges by associating an IStorageMerger with a particular file type, if there
is a one-to-one correspondence between model elements and resources. For more
complex relationships, Model Providers can adapt their ModelProvider to an
IResourceMappingMerger to have access to the full content of the merge operation.
- Model participation in team viewers: The team views now make use of the Common Navigator
framework. By extending a Common Navigator extension point and a Team extension point, and supplying a content
provider and a label provider, a Model Provider can appear in the team views. With a few more additional
steps, it is also possible to provide Merge Preview support for a model.
- Remote Discovery: Model Providers can participate in Remote Discovery through the use of
the Team ProjectSetCapability class to obtain an URI from project set entries. This URI can then
be used with the Eclipse File System API to access remote contents.
- Model History: Model Providers can access individual File History through the FileHistory API, and present a
model history as they wish in a custom History Page which get displayed in the History View.