Hi.
I have now modified my BASE2.4 code to the "Abstract" version, laid out
earlier by Nicklas. I got it to work and it will do very well for my needs,
that is if I understood what the plan really was. It would be nice if Lund
put it into the next version. But verify that this was what you meant and
modify it to fit your coding practice. And others might want different
things done.

This is what I did.
Made an AbstractBase1PluginExecuter that is almost the same as the old
Base1PluginExecuter
Modified Base1PluginExecuter so that it just contains what differs from my
version
Made VegardsBase1PluginExecuter; my version not to be included in a the Lund
code. Just to show what I needed.

Made an AbstractBioAssaySetExporter that is almost the same as the old
BioAssaySetExporter
Modified BioAssaySetExporter so it contains nothing.
Made VegardsBioAssaySetExporter; my version not to be included in the Lund
code. Just to show what I needed and not finished.

Actually for my use, I did not have to abstract the BioAssaySetExporter,
since it does nothing more that the abstract class. It is only my version
that does a add-on. I abstracted it anyway in order to be compliant.

The actual code change I did in the abstract classes was to isolate the
change I needed and make a method that could be overridden by my class and
others. I hope this was allowed or else I am in trouble.

I don't think it works with attachments in this mailing list and I don't
think I have any rights in the subversion to upload my code so I provide my
files here:
http://insilico.titan.uio.no/~vegardny/base2/VegardsBase1PluginExecuterModif
ication.zip

Hope you make it fit in.

Best regards
Vegard Nygaard
Software Engineer
Department of Tumor Biology (Montebello)
Rikshospitalet-Radiumhospitalet Medical Center 0310 Oslo
Bioinformatics user support (NMC)
Phone 0047 22935590



> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:basedb-devel-
> [EMAIL PROTECTED] On Behalf Of vegard nygaard
> Sent: Thursday, August 30, 2007 4:04 PM
> To: 'BASE dev'
> Subject: Re: [basedb-devel] How to extend and
> overrideBioAssaySetExporterandBase1PluginExecuter?
> 
> 
> 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


-------------------------------------------------------------------------
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

Reply via email to