You are viewing a plain text version of this content. The canonical link for it is here.
Posted to woden-dev@ws.apache.org by "John Kaputin (JIRA)" <ji...@apache.org> on 2007/01/31 21:57:06 UTC

[jira] Resolved: (WODEN-125) QName.valueOf behaviour does not match the Javadoc

     [ https://issues.apache.org/jira/browse/WODEN-125?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Kaputin resolved WODEN-125.
--------------------------------

    Resolution: Fixed

Fixed in M7 by r501904

> 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: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org