Kuali Rice Development
  1. Kuali Rice Development
  2. KULRICE-3526

Fix issue with Document Type XML parser where it isn't properly handling route paths that re-use a node definition

    Details

    • Type: Bug Fix Bug Fix
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.1.7
    • Component/s: XML Import/Export
    • Labels:
      None
    • Similar issues:
      KULRICE-6950Severe performance degradation on saving complex routing paths
      KULRICE-7038Rice Dev1: Document Type Inquiry Screen not Exporting Route Node Information
      KULRICE-8266DB deadlock issues need to be handled by Kuali applications properly (3643)
      KULRICE-9386Issues with doctype xml ingestion
      KULRICE-8842 split nodes one after the other causes an OutOfMemoryError in the document type xml parser
      KULRICE-934Workflow Simulation Engine needs to handle Potential Exception thrown by Mandatory Route node with no requests
      KULRICE-5596Add support to Document Type XML schema to specify the krms integrating route node
      KULRICE-11969Cannot perform detailed document searches that specify a doc type lacking route nodes
      KULRICE-1764Document Search does not return all valid results when using a Route Node Name criteria on Detailed Search
      KULRICE-3279The XPathQualifierResolver Rule Attribute ingestion is broken and not ingesting the configuration section of the xml
    • Rice Module:
      KEW
    • Include in Release Notes?:
      Yes

      Description

      After a quick look, I think this is probably caused by the usage of a Map in the DocumentTypeXMLParser to store the nodes (there can only ever be one entry n the map for a particular node name).

      Once we fix the parser, we additionally should verify that the XML exporter for document types works correctly in this case.

      I think it will be critical to write a unit test that tests this, so please do that as part of this task.

      *****
      Added by delyea:

      I added a unit test method DocumentTypeTest.testDuplicateNodeNameInRoutePath() to try to verify this though i don't think that this one method fully tests the potential ways this buy can appear. It could be a good starting point for other unit tests though.

      1. documentTypeXmlParserPatch.txt
        34 kB
        Jeremy Hanson
      2. KfsCoreModulesParentDocuments.xml
        3 kB
        Corey Pedersen
      3. KfsOptionalModulesParentDocuments.xml
        6 kB
        Corey Pedersen
      4. KfsTopLevelDocuments.xml
        5 kB
        Corey Pedersen
      5. PurchasingAccountsPayableTransactionalDocuments.xml
        63 kB
        Corey Pedersen

        Issue Links

          Activity

          Hide
          Corey Pedersen (Inactive) added a comment -

          Committed revision 36187. Corrected case on XML file names.

          Show
          Corey Pedersen (Inactive) added a comment - Committed revision 36187. Corrected case on XML file names.
          Hide
          Corey Pedersen (Inactive) added a comment -

          Another invalid file name in test. Case sensitive.

          Show
          Corey Pedersen (Inactive) added a comment - Another invalid file name in test. Case sensitive.
          Hide
          Corey Pedersen (Inactive) added a comment -

          Committed revision 36189. Corrected issue.

          Show
          Corey Pedersen (Inactive) added a comment - Committed revision 36189. Corrected issue.
          Hide
          Peter Giles (Inactive) added a comment -

          Once 2.1.6 is released, we can address the related bug that caused us to roll this back in the rice-2.1 branch.

          Show
          Peter Giles (Inactive) added a comment - Once 2.1.6 is released, we can address the related bug that caused us to roll this back in the rice-2.1 branch.
          Hide
          Corey Pedersen (Inactive) added a comment -

          Committed revision 39211.

          Show
          Corey Pedersen (Inactive) added a comment - Committed revision 39211.

            People

            • Assignee:
              Corey Pedersen (Inactive)
              Reporter:
              Eric Westfall
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 3 days
                3d
                Remaining:
                Remaining Estimate - 3 days
                3d
                Logged:
                Time Spent - Not Specified
                Not Specified

                  Structure Helper Panel