Hi Chad,

I kept the 'uml14' in the package name because the classes for UML 1.3
will have different implementations. If we give them identical package
names we will never be able to have them both on the same classpath.
Therefor, in general, I think that two different classes should always
have two different fully qualified names.

And: I don't know yet whether the UML 1.3 or UML 2.0 metaclasses will be
the same as the UML 1.4 metaclasses. The same facade might have
different dependencies to different metaclasses. Our AFacade might
depend on metaclass A in UML 1.4 but on metaclass B in UML 2.0.

So, it may be necessary to have different facade models for different
metamodel versions. Since want to have the facade classes only once in
the model, my first idea was to add names to the dependencies, calling
them 'uml14' or 'uml20'. The meta cartridge could then generate code
using the proper dependencies, selected by a user property in a
namespace.

Next idea: We could change the package name of the facade classes in the
model to the interface package name 'org.andromda.metafacades.uml' and
could control the package name into which the implementations are
generated also by an externally defined user property in a namespace.

This would look like this:

<andromda ...>
   <namespace ...>
       <property name="metamodelVersion" value="uml14" />
       <property name="implPackageName" value="org.andromda....uml14" />
       ...
   </namespace>
</andromda>

What do you think of this?

Cheers...
Matthias

> -----Original Message-----
> From: Chad Brandon [mailto:[EMAIL PROTECTED] 
> Sent: Monday, March 01, 2004 11:02 PM
> To: [EMAIL PROTECTED]
> Cc: [EMAIL PROTECTED]
> Subject: 
> 
> 
> Matthias,
> 
> Why do we keep the uml14 in the package name of the
> common model?  I think we should get rid of
> that...that way we don't need the tagged value telling
> the name of the interface package....as well as the
> fact that we wouldn't need to create another mapping
> file since every metafacade support class would have
> the same name as the interface + "LogicImpl", so we
> could just create the metafacade using
> interfacade.package.MyMetafacadeInterface +
> "LogicImpl".  Also since we have the the uml/uml14
> module directory, I don't see why we need the uml14 in
> the base model package name.  If/when we need another
> base model we can just create a new one from the
> UmlMetafacadeModel.xml.zip...I don't think its good to
> have the base model have every meta model (if thats
> what you were thinking by leaving the package name in
> there).   What do you say...this would simply things?
> 
> Thanks,
> 
> Chad
> 
> 




-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id56&alloc_id438&op=click
_______________________________________________
Andromda-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/andromda-devel

Reply via email to