Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [emf-dev] EMF interface instance access pattern

Hi

Metamodel namespace versioning is a topic where OMG are trying to move forward. See [1] and [2].

Mikael's slides are unfortunately just slides, and so (like mine) are aide memoires to the presenter and so not very intelligible to the subsequent reader. Maybe I misssed something. I see a solution to the trio of Impl barrier through a new ePackage() but surely that is already there as eClass().getEPackage()? I see no solution to eINSTANCE.

Xtext has successfully supported injection for major objects, but sensibly does not support injection of the (too-many) objects of the Node and user CS model. Making every user EObjectImpl injectable would seem like a bad idea, but making the EFactory/EPackage to EFactoryImpl/EPackageImpl boundary injectable would seem useful and probably not very difficult for someone who really understands injection (sorry not me). Once a prototype is available to criticize maybe progress can be made.

    Regards

        Ed Willink

[1] https://www.omg.org/cgi-bin/doc?smsc/2018-08-01

[2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=547300

On 09/07/2019 12:03, Alexander Fedorov wrote:
Found it [1]!

Browsed the delta at [2], it does not look like an evil compatibility breaker. The concept of adding "version" to resolve EPackage needs further discussions, for me "standardizing" NS URI format (with adding version string to it) looks more promising.
Other things may be resolved via extending GenModel and templates.

What is the current state of this effort regarding "OSGi-friendly" EMF?

[1] https://www.eclipsecon.org/2012/sites/eclipsecon.org.2012/files/3mf-infinity-and-beyond.pdf
[2] https://github.com/mbarbero/emf/compare/master...mbarbero:3mf

Regards,
AF

09.07.2019 13:11, Alexander Fedorov пишет:
Thanks, this is exactly that I'm looking for!
Unfortunately this link works extremelly slow for me and I still unable to see the page.

Probably you know some alternative URL?

Thanks,
AF

09.07.2019 12:58, Pierre-Charles David пишет:
On 09/07/2019 11:27, Alexander Fedorov wrote:
Hello,

Hi,



In EMF runtime and generated code there is a "interface instance access" pattern like:

  public interface Registry
  {
    public static final Registry INSTANCE = new RegistryImpl();
  }

It is good and stable. It works perfect.
However, it may look "too static" for OSGi-based approach where interface should not reference its implementation.

How would you implement it today for OSGi-oriented architecture executed by 1.8+ Java?


You might be interested in this presentation [1] from Mikael Barbero (presented at EclipseCon 2012), which tried to imagine what a more modern/dynamic/OSGi-compatible version of EMF could look like if backward compatibility was not an issue (it is). It tackled this particular issue, among others.

Regards,
Pierre-Charles David

[1] https://fr.slideshare.net/mikaelbarbero/3mf-infinityandbeyond

_______________________________________________
emf-dev mailing list
emf-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/emf-dev

_______________________________________________
emf-dev mailing list
emf-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/emf-dev

_______________________________________________
emf-dev mailing list
emf-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/emf-dev

---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus



Back to the top