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

Need a dynamic way to add classes to kns-application-unit persistence unit

    Details

    • Type: Task Task
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.1-JPA
    • Component/s: Development, JPA
    • Labels:
      None
    • Similar issues:
      KULRICE-3942Create persistence unit "glommer" per kns-application-unit bean that pulls in client beans
      KULRICE-3856JPA - Modify creation of PersistenceUnit such that it automatically imports persistent classes from the KNS that may need to be joined with client-side
      KULRICE-918Need a way to add context to value finder classes
      KULRICE-9528Document how KRAD handles it's own internal classes (doc header, etc.) in terms of managing them in their own persistence unit
      KULRICE-12715Add class to alert messages
      KULRICE-9904Add unit tests for theme builder
      KULRICE-8180Need a way to control what properties are serialized in maintenance documents.
      KULRICE-12544Allow for table columns to be dynamically created (based on a subcollection)
      KULRICE-2731Allow for BusinessObjectService to persist to more than one data source
      KULRICE-8818Provide a way for components to add data generically to the form
    • Rice Module:
      KNS, KEW, KIM

      Description

      Any class which is manipulated by KNS services - for example shown in a lookup or inquiry - needs to be exposed to the kns-application-unit (and possibly kns-server-unit). This includes a number of Rice classes - Jeremy mentioned some in KIM and I'm sure there's others.

      We can list those in kns-persistence.xml - but that persistence unit is going to be overwritten. So it would be a better idea to create another class exposer, like the KNSPersistableBusinessObjectExposer, which dumps classes into the kns-application-unit and kns-server-unit (though this is just an idea; there may be better).

        Activity

        Hide
        James Smith added a comment -

        Added Jeremy as a watcher since he discovered this as an issue.

        Show
        James Smith added a comment - Added Jeremy as a watcher since he discovered this as an issue.
        Hide
        James Smith added a comment -

        Jeremy, is there a KIM unit test which expects KIM BOs to be in one of the KNS's persistence units?

        Show
        James Smith added a comment - Jeremy, is there a KIM unit test which expects KIM BOs to be in one of the KNS's persistence units?
        Hide
        Jeremy Hanson added a comment -

        Committed kns-persistence.xml with KIM BOs included.

        A good unit test to try is IdentityServiceRemoteTest.testLookupEntityInfo.

        Show
        Jeremy Hanson added a comment - Committed kns-persistence.xml with KIM BOs included. A good unit test to try is IdentityServiceRemoteTest.testLookupEntityInfo.
        Hide
        James Smith added a comment -

        Thanks greatly, Jeremy!

        Show
        James Smith added a comment - Thanks greatly, Jeremy!
        Hide
        James Smith added a comment -

        That test is eating my JVM's heap for lunch. Is there another decent test?

        Show
        James Smith added a comment - That test is eating my JVM's heap for lunch. Is there another decent test?
        Hide
        Jeremy Hanson added a comment -

        Try the non remote version of the test? IdentityServiceTest.

        Also try the testLookupEntityDefaultInfo in the same test class.

        Show
        Jeremy Hanson added a comment - Try the non remote version of the test? IdentityServiceTest. Also try the testLookupEntityDefaultInfo in the same test class.
        Hide
        James Smith added a comment -

        Awesome. That one worked, so I'm committing.

        Show
        James Smith added a comment - Awesome. That one worked, so I'm committing.
        Hide
        James Smith added a comment -

        Added Chad as a watcher.

        Chad, I don't know if you had similar issues with KEW, but if you did...here's, I hope, a good solution to the issue.

        The class to add class names to is: RiceToNervousSystemBusinessObjectClassExposer...

        Show
        James Smith added a comment - Added Chad as a watcher. Chad, I don't know if you had similar issues with KEW, but if you did...here's, I hope, a good solution to the issue. The class to add class names to is: RiceToNervousSystemBusinessObjectClassExposer...
        Hide
        James Smith added a comment -

        This is complete. Please reopen if there are any issues.

        Show
        James Smith added a comment - This is complete. Please reopen if there are any issues.

          People

          • Assignee:
            James Smith
            Reporter:
            James Smith
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Structure Helper Panel