Uploaded image for project: 'WildFly Core'
  1. WildFly Core
  2. WFCORE-7020

PersistentResourceXMLDescription will may persist an empty subsystem element with the attributes persisted after the empty element

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 27.0.0.Beta1
    • None
    • Management
    • None

      When persisting the PersistentResourceXMLDescription requires a resource to have children resources or have attribute groups which allow marshalling the XML wrapped in the attribute groups name. This is an issue when a subsystem only contains elements.

      An example from a refactor of the jaxrs subsystem.

      Good XML
      <subsystem xmlns="urn:jboss:domain:jaxrs:3.0">
          <jaxrs-2-0-request-matching>true</jaxrs-2-0-request-matching>
          <resteasy-add-charset>false</resteasy-add-charset>
          <resteasy-buffer-exception-entity>false</resteasy-buffer-exception-entity>
          <resteasy-disable-html-sanitizer>true</resteasy-disable-html-sanitizer>
          <resteasy-disable-providers>
              <class>a.b</class>
              <class>c</class>
          </resteasy-disable-providers>
          <resteasy-document-expand-entity-references>true</resteasy-document-expand-entity-references>
          <resteasy-document-secure-disableDTDs>false</resteasy-document-secure-disableDTDs>
          <resteasy-document-secure-processing-feature>false</resteasy-document-secure-processing-feature>
          <resteasy-gzip-max-input>777</resteasy-gzip-max-input>
          <resteasy-jndi-resources>
             <jndi>java:a/b</jndi>
             <jndi>java:k.l/mm/nnn</jndi>
          </resteasy-jndi-resources>
          <resteasy-language-mappings>
              <entry key="o">4444</entry>
              <entry key="pp">5555</entry>
              <entry key="q">6666</entry>
          </resteasy-language-mappings>
          <resteasy-media-type-mappings>
              <entry key="r">77777</entry>
          </resteasy-media-type-mappings>
          <resteasy-media-type-param-mapping>tu</resteasy-media-type-param-mapping>
          <resteasy-prefer-jackson-over-jsonb>true</resteasy-prefer-jackson-over-jsonb>
          <resteasy-providers>
            <class> s </class>
            <class> t.t </class>
          </resteasy-providers>
          <resteasy-rfc7232preconditions>true</resteasy-rfc7232preconditions>
          <resteasy-role-based-security>true</resteasy-role-based-security>
          <resteasy-secure-random-max-use>2222</resteasy-secure-random-max-use>
              <resteasy-use-builtin-providers>false</resteasy-use-builtin-providers>
          <resteasy-use-container-form-params>true</resteasy-use-container-form-params>
          <resteasy-wider-request-matching>true</resteasy-wider-request-matching>
          <tracing-type>ALL</tracing-type>
          <tracing-threshold>VERBOSE</tracing-threshold>
      </subsystem>
      
      Invalid XML
      
      <subsystem xmlns="urn:jboss:domain:jaxrs:3.0"/>
      <jaxrs-2-0-request-matching>true</jaxrs-2-0-request-matching>
      <resteasy-add-charset>false</resteasy-add-charset>
      <resteasy-buffer-exception-entity>false</resteasy-buffer-exception-entity>
      <resteasy-disable-html-sanitizer>true</resteasy-disable-html-sanitizer>
      <resteasy-disable-providers>
          <class>
              a.b
          </class>
          <class>
              c
          </class>
      </resteasy-disable-providers>
      <resteasy-document-expand-entity-references>true</resteasy-document-expand-entity-references>
      <resteasy-document-secure-disableDTDs>false</resteasy-document-secure-disableDTDs>
      <resteasy-document-secure-processing-feature>false</resteasy-document-secure-processing-feature>
      <resteasy-gzip-max-input>777</resteasy-gzip-max-input>
      <resteasy-jndi-resources>
          <jndi>
              java:a/b
          </jndi>
          <jndi>
              java:k.l/mm/nnn
          </jndi>
      </resteasy-jndi-resources>
      <resteasy-language-mappings>
          <entry key="o">
              4444
          </entry>
          <entry key="pp">
              5555
          </entry>
          <entry key="q">
              6666
          </entry>
      </resteasy-language-mappings>
      <resteasy-media-type-mappings>
          <entry key="r">
              77777
          </entry>
      </resteasy-media-type-mappings>
      <resteasy-media-type-param-mapping>tu</resteasy-media-type-param-mapping>
      <resteasy-prefer-jackson-over-jsonb>true</resteasy-prefer-jackson-over-jsonb>
      <resteasy-providers>
          <class>
              s
          </class>
          <class>
              t.t
          </class>
      </resteasy-providers>
      <resteasy-rfc7232preconditions>true</resteasy-rfc7232preconditions>
      <resteasy-role-based-security>true</resteasy-role-based-security>
      <resteasy-secure-random-max-use>2222</resteasy-secure-random-max-use>
      <resteasy-use-builtin-providers>false</resteasy-use-builtin-providers>
      <resteasy-use-container-form-params>true</resteasy-use-container-form-params>
      <resteasy-wider-request-matching>true</resteasy-wider-request-matching>
      <tracing-type>ALL</tracing-type>
      <tracing-threshold>VERBOSE</tracing-threshold>
      

      Note with the invalid XML the subsystem is an empty element.

              jperkins-rhn James Perkins
              jperkins-rhn James Perkins
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: