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

AFT Failure DemoTravelPerDiemLookUpAft Id values entered before lightbox search missing after return

    Details

    • Type: Bug Fix
    • Status: Closed
    • Priority: Critical
    • Resolution: Cannot Reproduce
    • Affects Version/s: 2.5
    • Fix Version/s: 2.5
    • Component/s: Development, Regression
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Sprint:
      Core 2.5.0-m5 Sprint 2, Core 2.5.0-m5 Sprint 2b
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required
    • Code Review Status:
      Not Required

      Description

      AFT Step: Open /kr-krad/kradsampleapp?viewId=KradSampleAppHome
      AFT Step: Click Travel Per Diem Lookup link.
      AFT Step: Type into lookupCriteria[travelPerDiemExpenseId] the text: 1
      AFT Step: Type into lookupCriteria[travelAuthorizationDocumentId] the text: 1
      AFT Step: Select Colorado from lookupCriteria[travelDestinationId]
      AFT Step: Click Search button.
      AFT Step: Click return value link.
      AFT Step: By.name: lookupCriteria[travelAuthorizationDocumentId] value class org.kuali.rice.krad.demo.travel.application.DemoTravelPerDiemLookUpAft Modal dialog present: This page is asking you to confirm that you want to leave - data you have entered may not be saved.

      Abbreviated test name: DemoTravelPerDiemLookUpAft.testTravelPerDiemLookUpNav
      Full test name: org.kuali.rice.krad.demo.travel.application.DemoTravelPerDiemLookUpAft.testTravelPerDiemLookUpNav
      Test results url: https://ci.kuali.org/view/rice/view/list/job/rice-2.5-test-functional-env14-jenkins-krad-sampleapp/lastCompletedBuild/testReport/org.kuali.rice.krad.demo.travel.application/DemoTravelPerDiemLookUpAft/testTravelPerDiemLookUpNav/

      Abbreviated test name: DemoTravelPerDiemLookUpAft.testTravelPerDiemLookUpBookmark
      Full test name: org.kuali.rice.krad.demo.travel.application.DemoTravelPerDiemLookUpAft.testTravelPerDiemLookUpBookmark
      Test results url: https://ci.kuali.org/view/rice/view/list/job/rice-2.5-test-functional-env14-jenkins-krad-sampleapp/lastCompletedBuild/testReport/org.kuali.rice.krad.demo.travel.application/DemoTravelPerDiemLookUpAft/testTravelPerDiemLookUpBookmark/

        Attachments

          Issue Links

            Activity

            Hide
            kbtaylor Kristina Taylor (Inactive) added a comment -

            Even though the AFT is not failing in 2.4.x, fix this here since it looks like this is where the problem is happening. Erik confirmed that this AFT was not checking for that in 2.4.x.

            Show
            kbtaylor Kristina Taylor (Inactive) added a comment - Even though the AFT is not failing in 2.4.x, fix this here since it looks like this is where the problem is happening. Erik confirmed that this AFT was not checking for that in 2.4.x.
            Hide
            sonam Sona Sona (Inactive) added a comment - - edited

            The is the code in InputFieldBase which is causing the quickfinder to not be displayed in 2.4.2. This was added as part of Performance Improvement (KULRICE-12690)

            BindingInfo bindingInfo = getBindingInfo();
                    String bindingPath = bindingInfo == null ? null : bindingInfo.getBindingPath();
                    if (bindingPath != null) {
                        if (this.enableAutoDirectInquiry && getInquiry() == null && isReadOnly()) {
                            Object propertyValue = ObjectPropertyUtils.getPropertyValue(model, bindingPath);
            
                            if (propertyValue != null && !(propertyValue instanceof String) &&
                                    KRADServiceLocator.getDataObjectService().supports(propertyValue.getClass())) {
                                setInquiry(ComponentFactory.getInquiry());
                            }
                        }
                        
                        if (this.enableAutoQuickfinder && getQuickfinder() == null) {
                            Object propertyValue = ObjectPropertyUtils.getPropertyValue(model, bindingPath);
            
                            if (propertyValue != null && !(propertyValue instanceof String) &&
                                    KRADServiceLocator.getDataObjectService().supports(propertyValue.getClass())) {
                                setQuickfinder(ComponentFactory.getQuickFinder());
                            }
                        }
                    }
            
            

            In 2.4.1 it used to be

            if (this.enableAutoQuickfinder && (getQuickfinder() == null)) {
                        buildAutomaticQuickfinder(model);
                    }
            
            

            I see the advantage of the changes for performance, but I am not sure I understand why the propertyValue is being looked at before adding quickFinder? I thought that the quickFinder widget will be used to find the value in the first place, so if we use propertyValue for rendering quickFinder then it causes a chicken and egg situation?

            QuickFinder needs to be added to any property that has a relationship specified unless explicitly turned off (enableAutoQuickfinder). In the above case the quickFinder will never be set as the initial value of lookupCriteria fields is always null.

            Will this be a more appropriate fix:

            Set enableAutoQuickfinder in InputFieldBase to 'false' by default. Then when constructing inputFields for any property that has a relationship, set enableAutoQuickFinder to true and not use the property value.

            Show
            sonam Sona Sona (Inactive) added a comment - - edited The is the code in InputFieldBase which is causing the quickfinder to not be displayed in 2.4.2. This was added as part of Performance Improvement ( KULRICE-12690 ) BindingInfo bindingInfo = getBindingInfo(); String bindingPath = bindingInfo == null ? null : bindingInfo.getBindingPath(); if (bindingPath != null ) { if ( this .enableAutoDirectInquiry && getInquiry() == null && isReadOnly()) { Object propertyValue = ObjectPropertyUtils.getPropertyValue(model, bindingPath); if (propertyValue != null && !(propertyValue instanceof String ) && KRADServiceLocator.getDataObjectService().supports(propertyValue.getClass())) { setInquiry(ComponentFactory.getInquiry()); } } if ( this .enableAutoQuickfinder && getQuickfinder() == null ) { Object propertyValue = ObjectPropertyUtils.getPropertyValue(model, bindingPath); if (propertyValue != null && !(propertyValue instanceof String ) && KRADServiceLocator.getDataObjectService().supports(propertyValue.getClass())) { setQuickfinder(ComponentFactory.getQuickFinder()); } } } In 2.4.1 it used to be if ( this .enableAutoQuickfinder && (getQuickfinder() == null )) { buildAutomaticQuickfinder(model); } I see the advantage of the changes for performance, but I am not sure I understand why the propertyValue is being looked at before adding quickFinder? I thought that the quickFinder widget will be used to find the value in the first place, so if we use propertyValue for rendering quickFinder then it causes a chicken and egg situation? QuickFinder needs to be added to any property that has a relationship specified unless explicitly turned off (enableAutoQuickfinder). In the above case the quickFinder will never be set as the initial value of lookupCriteria fields is always null. Will this be a more appropriate fix: Set enableAutoQuickfinder in InputFieldBase to 'false' by default. Then when constructing inputFields for any property that has a relationship, set enableAutoQuickFinder to true and not use the property value.
            Hide
            kbtaylor Kristina Taylor (Inactive) added a comment -

            I'm not sure why Mark chose to use the propertyValue in this case. That style does not support data legacy as the old model did, so I'm worried this will break quickfinders for anyone still using OJB. While it doesn't make sense to generate the quickfinder especially when there are other controls like dropdowns, you are right that this setting is supposed to support KNS equivalency where the quickfinder was turned on by default. So unfortunately, I don't think we can set enableAutoQuickfinder to false by default. I will need to talk to Jerry about this one. Assign this Jira to me and I will investigate what your analysis found. Thanks!

            Show
            kbtaylor Kristina Taylor (Inactive) added a comment - I'm not sure why Mark chose to use the propertyValue in this case. That style does not support data legacy as the old model did, so I'm worried this will break quickfinders for anyone still using OJB. While it doesn't make sense to generate the quickfinder especially when there are other controls like dropdowns, you are right that this setting is supposed to support KNS equivalency where the quickfinder was turned on by default. So unfortunately, I don't think we can set enableAutoQuickfinder to false by default. I will need to talk to Jerry about this one. Assign this Jira to me and I will investigate what your analysis found. Thanks!
            Hide
            sonam Sona Sona (Inactive) added a comment -

            Assigning it to Kristina to check with Jerry.

            Show
            sonam Sona Sona (Inactive) added a comment - Assigning it to Kristina to check with Jerry.
            Hide
            kbtaylor Kristina Taylor (Inactive) added a comment -

            This most likely has been fixed via KULRICE-12690 but the test results need to be verified once they run.

            Show
            kbtaylor Kristina Taylor (Inactive) added a comment - This most likely has been fixed via KULRICE-12690 but the test results need to be verified once they run.
            Hide
            kbtaylor Kristina Taylor (Inactive) added a comment -

            The problems happening in 2.4 have been resolved and that portion of this has been fixed. However, they are still failing and are now related to the errors seen in KULRICE-12737. I will update the description and links to reflect that.

            Show
            kbtaylor Kristina Taylor (Inactive) added a comment - The problems happening in 2.4 have been resolved and that portion of this has been fixed. However, they are still failing and are now related to the errors seen in KULRICE-12737 . I will update the description and links to reflect that.
            Hide
            kbtaylor Kristina Taylor (Inactive) added a comment -

            This has been fixed via KULRICE-12737 but is still reporting a different error.

            Show
            kbtaylor Kristina Taylor (Inactive) added a comment - This has been fixed via KULRICE-12737 but is still reporting a different error.
            Hide
            jruch Jeff Ruch added a comment -

            Runs locally without failure. Checked ci and it now shows as fixed.

            Show
            jruch Jeff Ruch added a comment - Runs locally without failure. Checked ci and it now shows as fixed.

              People

              • Assignee:
                jruch Jeff Ruch
                Reporter:
                eghm-kuali-m Erik Meade
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 4 hours Original Estimate - 4 hours
                  4h
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 7 hours
                  7h