Ok. Will commit it without the proposed redundancy. There seems to be other
ways to do this as you mentioned. We'll figure that out once this is done.

Thanks.
 - Chethiya


On Sat, Dec 1, 2012 at 1:49 PM, Senaka Fernando <sen...@wso2.com> wrote:

> Hi Chethiya,
>
> What I'm most concerned is the inconvenience to the user in here. I know
> that this would bring about a performance gain, but I think usability does
> win. However, we should not simply rule this out.
>
> Isn't there any other way to do this? What's the hit in having a single
> XPath check to figure out whether at least one attribute is set? Or, right
> now, the artifact payload is parsed at least once when we build the
> content. Can't we have an in-place validation. This would mean that the
> existence check for the validation is IIRC a fairly inexpensive,
> getAttribute call on the OMElement. Or is there a possibility to introduce
> some form of caching and improve this later on, and leave what we have at
> the moment?
>
> Thanks,
> Senaka.
>
> On Sat, Dec 1, 2012 at 1:40 PM, Chethiya Abeysinghe <cheth...@wso2.com>wrote:
>
>> Hi Senaka,
>>
>> On Dec 1, 2012 7:29 AM, "Senaka Fernando" <sen...@wso2.com> wrote:
>> >
>> > Hi Chethiya,
>> >
>> > Well my expectation was to do it in a way where each field will have an
>> attribute. If the attribute is present, we validate, if not we don't.
>> Therefore, this additional attribute sounds redundant to me. WDYT?
>>
>> Ya we have those attributes in each field in need of validation. This
>> attribute I'm talking about should be in a root level element and yes it is
>> redundant. But I'm suggesting this redundancy for an optimization. I.e not
>> to iterate through the XML to find fields with validation when there is an
>> indication at the top saying not to do so.
>>
>> Why we need to decide this now is if we don't put this attribute now, we
>> will be in trouble providing backward compatibility, in case we will need
>> to add this attribute later.
>>
>> BTW currently add artifact method loads every rxt, parse all, matches the
>> one with required key, then load required data from it to a configuration
>> object by iterating. Possible optimization for these expensive operations
>> are using a bounded cache. In such a case we alternatively can generate
>> boolean called doValidation when loading the configuration to the cache.
>>
>> In such a case this attribute is not really necessary to be in the rxt.
>> But if this is not a problem for the rxt writer, having this redundancy is
>> the optimal!
>>
>> - Chethiya
>>
>> >
>> > Thanks,
>> > Senaka.
>> >
>> >
>> > On Sat, Dec 1, 2012 at 1:22 AM, Chethiya Abeysinghe <cheth...@wso2.com>
>> wrote:
>> >>
>> >> I'm planning to put $subject as an optimisation for API calls when
>> adding artifacts. When adding artifacts that belong to an RXT with this
>> attribute is "false" (or not present - for backward compatibility), will
>> processed faster bypassing the check. Otherwise there will be a recursive
>> iterator going through the RXT searching for fields with validation regex
>> and doing regex matching, for each addArtifact operation.
>> >>
>> >> The only problem I have at the moment is the line 55:
>> >>
>> >> OMElement head =
>> uigen.getUIConfiguration(client.getArtifactUIConfiguration(request.getParameter("key")),request,config,session);
>> >>
>> >> in
>> >>
>> >>
>> platform/branches/4.0.0/components/governance/org.wso2.carbon.governance.generic.ui/4.0.5/src/main/resources/web/generic/add_edit.jsp
>> >>
>> >> And similarly edit_ajaxprocessor.jsp too.
>> >>
>> >> Here getArtifactUIConfiguration() only extracts the <content> element
>> of the .rxt.
>> >>
>> >> One solution is to put this optional "doValidation" attribute to
>> <content> element as at BE OMElement for <content> is anyway created. Is
>> this viable? I don't see any attribute in this element yet too.
>> >>
>> >> Another solution for this is to add a new method
>> to ManageGenericArtifactService.java which is in
>> org.wso2.carbon.governance.generic. This will extract the content of the
>> actual .rxt resource.
>> >>
>> >> Thanks
>> >> --
>> >> Chethiya Abeysinghe
>> >> Software Engineer; WSO2, Inc.;  http://wso2.com/
>> >> email: cheth...@wso2.com
>> >> blog: chethiya3000.blogspot.com
>> >>
>> >>
>> >
>> >
>> >
>> > --
>> >
>> >
>> > Senaka Fernando
>> > Member - Integration Technologies Management Committee;
>> > Technical Lead; WSO2 Inc.; http://wso2.com
>> > Member; Apache Software Foundation; http://apache.org
>> >
>> > E-mail: senaka AT wso2.com
>> > P: +1 408 754 7388; ext: 51736; M: +94 77 322 1818
>> > Linked-In: http://linkedin.com/in/senakafernando
>> >
>> > Lean . Enterprise . Middleware
>> >
>>
>>
>
>
> --
> * <http://wso2con.com/>
> *
> *
>
> Senaka Fernando*
> Member - Integration Technologies Management Committee;
> Technical Lead; WSO2 Inc.; http://wso2.com*
> Member; Apache Software Foundation; http://apache.org
>
> E-mail: senaka AT wso2.com
> **P: +1 408 754 7388; ext: 51736*; *M: +94 77 322 1818
> Linked-In: http://linkedin.com/in/senakafernando
>
> *Lean . Enterprise . Middleware
>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to