Bug 123683

Summary: FeatureMap support
Product: [Modeling] GMF-Runtime Reporter: Marius Slavescu <slavescu>
Component: GeneralAssignee: Chris McGee <cbmcgee>
Status: CLOSED FIXED QA Contact:
Severity: critical    
Priority: P3 CC: gennady_vanin-eclipse
Version: 1.0   
Target Milestone: 1.0   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Bug Depends on: 129178    
Bug Blocks:    

Description Marius Slavescu CLA 2006-01-12 17:16:04 EST
I found that EMF FeatureMap are not supported very well in the GMF runtime, especially the ExtendedMetadata. 

One example is in MSLUtil.destroy(MSLEditingDomain, EObject, int) line: 217:

   if (reference.isMany())
    ((Collection) container.eGet(reference)).remove(eObject);
   else
    container.eSet(reference, null);

I have an XSD based model and an extesion to it where I use substitution groups. The reference instance (container.eGet(reference)) that hits this fragment is a FeatureMapUtil$FeatureEList, the reference multiplicity is -2 (unspecified) and that will go on the container.eSet(reference, null) path which is wrong.

You will need to check somethig similar to what you see in the FeatureMapUtil.isMany().

FeatureMapUtil.isMany() returns true for my feature which is correct.
Comment 1 Chris McGee CLA 2006-02-24 10:28:51 EST
I'm looking for a test case for the fix to the bug. Is it possible for you to
provide an example attached to this bugzilla?
Comment 2 Vishy Ramaswamy CLA 2006-03-09 15:18:44 EST
This one is related to Bugzilla 129178 that has been fixed. The MSLUtil has been swept to use the FeatureMapUtil functionality
Comment 3 Richard Gronback CLA 2008-08-13 13:07:20 EDT
[target cleanup] 1.0 M6 was the original target milestone for this bug
Comment 4 Paul Slauenwhite CLA 2009-06-30 09:35:35 EDT
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant enhancements/defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement/defect is verified/closed by the Project Lead since this originator of this enhancement/defect has an inactive Bugzilla account and considered to be fixed. If this enhancement/defect is still unresolved and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open.
Comment 5 Paul Slauenwhite CLA 2009-06-30 09:57:18 EDT
This enhancement/defect was mistaken closed as part of the TPTP 4.6 Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes) since the originator of this enhancement/defect has an inactive Bugzilla account.  If this enhancement/defect is still unresolved and reproducible, please re-open.
Comment 6 Eclipse Webmaster CLA 2010-07-19 12:24:49 EDT
[GMF Restructure] Bug 319140 : product GMF and component
Runtime EMF was the original product and component for this bug