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

The Rice jsp/tag files for KIM throw errors when a KIM Type is using the KimNonDataDictionaryAttributeDefinition class

    Details

    • Type: Bug Fix Bug Fix
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.0
    • Component/s: Development
    • Labels:
      None
    • Similar issues:
      KULRICE-8615Wrong commons-collections version when depending on rice-kim-api
      KULRICE-2171Create Implementation classes for KIM Reference objects
      KULRICE-5589Rename TypeContract and Type classes in Kim to CodedAttributeContract and CodedAttribute
      KULRICE-6338Various issues getting KIM LDAP module to work properly
      KULRICE-2228Implement the KIM Role Type concrete classes
      KULRICE-3691Kim DTOs should use interface
      KULRICE-3455Possible issues with remoting of KIM Type Services and attributes
      KULRICE-6827Loss of useful javadocs on KIM services
      KULRICE-4562Look into KIM path hacks in lookup and action classes
      KULRICE-13248Error on group lookup when searching by KIM type on groups with attributes

      Description

      For KS we tried to set up some simple role routing and we had a new KIM type that was trying to use the 'KimNonDataDictionaryAttributeDefinition' class. I believe it was the roleAssignees.tag file that threw errors because it assumed all instances of the AttributeDefinition implementation classes used by KIM would have the attribute 'lookupBoClass' but the 'KimNonDataDictionaryAttributeDefinition' class does not.

      If the base AttributeDefinition class had some sort of 'hasLookupBoDefinition' method that the jsp/tag files could use then that would seem to solve the issue here though i don't know that the only tag file referencing this value is roleAssignees.tag. Other files would have to be verified to see which use the 'lookupBoClass'.

      We have seen one other error related to the 'KimNonDataDictionaryAttributeDefinition' class but we'll submit a separate Jira issue for it once we've isolated it.

        Activity

        Hide
        Eric Westfall added a comment -

        Assigned to Jeremy and added Ailish as a watcher.

        Ailish, if we need any clarification on the code surrounding this, can you point us to the resource who worked on this code? Thanks!

        Show
        Eric Westfall added a comment - Assigned to Jeremy and added Ailish as a watcher. Ailish, if we need any clarification on the code surrounding this, can you point us to the resource who worked on this code? Thanks!
        Hide
        Ailish Byrne added a comment -

        try me since the first person i assigned this no longer works on rice and the person who did a bunch of work is out of town for the next month

        Show
        Ailish Byrne added a comment - try me since the first person i assigned this no longer works on rice and the person who did a bunch of work is out of town for the next month
        Hide
        Jeremy Hanson added a comment -

        Would it make sense to have the lookupBoClass in the KimNonDataDictionaryAttributeDefinition?

        Show
        Jeremy Hanson added a comment - Would it make sense to have the lookupBoClass in the KimNonDataDictionaryAttributeDefinition?
        Hide
        Ailish Byrne added a comment -

        i'll let david comment... just i think the non dd attr defn needs to operate solely on url based info and stuff. lookupBoClass is kind of inherently a dd concept.

        Show
        Ailish Byrne added a comment - i'll let david comment... just i think the non dd attr defn needs to operate solely on url based info and stuff. lookupBoClass is kind of inherently a dd concept.
        Hide
        David Elyea added a comment -

        I think ultimately it would be nice to have some sort of url based lookup kinda stuff but at this point for 1.0 it might just be enough to fix it so the screen will display. I think it depends on timing and what we think can get done? For the time being we've switched back to the KNS method using the KimDataDictionaryAttributeDefinition but i entered the Jira anyway since someone in the community might run into the bug and it was basically preventing viewing of the KIM objects.

        I would think to do the URL method the source app (in this case KS) would need to provide a URL for the lookup on the KRIM_ATTR_DEFN_T and then in the system you'd have to pass request parameters to the source app which would be at least the return url (since i would think we'd need stuff like docFormId or other KNS parameters) as well as something similar to the 'field translation' stuff where the source app can say... ok return the data element X as request parameter Y to the return url. Sorry if that's confusing... it's all off the top of my head.

        Show
        David Elyea added a comment - I think ultimately it would be nice to have some sort of url based lookup kinda stuff but at this point for 1.0 it might just be enough to fix it so the screen will display. I think it depends on timing and what we think can get done? For the time being we've switched back to the KNS method using the KimDataDictionaryAttributeDefinition but i entered the Jira anyway since someone in the community might run into the bug and it was basically preventing viewing of the KIM objects. I would think to do the URL method the source app (in this case KS) would need to provide a URL for the lookup on the KRIM_ATTR_DEFN_T and then in the system you'd have to pass request parameters to the source app which would be at least the return url (since i would think we'd need stuff like docFormId or other KNS parameters) as well as something similar to the 'field translation' stuff where the source app can say... ok return the data element X as request parameter Y to the return url. Sorry if that's confusing... it's all off the top of my head.
        Hide
        Jeremy Hanson added a comment -

        I created a class KimAttributeDefinition and put a isHasLookupBoDefinition() class in it. Then changed KimNonDataDictionaryAttributeDefinition and KimDataDictionaryAttributeDefinition to extend from it.

        The tag files have been updated to check this boolean before trying to call the lookupBoClass variable.

        Show
        Jeremy Hanson added a comment - I created a class KimAttributeDefinition and put a isHasLookupBoDefinition() class in it. Then changed KimNonDataDictionaryAttributeDefinition and KimDataDictionaryAttributeDefinition to extend from it. The tag files have been updated to check this boolean before trying to call the lookupBoClass variable.
        Hide
        Eric Westfall added a comment -

        Bulk change of all Rice 1.0 issues to closed after public release.

        Show
        Eric Westfall added a comment - Bulk change of all Rice 1.0 issues to closed after public release.

          People

          • Assignee:
            Jeremy Hanson
            Reporter:
            David Elyea
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Structure Helper Panel