java.lang.IllegalArgumentException: Criteria values cannot be empty.

Kuali JIRA | David Elyea | 2 years ago
  1. 0

    From the rice.collab list (https://groups.google.com/a/kuali.org/forum/#!topic/rice.collab/inq_SKgNI0o): {quote} I found a potential bug in Rice 2.4 with the UIDocumentServiceImpl.loadRoleMembers() method where the display of a Role will error out with a stack trace. I looked for an existing JIRA or to see if this had been fixed in Rice 2.5 but I couldn’t find anything in my searches. It may be a fringe case, but the following stack trace is thrown when a role is displayed that has no active members but has at least one inactive member: http://pastebin.com/GKC7yrUy The crux of it is that the PredicateFactory implementation requires that a valid non-empty list be passed in and in this particular case the ‘active role members’ list is empty while the total role members list is not. Does anyone know if this has been fixed already or if there is a JIRA already posted for it? I know the KIM UI is going to undergo a lot of changes with the conversion to KRAD but this method may hang around as it’s really about constructing the Role object used by the UI layer. If I don’t hear back from anyone I’ll just go ahead and add a new JIRA. Thanks! David {quote} Here's the relevant part of the stack trace: {code} java.lang.IllegalArgumentException: Criteria values cannot be empty. at org.kuali.rice.core.api.criteria.CriteriaSupportUtils.validateValuesForMultiValuedPredicate(CriteriaSupportUtils.java:262) at org.kuali.rice.core.api.criteria.InPredicate.<init>(InPredicate.java:93) at org.kuali.rice.core.api.criteria.PredicateFactory.in(PredicateFactory.java:276) at org.kuali.rice.kim.service.impl.UiDocumentServiceImpl.loadRoleMembers(UiDocumentServiceImpl.java:1801) at org.kuali.rice.kim.service.impl.UiDocumentServiceImpl.loadRoleDoc(UiDocumentServiceImpl.java:1646) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198) at com.sun.proxy.$Proxy445.loadRoleDoc(Unknown Source) at org.kuali.rice.kim.web.struts.action.IdentityManagementRoleInquiry.loadKimObject(IdentityManagementRoleInquiry.java:61) ... {code}

    Kuali JIRA | 2 years ago | David Elyea
    java.lang.IllegalArgumentException: Criteria values cannot be empty.
  2. 0

    From the rice.collab list (https://groups.google.com/a/kuali.org/forum/#!topic/rice.collab/inq_SKgNI0o): {quote} I found a potential bug in Rice 2.4 with the UIDocumentServiceImpl.loadRoleMembers() method where the display of a Role will error out with a stack trace. I looked for an existing JIRA or to see if this had been fixed in Rice 2.5 but I couldn’t find anything in my searches. It may be a fringe case, but the following stack trace is thrown when a role is displayed that has no active members but has at least one inactive member: http://pastebin.com/GKC7yrUy The crux of it is that the PredicateFactory implementation requires that a valid non-empty list be passed in and in this particular case the ‘active role members’ list is empty while the total role members list is not. Does anyone know if this has been fixed already or if there is a JIRA already posted for it? I know the KIM UI is going to undergo a lot of changes with the conversion to KRAD but this method may hang around as it’s really about constructing the Role object used by the UI layer. If I don’t hear back from anyone I’ll just go ahead and add a new JIRA. Thanks! David {quote} Here's the relevant part of the stack trace: {code} java.lang.IllegalArgumentException: Criteria values cannot be empty. at org.kuali.rice.core.api.criteria.CriteriaSupportUtils.validateValuesForMultiValuedPredicate(CriteriaSupportUtils.java:262) at org.kuali.rice.core.api.criteria.InPredicate.<init>(InPredicate.java:93) at org.kuali.rice.core.api.criteria.PredicateFactory.in(PredicateFactory.java:276) at org.kuali.rice.kim.service.impl.UiDocumentServiceImpl.loadRoleMembers(UiDocumentServiceImpl.java:1801) at org.kuali.rice.kim.service.impl.UiDocumentServiceImpl.loadRoleDoc(UiDocumentServiceImpl.java:1646) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198) at com.sun.proxy.$Proxy445.loadRoleDoc(Unknown Source) at org.kuali.rice.kim.web.struts.action.IdentityManagementRoleInquiry.loadKimObject(IdentityManagementRoleInquiry.java:61) ... {code}

    Kuali JIRA | 2 years ago | David Elyea
    java.lang.IllegalArgumentException: Criteria values cannot be empty.
  3. 0

    Cause of error: In loadRoleMembers method populating a list of principals of type EntityDefault throws IllegalArgumentException when roleMemberPrincipalIds list is empty . Fix: The fix was to check if roleMemberPrincipalIds is empty before populating the values for list of principals. STE: *****************Stack Trace-Only shown when not in production***************** java.lang.IllegalArgumentException: Criteria values cannot be empty. at org.kuali.rice.core.api.criteria.CriteriaSupportUtils.validateValuesForMultiValuedPredicate(CriteriaSupportUtils.java:262) at org.kuali.rice.core.api.criteria.InPredicate.(InPredicate.java:93) at org.kuali.rice.core.api.criteria.PredicateFactory.in(PredicateFactory.java:276) at org.kuali.rice.kim.service.impl.UiDocumentServiceImpl.loadRoleMembers(UiDocumentServiceImpl.java:1833) at org.kuali.rice.kim.service.impl.UiDocumentServiceImpl.loadRoleDoc(UiDocumentServiceImpl.java:1677) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198) at com.sun.proxy.$Proxy161.loadRoleDoc(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198) at com.sun.proxy.$Proxy162.loadRoleDoc(Unknown Source) at org.kuali.rice.kim.web.struts.action.IdentityManagementRoleInquiry.loadKimObject(IdentityManagementRoleInquiry.java:61) at org.kuali.rice.kim.web.struts.action.IdentityManagementBaseInquiryAction.execute(IdentityManagementBaseInquiryAction.java:60) at org.kuali.rice.kim.web.struts.action.IdentityManagementRoleInquiry.execute(IdentityManagementRoleInquiry.java:74) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor$1.doInTransaction(KualiRequestProcessor.java:506) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:131) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.processActionPerform(KualiRequestProcessor.java:502) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.processFormActionAndForward(KualiRequestProcessor.java:231) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.strutsProcess(KualiRequestProcessor.java:218) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.process(KualiRequestProcessor.java:97) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) at org.kuali.rice.kns.web.struts.action.KualiActionServlet.process(KualiActionServlet.java:202) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at edu.iu.uis.eden.web.IUUserAccessFilter.doFilter(IUUserAccessFilter.java:88) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.kew.web.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:78) at org.kuali.rice.kew.web.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:62) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.krad.web.filter.UserLoginFilter.doFilter(UserLoginFilter.java:89) at org.kuali.rice.krad.web.filter.UserLoginFilter.doFilter(UserLoginFilter.java:77) at edu.iu.uis.rice.web.IUUserLoginFilter.doFilter(IUUserLoginFilter.java:134) at edu.iu.uis.rice.web.IUUserLoginFilter.doFilter(IUUserLoginFilter.java:74) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.krad.web.filter.BootstrapFilterChain.doFilter(BootstrapFilter.java:327) at edu.iu.uis.cas.filter.CASFilter.redirectOrForwardChain(CASFilter.java:455) at edu.iu.uis.cas.filter.CASFilter.doFilterUnsynchronized(CASFilter.java:381) at edu.iu.uis.cas.filter.CASFilter.doFilter(CASFilter.java:360) at org.kuali.rice.krad.web.filter.BootstrapFilterChain.doFilter(BootstrapFilter.java:320) at org.kuali.rice.krad.web.filter.BootstrapFilter.doFilter(BootstrapFilter.java:199) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.core.web.Log4JContextClearingFilter.doFilterInternal(Log4JContextClearingFilter.java:37) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.krad.web.filter.HideWebInfFilter.doFilter(HideWebInfFilter.java:68) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.springframework.web.filter.AbstractRequestLoggingFilter.doFilterInternal(AbstractRequestLoggingFilter.java:213) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at edu.iu.uis.rice.web.IUTransactionFilter.doFilter(IUTransactionFilter.java:58) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at edu.iu.uis.rice.web.WhitespaceFilter.doFilter(WhitespaceFilter.java:34) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at edu.iu.uis.rice.web.PortalPolicyFilter.doFilter(PortalPolicyFilter.java:30) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722)

    Kuali JIRA | 3 years ago | Shravya Saripella
    java.lang.IllegalArgumentException: Criteria values cannot be empty.
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    When a role does not have any principals assigned to it the role document will blow up with an exception similar to the following: {noformat} java.lang.IllegalArgumentException: Criteria values cannot be empty. at org.kuali.rice.core.api.criteria.CriteriaSupportUtils.validateValuesForMultiValuedPredicate(CriteriaSupportUtils.java:264) at org.kuali.rice.core.api.criteria.InPredicate.(InPredicate.java:93) at org.kuali.rice.core.api.criteria.PredicateFactory.in(PredicateFactory.java:276) at org.kuali.rice.kim.service.impl.UiDocumentServiceImpl.loadRoleMembers(UiDocumentServiceImpl.java:1832) at org.kuali.rice.kim.service.impl.UiDocumentServiceImpl.loadRoleDoc(UiDocumentServiceImpl.java:1677) at sun.reflect.GeneratedMethodAccessor900.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198) at com.sun.proxy.$Proxy175.loadRoleDoc(Unknown Source) at sun.reflect.GeneratedMethodAccessor900.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198) at com.sun.proxy.$Proxy176.loadRoleDoc(Unknown Source) at org.kuali.rice.kim.web.struts.action.IdentityManagementRoleInquiry.loadKimObject(IdentityManagementRoleInquiry.java:61) at org.kuali.rice.kim.web.struts.action.IdentityManagementBaseInquiryAction.execute(IdentityManagementBaseInquiryAction.java:60) at org.kuali.rice.kim.web.struts.action.IdentityManagementRoleInquiry.execute(IdentityManagementRoleInquiry.java:74) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor$1.doInTransaction(KualiRequestProcessor.java:506) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:131) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.processActionPerform(KualiRequestProcessor.java:502) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.processFormActionAndForward(KualiRequestProcessor.java:231) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.strutsProcess(KualiRequestProcessor.java:218) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.process(KualiRequestProcessor.java:97) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) at org.kuali.rice.kns.web.struts.action.KualiActionServlet.process(KualiActionServlet.java:202) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) at javax.servlet.http.HttpServlet.service(HttpServlet.java:620) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at edu.iu.uis.eden.web.IUUserAccessFilter.doFilter(IUUserAccessFilter.java:88) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.kuali.rice.kew.web.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:78) at org.kuali.rice.kew.web.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:62) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.kuali.rice.krad.web.filter.UserLoginFilter.doFilter(UserLoginFilter.java:89) at org.kuali.rice.krad.web.filter.UserLoginFilter.doFilter(UserLoginFilter.java:77) at edu.iu.uis.rice.web.IUUserLoginFilter.doFilter(IUUserLoginFilter.java:134) at edu.iu.uis.rice.web.IUUserLoginFilter.doFilter(IUUserLoginFilter.java:74) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.kuali.rice.krad.web.filter.BootstrapFilterChain.doFilter(BootstrapFilter.java:327) at edu.iu.uis.cas.filter.CASFilter.redirectOrForwardChain(CASFilter.java:455) at edu.iu.uis.cas.filter.CASFilter.doFilterUnsynchronized(CASFilter.java:381) at edu.iu.uis.cas.filter.CASFilter.doFilter(CASFilter.java:360) at org.kuali.rice.krad.web.filter.BootstrapFilterChain.doFilter(BootstrapFilter.java:320) at org.kuali.rice.krad.web.filter.BootstrapFilter.doFilter(BootstrapFilter.java:199) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.kuali.rice.core.web.Log4JContextClearingFilter.doFilterInternal(Log4JContextClearingFilter.java:37) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.kuali.rice.krad.web.filter.HideWebInfFilter.doFilter(HideWebInfFilter.java:68) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.springframework.web.filter.AbstractRequestLoggingFilter.doFilterInternal(AbstractRequestLoggingFilter.java:213) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at edu.iu.uis.rice.web.IUTransactionFilter.doFilter(IUTransactionFilter.java:58) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at edu.iu.uis.rice.web.WhitespaceFilter.doFilter(WhitespaceFilter.java:34) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at edu.iu.uis.rice.web.PortalPolicyFilter.doFilter(PortalPolicyFilter.java:30) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:218) at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:333) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) {noformat} This happens because the code used to do a check on the list of principal IDs that are found as members on the role to make sure it is not empty before calling a service to fetch the principals from the database. The fix here is to re-add that check to prevent this exception from happening.

    Kuali JIRA | 3 years ago | James Bennett
    java.lang.IllegalArgumentException: Criteria values cannot be empty.
  6. 0

    Cause of error: In loadRoleMembers method populating a list of principals of type EntityDefault throws IllegalArgumentException when roleMemberPrincipalIds list is empty . Fix: The fix was to check if roleMemberPrincipalIds is empty before populating the values for list of principals. STE: *****************Stack Trace-Only shown when not in production***************** java.lang.IllegalArgumentException: Criteria values cannot be empty. at org.kuali.rice.core.api.criteria.CriteriaSupportUtils.validateValuesForMultiValuedPredicate(CriteriaSupportUtils.java:262) at org.kuali.rice.core.api.criteria.InPredicate.(InPredicate.java:93) at org.kuali.rice.core.api.criteria.PredicateFactory.in(PredicateFactory.java:276) at org.kuali.rice.kim.service.impl.UiDocumentServiceImpl.loadRoleMembers(UiDocumentServiceImpl.java:1833) at org.kuali.rice.kim.service.impl.UiDocumentServiceImpl.loadRoleDoc(UiDocumentServiceImpl.java:1677) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198) at com.sun.proxy.$Proxy161.loadRoleDoc(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198) at com.sun.proxy.$Proxy162.loadRoleDoc(Unknown Source) at org.kuali.rice.kim.web.struts.action.IdentityManagementRoleInquiry.loadKimObject(IdentityManagementRoleInquiry.java:61) at org.kuali.rice.kim.web.struts.action.IdentityManagementBaseInquiryAction.execute(IdentityManagementBaseInquiryAction.java:60) at org.kuali.rice.kim.web.struts.action.IdentityManagementRoleInquiry.execute(IdentityManagementRoleInquiry.java:74) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor$1.doInTransaction(KualiRequestProcessor.java:506) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:131) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.processActionPerform(KualiRequestProcessor.java:502) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.processFormActionAndForward(KualiRequestProcessor.java:231) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.strutsProcess(KualiRequestProcessor.java:218) at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.process(KualiRequestProcessor.java:97) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) at org.kuali.rice.kns.web.struts.action.KualiActionServlet.process(KualiActionServlet.java:202) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at edu.iu.uis.eden.web.IUUserAccessFilter.doFilter(IUUserAccessFilter.java:88) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.kew.web.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:78) at org.kuali.rice.kew.web.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:62) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.krad.web.filter.UserLoginFilter.doFilter(UserLoginFilter.java:89) at org.kuali.rice.krad.web.filter.UserLoginFilter.doFilter(UserLoginFilter.java:77) at edu.iu.uis.rice.web.IUUserLoginFilter.doFilter(IUUserLoginFilter.java:134) at edu.iu.uis.rice.web.IUUserLoginFilter.doFilter(IUUserLoginFilter.java:74) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.krad.web.filter.BootstrapFilterChain.doFilter(BootstrapFilter.java:327) at edu.iu.uis.cas.filter.CASFilter.redirectOrForwardChain(CASFilter.java:455) at edu.iu.uis.cas.filter.CASFilter.doFilterUnsynchronized(CASFilter.java:381) at edu.iu.uis.cas.filter.CASFilter.doFilter(CASFilter.java:360) at org.kuali.rice.krad.web.filter.BootstrapFilterChain.doFilter(BootstrapFilter.java:320) at org.kuali.rice.krad.web.filter.BootstrapFilter.doFilter(BootstrapFilter.java:199) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.core.web.Log4JContextClearingFilter.doFilterInternal(Log4JContextClearingFilter.java:37) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kuali.rice.krad.web.filter.HideWebInfFilter.doFilter(HideWebInfFilter.java:68) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.springframework.web.filter.AbstractRequestLoggingFilter.doFilterInternal(AbstractRequestLoggingFilter.java:213) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at edu.iu.uis.rice.web.IUTransactionFilter.doFilter(IUTransactionFilter.java:58) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at edu.iu.uis.rice.web.WhitespaceFilter.doFilter(WhitespaceFilter.java:34) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at edu.iu.uis.rice.web.PortalPolicyFilter.doFilter(PortalPolicyFilter.java:30) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722)

    Kuali JIRA | 3 years ago | Shravya Saripella
    java.lang.IllegalArgumentException: Criteria values cannot be empty.

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.lang.IllegalArgumentException

      Criteria values cannot be empty.

      at org.kuali.rice.core.api.criteria.CriteriaSupportUtils.validateValuesForMultiValuedPredicate()
    2. org.kuali.rice
      UiDocumentServiceImpl.loadRoleDoc
      1. org.kuali.rice.core.api.criteria.CriteriaSupportUtils.validateValuesForMultiValuedPredicate(CriteriaSupportUtils.java:262)
      2. org.kuali.rice.core.api.criteria.InPredicate.<init>(InPredicate.java:93)
      3. org.kuali.rice.core.api.criteria.PredicateFactory.in(PredicateFactory.java:276)
      4. org.kuali.rice.kim.service.impl.UiDocumentServiceImpl.loadRoleMembers(UiDocumentServiceImpl.java:1801)
      5. org.kuali.rice.kim.service.impl.UiDocumentServiceImpl.loadRoleDoc(UiDocumentServiceImpl.java:1646)
      5 frames
    3. Java RT
      Method.invoke
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      4. java.lang.reflect.Method.invoke(Method.java:606)
      4 frames
    4. Spring AOP
      JdkDynamicAopProxy.invoke
      1. org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
      2. org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
      2 frames
    5. com.sun.proxy
      $Proxy445.loadRoleDoc
      1. com.sun.proxy.$Proxy445.loadRoleDoc(Unknown Source)
      1 frame
    6. org.kuali.rice
      IdentityManagementRoleInquiry.loadKimObject
      1. org.kuali.rice.kim.web.struts.action.IdentityManagementRoleInquiry.loadKimObject(IdentityManagementRoleInquiry.java:61)
      1 frame