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

Create a "Business Object Observer" framework

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 1.0.1, KFS Release 3.0
    • Fix Version/s: Backlog
    • Component/s: Development
    • Labels:
    • Rice Module:
      KRAD
    • Application Requirement:
      Rice

      Description

      This is related to thoughts on performance, specifically the role type services.

      Performance could be improved if the type services cached information they gather when resolving roles. (Such as org parent/child relationships or fiscal officer user IDs.) Unfortunately, since the data can change, it's not always practical.

      But, if there was a standard way to notify interested objects that a business object had just been saved, they type services could purge their cache entries appropriately.

      So, what about a "BusinessObjectObserver" class. It would have a two methods:
      List<Class<? extends BusinessObject>> getInterestedBusinessObjectClasses()
      void businessObjectSaved( BusinessObject bo )

      Upon service startup, the BusinessObjectService would perform a "getBeansOfType" on the spring context and register all of them in a local HashMap<Class<? extends BusinessObject>,List<BusinessObjectObserver>> which it would use in the BO service's save methods.

        Attachments

          Activity

          There are no comments yet on this issue.

            People

            • Assignee:
              Unassigned
              Reporter:
              jkeller Jonathan Keller
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: