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

KIM rules are extending the KRAD DocumentRuleBase

    Details

    • Type: Bug Fix Bug Fix
    • Status: Closed Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 2.1.2
    • Fix Version/s: 2.1.2
    • Component/s: Development
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Similar issues:
      KULRICE-8782KRAD AuthZ is difficult to extend
      KULRICE-12841Does KRAD/KRAD-DATA support extended attributes on documents?
      KULRICE-13658Fill AFT Gap: KRAD Library: Controls: KIM User
      KULRICE-13777Fill AFT Gap: KRAD Labs - Default Rule Event and Business Rule
      KULRICE-8149add tests for KIM screens
      KULRICE-5505Rice Dev: KRAD Rule Delegation Inquiry Bombs to Error screen
      KULRICE-5504Rice Dev: KRAD Rule Inquiry Bombs to Error screen
      KULRICE-12018KRAD Library Table of sample extends framed content area
      KULRICE-6777KNS Conversion portlet screens failing
      KULRICE-8219Services in KIM referencing KRAD dictionary validation service
    • Rice Module:
      KNS
    • KRAD Feature Area:
      Data Dictionary
    • Application Requirement:
      KFS
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required

      Description

      As part of the linked issue, a KNS version of DocumentRuleBase was created so that extenders would get the correct DictionaryValidationService impl. Along the way I noticed that a number of KIM rule classes are extending the KRAD version of DocumentRuleBase. This should be corrected by switching them to extend the KNS class.

        Issue Links

          Activity

          Hide
          Shannon Hess added a comment - - edited

          Steve,

          I was getting a nullPointerException when submitting a role due the endpoint being null when the following code was hit in KimDocumentMemberRule.java

                  Endpoint endpoint = serviceBus.getEndpoint(QName.valueOf(document.getKimType().getServiceName()));
                  String endpointVersion = endpoint.getServiceConfiguration().getServiceVersion();
                  boolean versionOk = false;
                  versionOk = VersionHelper.compareVersion(endpointVersion, CoreConstants.Versions.VERSION_2_1_2)!=-1? true:false;
                  RoleTypeService rts = (RoleTypeService)endpoint.getService();
          

          I changed to the following to fix the issue -

                  Endpoint endpoint = serviceBus.getEndpoint(QName.valueOf(document.getKimType().getServiceName()));
                  boolean versionOk = false;
                  RoleTypeService rts = null;
                  if   (endpoint != null) {
                      String endpointVersion = endpoint.getServiceConfiguration().getServiceVersion();
                      versionOk = VersionHelper.compareVersion(endpointVersion, CoreConstants.Versions.VERSION_2_1_2)!=-1? true:false;
                      rts = (RoleTypeService)endpoint.getService();
                  }
          

          If you don't see any issues with my fix, I can go ahead and commit that change so others don't have the same problem.

          Thanks,
          Shannon

          Show
          Shannon Hess added a comment - - edited Steve, I was getting a nullPointerException when submitting a role due the endpoint being null when the following code was hit in KimDocumentMemberRule.java Endpoint endpoint = serviceBus.getEndpoint(QName.valueOf(document.getKimType().getServiceName())); String endpointVersion = endpoint.getServiceConfiguration().getServiceVersion(); boolean versionOk = false ; versionOk = VersionHelper.compareVersion(endpointVersion, CoreConstants.Versions.VERSION_2_1_2)!=-1? true : false ; RoleTypeService rts = (RoleTypeService)endpoint.getService(); I changed to the following to fix the issue - Endpoint endpoint = serviceBus.getEndpoint(QName.valueOf(document.getKimType().getServiceName())); boolean versionOk = false ; RoleTypeService rts = null ; if (endpoint != null ) { String endpointVersion = endpoint.getServiceConfiguration().getServiceVersion(); versionOk = VersionHelper.compareVersion(endpointVersion, CoreConstants.Versions.VERSION_2_1_2)!=-1? true : false ; rts = (RoleTypeService)endpoint.getService(); } If you don't see any issues with my fix, I can go ahead and commit that change so others don't have the same problem. Thanks, Shannon
          Hide
          Jessica Coltrin (Inactive) added a comment -

          closing all 2.1.2 Jiras

          Show
          Jessica Coltrin (Inactive) added a comment - closing all 2.1.2 Jiras

            People

            • Assignee:
              Steve Manning (Inactive)
              Reporter:
              Peter Giles (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Structure Helper Panel