Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[mdt-ocl.dev] OCL Delegate URIs

Hi

The o.e.o.ecore plugin currently defines http://www.eclipse.org/emf/2002/Ecore/OCL to invoke the Traditional Ecore evaluator. The o.e.o.examples.pivot plugin in Indigo defines http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot to invoke the new Pivot evaluator.

The Helios OCLinEcore editor embeds OCL using http://www.eclipse.org/emf/2002/Ecore/OCL. The Indigo OCLinEcore editor embeds OCL using http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot.

Bug 360072 fixes problems with mismatches between URIs and evaluators.

----------------------

Since the embedded OCL concrete syntax is largely portable it would be good to evolve the URIs to support a user preference.

I suggest that we have two physical URIs.

o.e.o.ecore plugin changes to define http://www.eclipse.org/emf/2002/Ecore/OCL/LPG to invoke the Traditional Ecore evaluator. o.e.o.examples.pivot plugin continues to define http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot to invoke the new Pivot evaluator.

and one virtual URI

o.e.o.ui plugin instead defines http://www.eclipse.org/emf/2002/Ecore/OCL to invoke the workspace preference evaluator, which can be either Traditional or Pivot.

The OCLinEcore editor embeds OCL using a project preference URI which is the virtual URI by default.

In practice only the http://www.eclipse.org/emf/2002/Ecore/OCL virtual URI will be in use and the workspace preference redirects to a physical URI.

For standalone usage the UI plugin may not be in use so the standalone registrations can map the virtual URI directly to the desired evaluator.

Implementation wise this nicely avoids inter LPG/Pivot dependencies since the only coupling is the in the ui plugin that references physical URIs that are resolved by the platform to the extension point names in the relevant plugins.

Does this seem like a sensible evolution?

    Regards

        Ed Willink


Back to the top