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

Case/When statement does not execute RequiredConstraint (SimpleConstraint) DictionaryValidatoinServiceImpl


    • Type: Bug Fix Bug Fix
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.0-m5
    • Fix Version/s: 2.0.0-m7, 2.0
    • Component/s: Data Dictionary
    • Security Level: Public (Public: Anyone can view)
    • Labels:
    • Similar issues:
      KULRICE-5553Case/When not implemented properly
      KULRICE-7699AttributeDefinition is missing SimpleConstraint
      KULRICE-8916Improve SimpleConstraint to support both inclusive and exclusive min/max
      KULRICE-12344Issue with IdentityArchiveServiceImpl when entity does not have principal
      KULRICE-12708States are not taken into account when required indicator is set
      KULRICE-3045User lookup workaround for case when name field is not rendered
      KULRICE-12414Responsibility actions are not saved in all cases when editing roles
      KULRICE-6411Character Encoding Statement Needed
      KULRICE-1296Add an ordering component to the unit test annotations for statements and files
      KULRICE-4524Manual execution of createproject.groovy for 1.0.3
    • Rice Module:
    • Application Requirement:
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required


      Created a case/when constraint that is supposed to add a RequiredConstraint (really a SimpleConstraint) to be executed but the RequiredConstraint never gets executed.

      Running the debugger the case/when executes properly and the RequiredConstraint (actually a SimpleConstraint with required=true) successfully gets added to the list of additionalConstraints and then added to the constraintQueue but it does not get executed by the ExistenceConstraintProcessor.java

      I think it is in this piece of code in the DictionaryValidationServiceImpl.java.
      // If this constraint is not one that this process handles, then skip and add to the queue for the next processor;
      // obviously this would be redundant (we're only looking at constraints that this processor can process) except that
      // the previous processor might have stuck a new constraint (or constraints) on the queue
      if (!constraintType.isInstance(constraint))

      { result.addSkipped(attributeValueReader, processor.getName()); additionalConstraints.add(constraint); continue; }

      I think it is because in the debugger the constraintType is ExistenceConstraint.class but SimpleConstraint.java does not implement ExistenceConstraint.java

        Issue Links



            • Assignee:
              Will Gomes (Inactive)
              Norm Wright
            • Votes:
              0 Vote for this issue
              1 Start watching this issue


              • Created:

                Structure Helper Panel