[ 
http://jira.andromda.org/browse/UMLMETA-108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bob Fields resolved UMLMETA-108.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 3.4

Removed code from uml22 Operation/ParameterFacade which removes the [] if 
already modeled as multiplicity *. Original reporter please test and verify the 
fix.

> Object[] not being carried over to generics in DAO operation
> ------------------------------------------------------------
>
>                 Key: UMLMETA-108
>                 URL: http://jira.andromda.org/browse/UMLMETA-108
>             Project: UML Metafacades
>          Issue Type: Bug
>    Affects Versions: 3.4
>         Environment: java 1.6, maven 2.2, magicdraw 16.8, emf2.2 model
>            Reporter: Mike Dikan
>            Assignee: Bob Fields
>             Fix For: 3.4
>
>         Attachments: mda-testing2.tar.gz
>
>   Original Estimate: 4 hours
>  Remaining Estimate: 4 hours
>
> Taken from: http://forum.andromda.org/viewtopic.php?f=9&t=6850
> I have an Entity with a legacy operation that is designed to return a 
> List<Object[]>. Changing the expected return type is an option but a 
> difficult one. I have tried the following approaches to set the type ( in MD 
> 16.8 ):
> Setting type to 'Object' with the type modifier of '[]'
> Setting type to 'Object[]' with no type modifier
> Setting type to 'Object[]' with type modifier of '[]'
> In every case, my Daos (interface and base) will generate a method with 
> return type of List<Object>. I have also tested having List<Object[]> as a 
> operation parameter and I see the same result (List<Object>). I have no 
> problem with Object[] with no multiplicity (not a generic in a List).
> (continued)
> I have enableTemplating on, and I use multiplicity for the List. But the 
> Object[] inside the list from the model is resulting in a List<Object> 
> instead of a List<Object[]> being generated in the code. As mentioned above I 
> used all the intuitive datatype settings that I could think of. This is a 
> common occurence for me becuase when using hibernate's Query and SqlQuery 
> classes, List<Object[]> is a very common return from the Query.list() method. 
> I can avoid all this by doing unchecked casting later down in my 
> implementation code, but the Object[] just seems more appropriate.
> (continued)
> I tried what another poster suggested in a semi-related forum post: to create 
> a phantom datatype to trick andromda into generating the right Type, but it 
> did not work. I created a datatype in MD called 'Object[]' and assigned that 
> to my return parameter's 'type'. I then changed multiplicity to '0..*' and 
> tried regenerating, but instead of seeing a List<Object[]>, I again saw a 
> List<Object>. It seems that andromda is actively stripping out the array type 
> modifier when there is a multiplicity involved in a Type definition.
> (continued)
> Related to metafacades under 
> AssociationEndFacadeLogicImpl.handleGetGetterSetterTypeName and 
> ModelElementFacadeLogicImpl.handleGetFullyQualifiedName.

-- 
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

        

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev

Reply via email to