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

Do POC on changing lifecycle to use reflection

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major
    • Resolution: Complete
    • Affects Version/s: None
    • Fix Version/s: 2.4
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Epic Link:
    • Rice Module:
      KRAD
    • Sprint:
      2.4.0-m3 KRAD UXI Sprint 2, 2.4.0-m3 KRAD UXI Sprint 3
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required
    • Code Review Status:
      Not Required
    • Include in Release Notes?:
      Yes

      Description

      In order to facilitate running a branch of the view tree during component refresh, try changing the lifecycle to use reflection for finding child components.

      Currently after the lifecycle phase is processed for a component, a call is made to getComponentsForLifecycle. The phase is then executed on each returned component, and so on. Instead of calling this method, inspect the properties for component types, and then invoke the phase on each found component property. This will allow us to build up a property path from the view to a particular component, and on the refresh we can recreate the parents for the refresh component and execute a refresh method on each to set the necessary state on the refreshed component.

      Couple things to keep in mind. We will probably need a NoLifecycle annotation (or something similar) that can be added to a property. Also, there will be no control over the order child components are processed. Not sure if that will be an issue or not.

      At least in one place I know about, there is logic in the getComponentsForLifecycle method. This is in the view component. Take a look through current implementation of getComponentsForLifecycle to see if there is anything else that might cause problems.

        Attachments

          Activity

          jkneal Jerry Neal (Inactive) created issue -
          jkneal Jerry Neal (Inactive) made changes -
          Field Original Value New Value
          Rank Ranked higher
          jkneal Jerry Neal (Inactive) made changes -
          Component/s User Experience (UX) [ 13465 ]
          jkneal Jerry Neal (Inactive) made changes -
          Epic Link KULRICE-10089 [ 120211 ]
          jkneal Jerry Neal (Inactive) made changes -
          Rank Ranked higher
          gilesp Peter Giles (Inactive) made changes -
          Rank Ranked lower
          jkneal Jerry Neal (Inactive) made changes -
          Rank Ranked higher
          jcoltrin Jessica Coltrin (Inactive) made changes -
          Sprint 2.4.0-m3 KRAD Sprint 2 [ 108 ]
          jcoltrin Jessica Coltrin (Inactive) made changes -
          Sprint 2.4.0-m3 KRAD Sprint 2 [ 108 ]
          jcoltrin Jessica Coltrin (Inactive) made changes -
          Sprint 2.4.0-m3 KRAD UXI Sprint 2 [ 111 ]
          mwfyffe Mark Fyffe (Inactive) made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          mwfyffe Mark Fyffe (Inactive) made changes -
          Remaining Estimate 2 days [ 57600 ] 1 day, 4 hours [ 43200 ]
          Time Spent 4 hours [ 14400 ]
          Worklog Id 89994 [ 89994 ]
          mwfyffe Mark Fyffe (Inactive) made changes -
          Remaining Estimate 1 day, 4 hours [ 43200 ] 1 day, 2 hours [ 36000 ]
          Time Spent 4 hours [ 14400 ] 6 hours [ 21600 ]
          Worklog Id 90078 [ 90078 ]
          mwfyffe Mark Fyffe (Inactive) made changes -
          Remaining Estimate 1 day, 2 hours [ 36000 ] 4 hours [ 14400 ]
          Time Spent 6 hours [ 21600 ] 1 day, 4 hours [ 43200 ]
          Worklog Id 90342 [ 90342 ]
          jcoltrin Jessica Coltrin (Inactive) made changes -
          Rank Ranked higher
          jcoltrin Jessica Coltrin (Inactive) made changes -
          Sprint 2.4.0-m3 KRAD UXI Sprint 2 [ 111 ] 2.4.0-m3 KRAD UXI Sprint 2, 2.4.0-m3 KRAD UXI Sprint 3 [ 111, 122 ]
          mwfyffe Mark Fyffe (Inactive) made changes -
          Remaining Estimate 4 hours [ 14400 ] 3 hours [ 10800 ]
          Time Spent 1 day, 4 hours [ 43200 ] 1 day, 5 hours [ 46800 ]
          Worklog Id 90429 [ 90429 ]
          mwfyffe Mark Fyffe (Inactive) made changes -
          Remaining Estimate 3 hours [ 10800 ] 1 hour [ 3600 ]
          Time Spent 1 day, 5 hours [ 46800 ] 1 day, 7 hours [ 54000 ]
          Worklog Id 90511 [ 90511 ]
          mwfyffe Mark Fyffe (Inactive) made changes -
          Status In Progress [ 3 ] Resolved [ 5 ]
          Resolution Complete [ 6 ]
          mwfyffe Mark Fyffe (Inactive) made changes -
          Remaining Estimate 1 hour [ 3600 ] 0 minutes [ 0 ]
          Time Spent 1 day, 7 hours [ 54000 ] 2 days [ 57600 ]
          Worklog Id 90608 [ 90608 ]
          mwfyffe Mark Fyffe (Inactive) made changes -
          Worklog Id 90608 [ 90608 ]
          jcoltrin Jessica Coltrin (Inactive) made changes -
          Fix Version/s 2.4.0-m3 [ 17037 ]
          jcoltrin Jessica Coltrin (Inactive) made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              mwfyffe Mark Fyffe (Inactive)
              Reporter:
              jkneal Jerry Neal (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 2 days
                2d
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 2 days
                2d