iteratePointers on relative context returns incorrect values for 
multidimensional arrays
----------------------------------------------------------------------------------------

                 Key: JXPATH-156
                 URL: https://issues.apache.org/jira/browse/JXPATH-156
             Project: Commons JXPath
          Issue Type: Bug
            Reporter: Lukas Krejci


Let's have multidimensional array/collection as an input.

I would like to iterate through both inner and outer list. iteration through 
the inner list is relative to iteration of outer list, so I'm using relative 
context for that:

{code}
List<String> array1 = Arrays.asList("what", "is");
List<String> array2 = Arrays.asList("wrong", "?");
List<List<String>> strings = Arrays.asList(array1, array2);

JXPathContext context = JXPathContext.newContext(strings);
Iterator it = context.iteratePointers(".");
while (it.hasNext()) {
  Pointer p = (Pointer) it.next();

  JXPathContext context2 = context.getRelativeContext(p);
  Iterator it2 = context2.iteratePointers(".");
  while (it2.hasNext()) {
    Pointer p2 = (Pointer) it2.next();
    System.out.println(p2.getValue());
  }
}
{code}

Unfortunately the inner iteration returns the inner collection instead of it's 
items. So the output is following:

{code:xml}
[what, is]
[wrong, ?]
{code}



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to