santuario-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vishal Mahajan <vmaha...@amberpoint.com>
Subject Re: PATCH: String Comparison in ElementProxy
Date Thu, 05 Oct 2006 06:10:18 GMT
Do others also have views on this discussion?

Thanks,
Vishal

Vishal Mahajan wrote:
> Hi Raul,
>
> The parser that I am working with clearly doesn't intern element 
> namespace strings which is the reason I ran into this problem. And 
> actually I am not sure whether it's a good idea for a parser to intern 
> element namespace strings given that there could be huge number of 
> elements being parsed and there's a potential risk of running out of 
> memory. Also you mention that xerces might be interning namespace 
> stings but looking at their code I was unable to find that. Can you 
> point me to the relevant piece of code?
>
> Thanks,
>
> Vishal
>
> Raul Benito wrote:
>> Vishal the problem is that this codes is called gazillion of times, 
>> and even it
>> seems a small thing, it takes a lot of accumulated time, I even think
>> in remove this checking altogether or control it by a property.
>> Perhaps there is a feature set in your DOM parser that interns the
>> namespaces. I have test with several DOM parsers (xerces, xmlbeans,
>> jaxb) and all of them the namespaces strings are interns.
>> If you are not able too toggle the behavior, We can begin to think in
>> other possibilities (create code on the fly, create an interface with
>> one implementation or the other a let the JVM inline it). But I think
>> will be the last resort.
>>
>> Regards,
>> Raul
>>
>> On 10/2/06, Vishal Mahajan <vmahajan@amberpoint.com> wrote:
>>> Any signature verification was failing for me, and I have a different
>>> DOM implementation in my environment, so probably you are right. It was
>>> such a basic error that it had to be something like this. In any 
>>> case, I
>>> think we should keep string comparison safe.
>>>
>>> Vishal
>>>
>>> Raul Benito wrote:
>>> > Hi Vishal,
>>> >
>>> > The namespaces strings are intern, at least in xerces.
>>> >
>>> > Can you post the code that is failing?
>>> >
>>> > On 10/2/06, Vishal Mahajan <vmahajan@amberpoint.com> wrote:
>>> >> This problem was not allowing successful creation of signature space
>>> >> elements. Fix attached.
>>> >>
>>> >> Vishal
>>> >>
>>> >>
>>> >>
>>> >> Index: ElementProxy.java
>>> >> ===================================================================
>>> >> --- ElementProxy.java   (revision 451991)
>>> >> +++ ElementProxy.java   (working copy)
>>> >> @@ -281,7 +281,7 @@
>>> >>
>>> >>        String localnameIS = 
>>> this._constructionElement.getLocalName();
>>> >>        String namespaceIS = 
>>> this._constructionElement.getNamespaceURI();
>>> >> -      if ((namespaceSHOULDBE!=namespaceIS) ||
>>> >> +      if (!namespaceSHOULDBE.equals(namespaceIS) ||
>>> >>         !localnameSHOULDBE.equals(localnameIS) ) {
>>> >>           Object exArgs[] = { namespaceIS +":"+ localnameIS,
>>> >>             namespaceSHOULDBE +":"+ localnameSHOULDBE};
>>> >>
>>> >>
>>> >>
>>> >
>>> >
>>>
>>>
>>>
>>
>>
>
>



Mime
View raw message