-- Another comment...you're going to remove the references to uml14 in the package names for the new metafacades right? So instead of org.andromda.metafacades.uml14.SomeFacadeImpl it would be org.andromda.metafacade.SomeFacadeImpl?
-- Also another thing, I don't know how you guys feel about this, but I think generated source code should ALWAYS go to the build directory (as opposed to the src directory)...I think it makes it easier to manage the cleanup of generated source (you just need to delete your build directory) as well as excluding the generated source from CVS, etc. I propose changing the location of generated source for the project to go to build/src...what do you guys think? ----- Original Message ----- From: "Matthias Bohlen" <[EMAIL PROTECTED]> To: "'Chad Brandon'" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Saturday, February 21, 2004 1:36 PM Subject: Facades and decorators Hi C&W, good hint, Chad - that's exactly what I did and the best thing is: MagicDraw updated the graphics without any complaint! But: After having done that, I thought once more about what would happen if we tried to make the metamodel pluggable. And I noticed: We have to generate interfaces for the facades and separate implementations, one implementation for UML 1.4 and one for UML 1.3, for example. The interfaces would then be used in the cartridges - the templates would invoke them instead of invoking concrete classes. That way, the cartridges would be independent of the concrete metamodel versions. Now comes the tricky part: The cartridges contain more facades that extend the basic facades. If the basic facades are interfaces, they cannot be extended directly because I don't want the cartridges to know the concrete facade class. So, we need to do two things: 1) Extend the interfaces. 2) Generate/write new implementations that delegate to the base interface and implement the extended interface. And: Surprise, suprprise, the decorator pattern is back again!!! :-) At least, partly! I think, I'll do that tomorrow. I'll define a directory metafacades/common that contains the model which generates the interfaces. And then, one directory metatafacades/uml14 that generates implementations for UML 1.4. In a few weeks, we could create metafacades/uml13 and make Rational Rose work again! What do you think about this? Cheers... Matthias > -----Original Message----- > From: Chad Brandon [mailto:[EMAIL PROTECTED] > Sent: Saturday, February 21, 2004 4:32 PM > To: Matthias Bohlen; [EMAIL PROTECTED] > Subject: Re: Starting refactoring > > > Sounds good to me. I'm not sure this is what you're gonna do > but when I had to make names changes in the model I just > unzipped the XMI and did a search and replace and that > changed names fast. > > ----- Original Message ----- > From: "Matthias Bohlen" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]>; "'Chad Brandon'" > <[EMAIL PROTECTED]> > Sent: Saturday, February 21, 2004 4:11 AM > Subject: Starting refactoring > > > Hi folks, > > today, I am going to do the first items on my refactoring > list. I'll try to move the core facade model to > metafacades/uml14 and always replace the word "decorator" by > "facade". I'll try to make everything compile again but I'm > not sure how long that will take. So, please do not try to > modify the core decorator model for some time. > > Thanks... > Matthias > > --- > > Matthias Bohlen > "Consulting that helps project teams to succeed..." http://www.mbohlen.de/ ------------------------------------------------------- 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_id=1356&alloc_id=3438&op=click _______________________________________________ Andromda-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/andromda-devel