Skip to main content

[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




Back to the top