Uploaded image for project: 'Kuali Rice Development'
  1. Kuali Rice Development
  2. KULRICE-8559

When routing a doc with no route path defined, document goes FINAL but PostProcessor is never called

    Details

    • Type: Bug Fix
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.1.3
    • Component/s: Development
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Rice Module:
      KEW
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required

      Description

      There is an optimization in KEW that allows you define a document route path as follows:

      <routePaths/>
      

      There is code in the RouteDocument.java which looks like this:

      if (((ProcessDefinitionBo)getRouteHeader().getDocumentType().getProcesses().get(0)).getInitialRouteNode() == null) {
        getRouteHeader().setApprovedDate(new Timestamp(System.currentTimeMillis()));
        getRouteHeader().markDocumentProcessed();
        getRouteHeader().markDocumentFinalized();
      }
      

      Part of the problem here is that the post processor is never called for the transitions from I -> R -> P -> F. It should still be possible for someone to have a document like this and use a PostProcessor with it (even though all of these status transitions immediately and synchronously happen at the time the document is "routed").

        Attachments

          Issue Links

            Activity

            Hide
            shahess Shannon Hess added a comment - - edited

            I'm a little confused as to what needs to be changed in this situation. I tested, and a document with route path of <routePaths/> calls the post processor method doRouteStatusChange once:

            • doRouteStatusChange I -> F

            Documents with normal route path with no stop calls the post processor method doRouteStatusChange three times:

            • doRouteStatusChange I -> R
            • doRouteStatusChange R -> P
            • doRouteStatusChange P -> F

            Should both types of documents be calling doRouteStatusChange for each status change? i.e. three times?

            Thanks,
            Shannon

            Show
            shahess Shannon Hess added a comment - - edited I'm a little confused as to what needs to be changed in this situation. I tested, and a document with route path of <routePaths/> calls the post processor method doRouteStatusChange once: doRouteStatusChange I -> F Documents with normal route path with no stop calls the post processor method doRouteStatusChange three times: doRouteStatusChange I -> R doRouteStatusChange R -> P doRouteStatusChange P -> F Should both types of documents be calling doRouteStatusChange for each status change? i.e. three times? Thanks, Shannon
            Hide
            shahess Shannon Hess added a comment -

            Also, both types of documents call doActionTaken, beforeProcess, and afterProcess in the post processor.

            Show
            shahess Shannon Hess added a comment - Also, both types of documents call doActionTaken, beforeProcess, and afterProcess in the post processor.
            Hide
            shahess Shannon Hess added a comment -

            This has been fixed so that when a document only specifies <routePaths/>, doRouteStatusChange will be called for all three status changes.

            Show
            shahess Shannon Hess added a comment - This has been fixed so that when a document only specifies <routePaths/>, doRouteStatusChange will be called for all three status changes.

              People

              • Assignee:
                shahess Shannon Hess
                Reporter:
                ewestfal Eric Westfall
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: