Hi. I also think that Nicklas' "Abstract" approach will work well for me. I just need to refresh my java skills and test it out to be sure. I will get back with some detailed proposals in a few days.
Vegard. > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:basedb-devel- > [EMAIL PROTECTED] On Behalf Of Adam Ameur > Sent: Thursday, August 30, 2007 2:00 PM > To: BASE dev > Subject: Re: [basedb-devel] How to extend and > overrideBioAssaySetExporterand Base1PluginExecuter? > > Hi, > > Thanks for the reply Nicklas. It makes a lot of sense to create > abstract classes as you suggest. We'll investigate what things we'd > like to have in an AbstractPluginExecuter class, but mainly I think > is code having to do with data import/export and plugin permisssions. > But I'm sure others will have different opinions about this. > > /Adam > > > On Aug 29, 2007, at 6:35 PM, Nicklas Nordborg wrote: > > > Adam Ameur wrote: > >> Hi, > >> > >> I would like to extend some methods in the Base1PluginExecuter for > >> another purpose. > > > > I think we need to be careful about this. The Base1PluginExecuter and > > BioAssaySetExporter was designed and implemented to solve ONE specific > > problem: Being able to run plug-ins developed for BASE 1 under BASE 2. > > > > I can understand why people want to use the two classes for other but > > similar purposes since they contain a lot of useful code. Considering > > the historical changes (which has been large) in those two classes I > > don't think they are stable enough to make subclassing an appropriate > > solution in this case. Making methods 'public' or 'protected' > > instead of > > 'private' also means a future commitment to not change the contract of > > those methods (ie. method name, method parameters, return values, what > > they are supposed to do, etc...). > > > > The developers of the Affymetrix-related plug-ins, RMAExpress and > > Plier > > (http://lev.thep.lu.se/trac/baseplugins/wiki/se.lu.thep.affymetrix), > > faced almost the same problem. In this case, the RMAExpress plug-in > > was > > developed first. When development on the Plier plug-in started the > > developers realized that a lot of code was very similar and moved much > > code to an abstract base class: AbstractExternalBinaryPlugin > > > > I think a similar approach is a better solution also in the case of > > the > > Base1PluginExecuter and BioAssaySetExporter. That is, we should > > introduce the abstract classes AbstractPluginExecuter and > > AbstractBioAssaySetExporter. The hard part will be to decide what > > should > > go into the new abstract classes. The existing code will not take > > us all > > the way. I think we also need Vegard's and Adam's use cases to find a > > common pattern that can be used when designing the abstract classes. > > > > Other opinions on this matter and offers to help with the > > implementation > > are welcome. > > > > /Nicklas > > > > ---------------------------------------------------------------------- > > --- > > This SF.net email is sponsored by: Splunk Inc. > > Still grepping through log files to find problems? Stop. > > Now Search log events and configuration files using AJAX and a > > browser. > > Download your FREE copy of Splunk now >> http://get.splunk.com/ > > _______________________________________________ > > basedb-devel mailing list > > basedb-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/basedb-devel > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > basedb-devel mailing list > basedb-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/basedb-devel ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ basedb-devel mailing list basedb-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/basedb-devel