Hi Chad, I think we have passed a certain level of complexity here that we should not have passed. This context stuff sucks - maybe, we need a different design idea.
Could you do me a favor? Could you please write a JUnit test case that reproduces the context problem and throws an assertion? Then, I'll have a look at it and see what I can do to improve the design. You can copy an existing test case from the AndroMDA code base for this (see FacadeSmallTest1.java). About the performance: Yes, I noticed that, too. On my machine, it produces about one output file per second which is much slower than before. The problem is: How can we be sure which feature is the culprit? The facades or the dynamically calculated file names, for example? I just inspected the code for the file names. By design, it ALWAYS runs Velocity and throws the output away if the file name calculation returns null. Is it possible that null is returned so many times that it entirely slows down the process? Maybe, a simple counter and a logger.debug() statement would help to find out. We have to track that down, for sure! Good nite... Matthias > -----Original Message----- > From: Chad Brandon [mailto:[EMAIL PROTECTED] > Sent: Tuesday, March 02, 2004 4:37 PM > To: Matthias Bohlen; [EMAIL PROTECTED] > Cc: [EMAIL PROTECTED] > Subject: RE: Experts_only_004 > > > --- Matthias Bohlen <[EMAIL PROTECTED]> wrote: > > Hi Chad, > > > > to make the context feature work again, you have to > > add a third > > parameter to createFacadeImpl() and change > MetaFacadeLogic.vsl to make > > a logic class pass its context to the "super_" class. > > Yeah thats what I thought, so I tried it...but it > doesn't work that way for more than one level, its a > little more complex. > > For example: ClassifierFacadeLogic handles the getting > and creation of attributes and association ends > facades, EntityFacadeLogic extends this, so that means > you have the instance of ClassifierFacadeLogic within > EntityFacadeLogic as "super_" doing the calls for getting > attributes and getting association ends so when the > EntityFacadeLogic creates the instance of ClassifierLogic for > the "super_" variable we're able to pass the context down in > the createFacadeImpl method like you talked about below which > is then passed to the ClassifierFacadeLogic so everything is > fine. But when you have an EJBEntityFacadeLogic which > extends EntityFacadeLogic the ClassifierFacadeLogic still > handles the calls to get attributes and association ends so > even if we pass the context down to the EntityFacadeLogic > during the createFacadeImpl method the ClassifierFacadeLogic > isn't being set by the EJBEntityFacadeLogic context because > we don't have access to it (the EntityFacadeLogic class is > the the one that has access to it...so the context is always > set to "EntityFacade"). To fix this, I've changed > MetafacadeLogic.vsl to use a super${velocityCount} for each > superclass that the facade has....this way we're able to pass > the context (or whatever, to all the subclasses...since > inheritance doesn't work). > > The performance is really bad with these new > metafacades (even before I added the change to > MetafacadeLogic.vsl)...its more noticable when you have a > class that has multiple super classes (i.e. the EJB > cartridge) I don't know if you've tried building the > cartridges with the new stuff....but the process is much > slower...and its REALLY noticable on the car rental > sample...what used to take 30 - 32 seconds on my pc now takes > 80! Maybe we need to see if we can fix this? > > > Cheers... > > Matthias > > > > > -----Original Message----- > > > From: Chad Brandon [mailto:[EMAIL PROTECTED] > > > Sent: Tuesday, March 02, 2004 12:13 AM > > > To: [EMAIL PROTECTED]; > > [EMAIL PROTECTED] > > > Cc: [EMAIL PROTECTED] > > > Subject: Experts_only_004 > > > > > > > > > Hey Matthias and Wouter, > > > > > > If you sync with the current MMD branch...make > > sure > > > you also get the Experts_only_004 release of the > > > bootstrap translator before building. All the > > > cartridges compile and build (except for yours > > Wouter, > > > I haven't touched it), but I still need to fix a > > few > > > issues that are due to the new changes..for > > example > > > the context stuff doesn't work correctly with the > > new > > > metafacades and so the car rental samples > > fails...I'm working > > > on that now. Wouter, you should be able to start > > working on > > > your changes now though. > > > > > > 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