[ http://jira.andromda.org/browse/UMLMETA-87?page=all ]

Marcio Silva updated UMLMETA-87:
--------------------------------

    Attachment: patch.txt

> emf uml2 implementation of EnumerationFacadeLogicImpl modifies the underlying 
> meta object in handleGetMemberVariables
> ---------------------------------------------------------------------------------------------------------------------
>
>          Key: UMLMETA-87
>          URL: http://jira.andromda.org/browse/UMLMETA-87
>      Project: UML Metafacades
>         Type: Bug

>  Environment: 3.3-SNAPSHOT
>     Reporter: Marcio Silva
>     Assignee: Wouter Zoons
>  Attachments: patch.txt
>
> Using typeSafeEnumerations and UML2 Enumerations in the model results in java 
> enum's that don't contain any enumeration literals.
> The cause can be traced to a call to retrieve the member variables on line 20 
> of TypeSafeEnumeration.vsl
> #set ($hasMemberVariables = !(${enumeration.memberVariables.empty()}))
> The underlying call to EnumerationFacadeLogic.getMemberVariables() ends up 
> emptying the underlying metaObjet's ownedLiterals collection through an 
> incorrect application of CollectioUtils.filter()
> handleGetMemberVariables() has the following two defects:
> 1) the call below  should be to getOwnedAttributes instead of getOwnedLiterals
>    85         final Collection variables = (this.metaObject instanceof 
> Enumeration
>    86                 ? ((Enumeration)this.metaObject).getOwnedLiterals()
>    87                 : CollectionUtils.collect(this.getAttributes(), 
> UmlUtilities.ELEMENT_TRANSFORMER));
> 2) The call to CollectionUtils.filter ends up filtering the underlying 
> metaObject's ownedLiteral collection, removing all reference to the 
> Enumeration's owned literals.  If filtering is desired, it's best done on a 
> copy of the Collection not the collection retrieved from metaObject.
> The same erroneous filtering occurs in handleGetLiterals it just ends up 
> being side effect free as the evaluation method always returns true.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.andromda.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/

Reply via email to