Details
-
Type:
Bug Fix
-
Status: Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 2.4.2
-
Component/s: Development
-
Security Level: Public (Public: Anyone can view)
-
Labels:None
-
Rice Module:KRAD
-
Application Requirement:KC
-
KAI Review Status:Not Required
-
KTI Review Status:Not Required
-
Code Review Status:Not Required
-
Include in Release Notes?:Yes
Description
When you have a field group in a collection with server side paging turned on, attempting to retrieve a page causes an infinite loop:
at org.kuali.rice.krad.util.KRADUtils.getSimpleFieldValue(KRADUtils.java:1328)
at org.kuali.rice.krad.util.KRADUtils.getSimpleFieldValue(KRADUtils.java:1328)
at org.kuali.rice.krad.util.KRADUtils.getSimpleFieldValue(KRADUtils.java:1328)
at org.kuali.rice.krad.util.KRADUtils.getSimpleFieldValue(KRADUtils.java:1328)
at org.kuali.rice.krad.util.KRADUtils.getSimpleFieldValue(KRADUtils.java:1328)
at org.kuali.rice.krad.util.KRADUtils.getSimpleFieldValue(KRADUtils.java:1328)
at org.kuali.rice.krad.util.KRADUtils.getSimpleFieldValue(KRADUtils.java:1328)
at org.kuali.rice.krad.util.KRADUtils.getSimpleFieldValue(KRADUtils.java:1328)
This is because the code here is passing in the same field on the recursive call:
} else if (field instanceof FieldGroup
&& ((FieldGroup) field).getGroup() != null
&& ((FieldGroup) field).getGroup().getItems() != null
&& !((FieldGroup) field).getGroup().getItems().isEmpty()) {
// using first components type for assumed value
Component firstComponent = ((FieldGroup) field).getGroup().getItems().get(0);
// check first component type to extract value
if (firstComponent != null && firstComponent instanceof Field)
It should pass in firstComponent like this:
// check first component type to extract value
if (firstComponent != null && firstComponent instanceof Field)