Children returned instead of self for arrays when using . selector
------------------------------------------------------------------
Key: JXPATH-86
URL: https://issues.apache.org/jira/browse/JXPATH-86
Project: Commons JXPath
Issue Type: Bug
Affects Versions: 1.2 Final
Reporter: Adam Crume
The . selector should always return the context node, and the * selector should
return child elements. However, this doesn't work for arrays:
JXPathContext context = JXPathContext.newContext(new HashMap());
context.setValue("array", new String[] {"one", "two", "three"});
context.setValue("array2", new String[][] { {"a", "b"}, {"c", "d"}});
context.setValue("person", new Person("Bob", 25));
String[] paths = {"/array", "/array/.", "/array/*", "/person", "/person/.",
"/person/*"};
for(int i = 0; i < paths.length; i++) {
Pointer pointer = context.getPointer(paths[i]);
System.out.println(pointer.asPath());
Object value = context.getValue(paths[i]);
System.out.println(value);
System.out.println();
}
This produces the following output:
/[EMAIL PROTECTED]'array']
[Ljava.lang.String;@59b659b6
/[EMAIL PROTECTED]'array'][1]
one
/[EMAIL PROTECTED]'array'][1]/bytes[1]
111
/[EMAIL PROTECTED]'person']
[EMAIL PROTECTED]
/[EMAIL PROTECTED]'person']
[EMAIL PROTECTED]
/[EMAIL PROTECTED]'person']/age
25
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]