Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-3679

Regression - org.jboss.test.jca.test.JDBCStatementTestsConnectionUnitTestCase

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • EAP 5.0.1
    • EAP 5.0.1.CR1
    • JCA, System
    • None
    • Regression, Blocks Testing

      Test suite regression with the following error deploying the datasource for the test.

      Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 0
      at java.lang.AbstractStringBuilder.charAt(AbstractStringBuilder.java:174)
      at java.lang.StringBuilder.charAt(StringBuilder.java:55)
      at com.sun.xml.bind.DatatypeConverterImpl._parseBoolean(DatatypeConverterImpl.java:229)
      at com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl$14.parse(RuntimeBuiltinLeafInfoImpl.java:640)
      at com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl$14.parse(RuntimeBuiltinLeafInfoImpl.java:643)
      at com.sun.xml.bind.v2.runtime.unmarshaller.TextLoader.text(TextLoader.java:65)

      JBPAPP-2121 was a change to JAXB to reject messages that failed parsing due to invalid fields, the regression has been caused as the -ds.xml deployer is dependent on this silent dropping or errors.

      The following type is used in the affected -ds.xml: -

      <!--
      whether to set the query timeout based on the time remaining until transaction timeout,
      any configured query timeout will be used if there is no transaction.

      The default is false.
      e.g.
      <set-tx-query-timeout/>
      -->
      <xsd:complexType name="set-tx-query-timeoutType">
      <xsd:simpleContent>
      <xsd:restriction base="javaee:true-falseType"/>
      </xsd:simpleContent>
      </xsd:complexType>

      The true-falseType is defined as: -

      <xsd:complexType name="true-falseType">
      <xsd:annotation>
      <xsd:documentation>

      This simple type designates a boolean with only two
      permissible values

      • true
      • false

      </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
      <xsd:restriction base="javaee:xsdBooleanType">
      <xsd:pattern value="(true|false)"/>
      </xsd:restriction>
      </xsd:simpleContent>
      </xsd:complexType>

      The JAXB parsing is failing as the element is present but not set to either value: -

      <set-tx-query-timeout/>

      Deployments are likely to be in place with this style of configuration so rather than updating the -ds.xml to avoid the parsing error the deployer will be relaxed to the previous level of validation for the descriptors.

              darran.lofthouse@redhat.com Darran Lofthouse
              darran.lofthouse@redhat.com Darran Lofthouse
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: