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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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}; >> >> >> > >
-- http://r-bg.com