Uploaded image for project: 'Commons Digester'
  1. Commons Digester
  2. DIGESTER-167

Groundless "Circular file inclusion detected" exception when including rules XML file

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.2
    • 3.3
    • None

    Description

      Looks like org.apache.commons.digester3.xmlrules.IncludeRule doesn't remove the name of included XML rules resource from the set of included files of the memoryRulesBinder after included module is installed. Hence, one can include resource actually only once. Parsing of the following XML rules (slightly modified example from the documentation) causes unexpected "Circular file inclusion detected" exception:

      rules1.xml

       
      <?xml version="1.0"?>
      <!DOCTYPE digester-rules PUBLIC
              "-//Apache Commons //DTD digester-rules XML V1.0//EN"
              "http://commons.apache.org/digester/dtds/digester-rules-3.0.dtd">
      <digester-rules>
          <pattern value="root/foo">
              <object-create-rule classname="Foo"/>
              <include url="classpath:/rules2.xml"/>
          </pattern>
          <pattern value="root/foo2">
              <object-create-rule classname="Foo"/>
              <include url="classpath:/rules2.xml"/>
          </pattern>
      </digester-rules>
      

      rules2.xml

       
       <?xml version="1.0"?>
      <!DOCTYPE digester-rules PUBLIC
              "-//Apache Commons //DTD digester-rules XML V1.0//EN"
              "http://commons.apache.org/digester/dtds/digester-rules-3.0.dtd">
      <digester-rules>
          <pattern value="bar">
              <object-create-rule classname="Bar"/>
          </pattern>
      </digester-rules>
      

      Attachments

        1. DIGESTER-167.patch
          6 kB
          Eugene Fedotov

        Activity

          People

            simone.tripodi Simone Tripodi
            eugene_fedotov Eugene Fedotov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: