[ https://issues.apache.org/jira/browse/WODEN-125?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
John Kaputin closed WODEN-125. ------------------------------ > QName.valueOf behaviour does not match the Javadoc > -------------------------------------------------- > > Key: WODEN-125 > URL: https://issues.apache.org/jira/browse/WODEN-125 > Project: Woden > Issue Type: Bug > Components: Parser > Reporter: John Kaputin > > The javax.xml.namespace.QName class in Woden implements the static > valueOf(String) method and the method's javadoc conforms to other QName > implementation in J2EE 1.4 and Java 5.0. However, the method's implementation > contain more constraints on structure and validation than are implied by the > javadoc. It tries to avoid 'garbage in' (e.g. multiple left curly braces) > by treating this as an error, but according to the Javadoc no such validation > is required and the only criteria is that the String argument must not be > null and must be in the same format as that produced by the toString() > method. That is, 'garbage in' should just be accepted and used to create a > QName - typically this means a 'garbage' string will form the localpart and > the namespace will be the empty string. This is acceptable, because per the > javadoc no validation is done on the namespace or the localpart. > As an aside, the Woden test suite checks for this current behaviour in the > valueOf method. However, when the test suite runs in a Java 5 JRE it is the > Java 5 implementation of QName loaded by the classloader, not Woden's, and > the test cases fail because that implementation is more lax. The > AllWodenTests junit harness has a conditional statement to check the java > version, but this is not really adequate as the QNameTests junit class can be > invoked independently of AllWodenTests (e.g. by Maven2). > So, the valueOf method must be 'dumbed down' to conform to the javadoc and > the corresponding tests removed. A new test is needed to check the String > passed to the valueOf method to create the QName object is equal to the > result of the object's toString() method. -- 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]