[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[mdt-ocl.dev] URIs for next MDT-OCL release
|
Kenn Hussey wrote in the "Backwards compatibility for MDT OCL" thread
You want to make sure that it is possible for both versions to
co-exist in the same environment. The fact that the Ecore packages
will have different version numbers in their URIs will help, and
assuming you're making use of content types instead of file extensions
for serialized artifacts (are there any?) you should be OK.
[OCL serialisations probably only exist within the context of QVT
Declarative JUnit tests since a derived language is necessary to provide
a context for synthesised artefacts. Once QVT Declarative is fit for use
com,piled artefacts may reference the OCL URI. Similarly for QVT
Operational once it migrates to the QVT Declarative version of the OMG
meta-models.]
How can both MDT-OCL 1.4.0 and 3.0.0 co-exist URI-wise?
MDT-OCL 1.4.0 provides the traditional plugin registration of the
"http://www.eclipse.org/ocl/1.1.0/Ecore" URI and associated Java packages.
MDT-OCL 3.0.0 must not provide a registration of the
"http://www.eclipse.org/ocl/1.1.0/Ecore" to avoid offering conflicting
Java packages.
MDT-OCL 3.0.0 must therefore support serialisations referencing the
earlier "http://www.eclipse.org/ocl/1.1.0/Ecore" URI via a URI mapping
to "http://www.eclipse.org/ocl/3.0.0/Ecore".
Imagine an application A that depends on B and C, and that B depends on
MDT-OCL 1.4.0 and C depends on MDT-OCL 3.0.0. Hopefully distinct plugin
class loaders ensure that B resolves
"http://www.eclipse.org/ocl/1.1.0/Ecore" and associated classes to
MDT-OCL 1.4.0, while C resolves "http://www.eclipse.org/ocl/1.1.0/Ecore"
via the URI mapping to the MDT-OCL 3.0.0 classes.
Regards
Ed Willink