I've fixed the multiplicity issues and altered the GeneratorJava class to
return Lists instead of Vectors.  However, I can't seem to get the
generateVisibility method to give me the appropriate visibility.  Here's
what's happening:

   - When I debug into the method I find that a call
   to Model.getFacade().isPublic(obj) is always returning true.  It is being
   passed an AssociationEndImpl object, and when you get its visibility it
   returns Public.  When I try to inspect the AssociationEnd all I get are a
   ton of MOF IDs, and maps and lots of useless crap but no attribute called
   visibility that I can inspect.

   - When I make a call to getName on the Association, it returns null for
   both association ends, despite the fact that one of the association ends is
   named.

My thought is that the Property panel is setting some other attribute of
the Association End to private.  But I can't really confirm this.  Does
anyone have any suggestions for how to proceed further?

Mark


On Thu, Mar 29, 2012 at 8:11 AM, Mark Fortner <[email protected]> wrote:

> I've created an issue for this:
> http://argouml.tigris.org/issues/show_bug.cgi?id=6421
>
> If I get a chance this weekend, I'll take a look at the existing code for
> this.
>
> Cheers,
>
> Mark
>
>
>
> On Wed, Mar 28, 2012 at 9:33 AM, Mark Fortner <[email protected]> wrote:
>
>> Thanks, Tom!
>>
>> I knew there had to be some UML-specific thing that I needed to do to get
>> the employeeList in the right place.
>>
>> As for generating the appropriate type, (ArrayLists vs Vectors), my
>> thought was that I'd simply generate:
>>
>> List<Employee> employeeList;
>>
>>
>> And let the user create the right-side of declaration if they want after
>> the code has been generated.
>>
>> Is there currently a preference that allows the user to specify what
>> version of Java they want to use? Perhaps using the Java profile? Since
>> Oracle doesn't support 1.4 anymore, is there a reason that we would need to
>> support the non-generic list?
>>
>> Mark
>>
>>
>>
>> On Wed, Mar 28, 2012 at 8:32 AM, Tom Morris <[email protected]> wrote:
>>
>>> On Wed, Mar 28, 2012 at 11:06 AM, Mark Fortner <[email protected]>
>>> wrote:
>>> > Hi Linus,
>>> > I created the association again, clicked on the link in the Properties
>>> panel
>>> > to go to the Department association end, and then clicked Private.
>>>  When I
>>> > looked at the source tab, it still showed up as public.  Oddly enough,
>>> on
>>> > the diagram we see "-employeeList" indicating that the association end
>>> is
>>> > private.
>>>
>>> I've lost track of the ends now, but my impression from the original
>>> message was that you were changing the visibility on the wrong
>>> association end.  Remember that it's the *far* end that you need to
>>> change for things like visibility and navigability.
>>>
>>> > What's also odd is the fact that Employee also ends up with a public
>>> Vector
>>> > employeeList declaration.
>>>
>>> Is the association navigable in both directions? (the default)  If so,
>>> you'll get data structures on both ends to allow you to get to the
>>> other end.  Set isNavigable to false on the end opposite where you
>>> want the data structure to disappear from.
>>>
>>> > I suspect changing Vectors into generified Lists, and fixing the
>>> > Multiplicity=1 issue are probably trivial changes and I'll look into
>>> that
>>> > within the next few days.
>>>
>>> Support for UML Templates and Java generics is only partially
>>> implemented.  You could probably special case the code generation for
>>> this specific use case without generics support, but you might need to
>>> take backward compatibility into account (e.g. provide a preference
>>> setting for what type to generate).
>>>
>>> Note also that ArrayList and Vector have slightly different semantics,
>>> particularly vis a vis synchronization, so the two types aren't
>>> completely interchangeable.
>>>
>>> Tom
>>>
>>> ------------------------------------------------------
>>>
>>> http://argouml.tigris.org/ds/viewMessage.do?dsForumId=449&dsMessageId=2941640
>>>
>>> To unsubscribe from this discussion, e-mail: [
>>> [email protected]].
>>>
>>
>>
>

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=449&dsMessageId=2944584

To unsubscribe from this discussion, e-mail: 
[[email protected]].

Reply via email to