Agreed! this needs to be fixed.
-- dims
On 2/14/07, Sameera Madushan <[EMAIL PROTECTED]> wrote:
I've also found out some places in axis2 code which can have a
negative impact on the performance. For an example consider the
following code in the AbstractMessageReceiver class.
if (service.getParameter(Constants.SERVICE_OBJECT_SUPPLIER) != null) {
Parameter serviceObjectParam =
service.getParameter(Constants.SERVICE_OBJECT_SUPPLIER);
Class serviceObjectMaker =
Loader.loadClass(classLoader, ((String)
serviceObjectParam.getValue()).trim());
.....
This can be refactored as,
Parameter serviceObjectParam =
service.getParameter(Constants.SERVICE_OBJECT_SUPPLIER);
if (serviceObjectParam != null) {
Class serviceObjectMaker =
Loader.loadClass(classLoader, ((String)
serviceObjectParam.getValue()).trim());
..........
ASAIK the latter removes the duplicate method invocation. In this
instance, invoking "getParameter" method result in searching a
HashMap. Duplicating these heavy operations is not a good idea.
On 2/14/07, Sanjaya Karunasena <[EMAIL PROTECTED]> wrote:
> Hi David,
>
> I din't mean to propose some hard constraints or major refactoring activity.
> Problems I have noticed are very natural in an open/large development
> environment. Having some guidelines, discussions on such topics will help
> every one to come to the same page and minimize the pain in the future (IMO).
>
> Please find my comments below.
>
> Regards,
> Sanjaya
>
> Note: BTW, I forgot to put the prefix [AXIS2] in the subject earlier. Sorry
> about that.
>
> On Tuesday 13 February 2007 17:40, David Illsley wrote:
> > Hi Sanjaya,
> > If you're suggesting a mass change based on a set of rules, I'm not
> > enthusiastic (and quite likely to -1 it)... it's quite likely that
> > some of the seemingly extraneous checks are there because there have
> > been problems in the past.
> >
> Not at all. But when we do defect fixes and other improvements if we can fix
> up some of these without having to modify lot of code, is I am proposing.
> Last thing you want is some nice looking code with broken functionality.
>
> > Please list the methods which you believe are being over-cautious and
> > we can address them individually with a little thought.
> >
> I will add the areas I came across as improvements to JIRA and where possible
> a patch as well. So that you all can make the call.
>
> > If you're looking for guidelines for future contributions then I'm
> > open to developing them (I'm not aware that they exist now) but don't
> > wish to be tightly constrained to them. I tend to write cautious code,
> > and unless there's a clear, specific performance problem, that's how
> > I'd like to continue.
> >
> I think we are on the same page here.
>
> > David
> >
> > On 13/02/07, Sanjaya Karunasena <[EMAIL PROTECTED]> wrote:
> > > Hi All,
> > >
> > > After going through some of the Axis2 code, I have noticed many
> > > instances of duplicate input parameter validations leading to redundant
> > > code. This has negative impact on performance as well. Also the error and
> > > exception handling policy is not clear, or may be not consistent.
> > >
> > > What are the typical guidelines followed in the project?
> > >
> > >
> > > Few suggestions on input parameter validation are;
> > > * An instance of a class which make use of an input parameter for the
> > > first time should validate the parameter
> > > * A instance of a interface class (Actor interface) should assume
> > > default values for required (mandatory) parameters where possible (Could
> > > be due to a flexibility provided in a specification)
> > > * If there are optional parameters for an interface, that should be
> > > handled through method overloading (not by allowing null inputs)
> > > * Any exceptions to this can be discussed and come to some logical
> > > agreement based on the specific scenario (80, 20 rule)
> > >
> > >
> > > Thanks
> > > Sanjaya
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Davanum Srinivas :: http://wso2.org/ :: Oxygen for Web Services Developers
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]