Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

javax.xml.bind.DatatypeConverter.parseBoolean incorrect #608

Closed
Tomas-Kraus opened this issue Mar 10, 2009 · 11 comments
Closed

javax.xml.bind.DatatypeConverter.parseBoolean incorrect #608

Tomas-Kraus opened this issue Mar 10, 2009 · 11 comments

Comments

@Tomas-Kraus
Copy link
Member

(jaxb-ri-20090206)

javadoc for said method claims to accept "A string containing lexical
representation of xsd:boolean" and to throw "IllegalArgumentException - if
string parameter does not conform to lexical value space defined in XML Schema
Part 2: Datatypes for xsd:boolean."

IllegalArgumentException is never thrown.

method accepts /\s*[1t]./ as true and /\s[0f].*/ as false, whereas XML Schema
Part 2, 3.2.2 boolean rules that the lexical representations are

{true, false, 1, 0}

Also, parseBoolean( "" ) runs into a StringIndexOutOfBoundsException.

Environment

Operating System: All
Platform: All

@Tomas-Kraus
Copy link
Member Author

@glassfishrobot Commented
Reported by laune

@Tomas-Kraus
Copy link
Member Author

@glassfishrobot Commented
Was assigned to snajper

@Tomas-Kraus
Copy link
Member Author

@glassfishrobot Commented
@pavelbucek said:
fixed in trunk

@Tomas-Kraus
Copy link
Member Author

@glassfishrobot Commented
snajper said:
Marked as fixed in 2.1.12.

@Tomas-Kraus
Copy link
Member Author

@glassfishrobot Commented
ggregory said:
DatatypeConverter.parseBoolean("") still throws an exception in 2.1.12.

java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(String.java:686)
at
javax.xml.bind.DatatypeConverterImpl._parseBoolean(DatatypeConverterImpl.java:221)
at
javax.xml.bind.DatatypeConverterImpl.parseBoolean(DatatypeConverterImpl.java:213)
at javax.xml.bind.DatatypeConverter.parseBoolean(DatatypeConverter.java:232)
at
com.seagullsw.javax.xml.bind.DatatypeConverterTestCase.parseBooleanTest(DatatypeConverterTestCase.java:27)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:44)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

@Tomas-Kraus
Copy link
Member Author

@glassfishrobot Commented
snajper said:
Pavle, would you please look at the remaining case? Thanks.

@Tomas-Kraus
Copy link
Member Author

@glassfishrobot Commented
snajper said:
Ah, didn't realize the remaining is about the api datatypeconverter. Will update with next api fix release.

@Tomas-Kraus
Copy link
Member Author

@glassfishrobot Commented
snajper said:
api dtc is being used and made consistent within ri

@Tomas-Kraus
Copy link
Member Author

@glassfishrobot Commented
Marked as fixed on Monday, April 11th 2011, 6:58:38 pm

@Tomas-Kraus
Copy link
Member Author

@glassfishrobot Commented
This issue was imported from java.net JIRA JAXB-608

@Tomas-Kraus
Copy link
Member Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants