Community
Participate
Working Groups
Users expect to be able to add Facets to a FacetSet through the "facets" reference, instead of the "eClassifiers" reference. To make it possible, FacetSet#getFacets should return an implementation of EList that works as a subset of the eClassifiers list. Such an implementation can already be found in UML2. See: org.eclipse.uml2.common.util.SubsetSupersetEObjectEList and its subclasses. This implementation could be copied into org.eclipse.emf.facet.util.emf.core so that it can be used in the EFacet2 metamodel and other EMF Facet metamodels.
Created attachment 205919 [details] patch v0 In fact the UML2 classes cannot be used since both the subset and superset lists would need be changed for it to work. So I started implementing a "type" subset list, first as an implementation of EList from scratch, and then I tried extending AbstractEList to inherit common behavior. But this is a non-trivial and error-prone undertaking, which warrants ample testing before it can be used with confidence. So I am attaching a first version of this implementation, that I will complete when I have time.
Comment on attachment 205919 [details] patch v0 According to the comments, this patch has not been commited, that why I'm tagging it with ‘iplog-‘.