Community
Participate
Working Groups
The Model Validation function in Papyrus relies on the creation and tracking of problem markers on the resources that persist the model content. However, in the CDO context, there are no workspace resources, hence no workspace metadata, and no resource markers. An alternative representation of problems is required that records information compatible with the workspace problem markers and can be presented in the UI in a consistent fashion (including decorations, fly-over tips, etc.). Optionally, it should be possible to store and share problems in the repository. It is proposed to develop an Ecore model of problems that reference the elements that they annotate and carry the usual data recorded in EMF Diagnostics and IMarkers.
I'll take this, to contribute a Problems Model.
r9987 on cdo_kepler branch: Added three new projects to the plugins/cdo/ folder in the repository: * org.eclipse.papyrus.cdo.validation.problems * org.eclipse.papyrus.cdo.validation.problems.edit * org.eclipse.papyrus.cdo.validation.problems.tests These are the usual EMF-generated plug-ins, implementing a simple model of EProblems mirroring the Diagnostic API of EMF, plus an EProblemsContainer to group problems. EProblems convert easily to/from Diagnostics and IStatuses for interoperability with the EMF validation APIs and workspace IMarkers. The ProblemsManager assists with this, as well as tracking EProblems for the resources in some resource set, providing API for looking up the EProblems attached to any EObject (using a cross-reference adapter, if available). Complete test coverage of the ProblemsManager is included, together with the EMF-generated tests for the model, itself.
Committing the initial problems model to the cod_kepler branch completes delivery of this work item. Additional changes may be required for generation and presentation of validation problems in the UI in a later phase; these will be handled separately.