Hi Ashok,

very good, so there is no mistake on you side I am ready to overtake
responsibility for this line, as I make mistakes and I believe this is
my source.
I will continue on this matter after next Tuesday, where I have a
presentation for the OASIS Change-tracking sub committee.
Please excuse the delay, the XPath is important to me, but the deadline
was set up by OASIS.

Till soon,
Svante


On 09.02.2012 21:44, Ashok Hariharan wrote:
> Hi Svante --
>
> the line you mention was already there (perhaps an earlier update ) --
> if you see my patch
> (https://issues.apache.org/jira/secure/attachment/12512926/odffiledom-patch.txt)
> :
>
> --- src/main/java/org/odftoolkit/odfdom/pkg/OdfFileDom.java   (revision 
> 1239471)
> +++ src/main/java/org/odftoolkit/odfdom/pkg/OdfFileDom.java   (working copy)
> @@ -355,8 +355,21 @@
>               String nsURI = null;
>               nsURI = mUriByPrefix.get(prefix);
>               if (nsURI == null) {
> -                     nsURI = XMLConstants.NULL_NS_URI;
> -             }
> +                        //look in Duplicate URI prefixes
> +                        Set<String> urisWithDuplicatePrefixes =
> this.mDuplicatePrefixesByUri.keySet();
> +                        for (String aURI : urisWithDuplicatePrefixes) {
> +                            Set<String> prefixes =
> this.mDuplicatePrefixesByUri.get(aURI);
> +                            // check if requested prefix exists in hashset
> +                            if (prefixes.contains(prefix)) {
> +                                nsURI = aURI;
> +                                break;
> +                            }
> +                        }
> +                }
> +                //there is a possiblity it still may be null - so we check
> +                if (nsURI == null ) {
> +                    nsURI = XMLConstants.NULL_NS_URI;
> +                }
>
> there is no ... ByUri.put(namespaceURI,prefixes) line in my patch...
>
> Ashok
>
>
> On Tue, Feb 7, 2012 at 1:39 AM, Svante Schubert
> <[email protected]> wrote:
>> I have added my comments to the closed issue
>>
>> https://issues.apache.org/jira/browse/ODFTOOLKIT-302
>>
>> It all comes down, that you had a line too much in your patch:
>> mDuplicatePrefixesByUri.put(namespaceURI, prefixes);
>>
>> The put() within a get() context was suspicious, but the method was broken 
>> anyway and I owe you that you found out and provided a patch.
>>
>> Thanks again,
>> Svante
>>
>> On 02.02.2012 08:34, Ashok Hariharan wrote:
>>> Hello there --
>>>
>>> I am submitting a patched test case "xpathtest-case-patch.txt" and the
>>> corresponding odt file used by the test.
>>>
>>> To simulate the problem --
>>>
>>> 1) apply the patch xpathtest-case-patch.txt on the ODFDOM source
>>> 2) put the XPathTest-duplicate-prefix.odt in odfdom/src/test/resources
>>> 3) Run the src/test/java/org/odftoolkit/odfdom/dom/XPathTest.java unit
>>> test. It fails.
>>> 4) apply the patch odffiledom-patch.txt on OdfFileDom and run the unit
>>> test again. It passes.
>>>
>>> I have added explanatory comments in the patched unit test and the
>>> patched getNamespaceURI()
>>>
>>> thanks,
>>>
>>> Ashok Hariharan

Reply via email to