org.kuali.student.r2.common.exceptions.InvalidParameterException: courseWaitListId can not be null

Kuali JIRA | Daniil Yakimovich | 3 years ago
tip
Click on the to mark the solution that helps you, Samebug will learn from it.
As a community member, you’ll be rewarded for you help.
  1. 0

    Notice: the CO must not have waitlist in DB (that happens for UMD-Enr). 1. Go to Manage Course Offerings. 2. Select that CO and click manage. 3. Edit any of its AO. 4. Click on update in the right bottom corner. It will result in something like "Exception trying to invoke action ROUTEfor document: 3036" on UI and org.kuali.student.r2.common.exceptions.InvalidParameterException: courseWaitListId can not be null at org.kuali.student.enrollment.class2.coursewaitlist.service.impl.CourseWaitListServiceImpl.updateCourseWaitList(CourseWaitListServiceImpl.java:93) 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:318) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at com.sun.proxy.$Proxy286.updateCourseWaitList(Unknown Source) at org.kuali.student.enrollment.class2.courseoffering.service.facade.CourseOfferingServiceFacadeImpl.createColocatedWaitList(CourseOfferingServiceFacadeImpl.java:659) at org.kuali.student.enrollment.class2.courseoffering.service.impl.ActivityOfferingMaintainableImpl.saveDataObject(ActivityOfferingMaintainableImpl.java:202) on the console Gordon Spinks suspected that in /ks-enroll-impl/src/main/java/org/kuali/student/enrollment/class2/courseoffering/service/facade/CourseOfferingServiceFacadeImpl.java line 659 courseWaitListInfo = getCourseWaitListService().updateCourseWaitList(courseWaitListInfo.getId(), courseWaitListInfo, context); was misplaced and put outside of the if above, causing it to update waitlist every time, even when it does not exist. So the attempt was made to put it inside if, see the patch. This problem is related to UMD-Enr https://issues.umd.edu/browse/UMDENR-557

    Kuali JIRA | 3 years ago | Daniil Yakimovich
    org.kuali.student.r2.common.exceptions.InvalidParameterException: courseWaitListId can not be null
  2. 0

    Notice: the CO must not have waitlist in DB (that happens for UMD-Enr). 1. Go to Manage Course Offerings. 2. Select that CO and click manage. 3. Edit any of its AO. 4. Click on update in the right bottom corner. It will result in something like "Exception trying to invoke action ROUTEfor document: 3036" on UI and org.kuali.student.r2.common.exceptions.InvalidParameterException: courseWaitListId can not be null at org.kuali.student.enrollment.class2.coursewaitlist.service.impl.CourseWaitListServiceImpl.updateCourseWaitList(CourseWaitListServiceImpl.java:93) 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:318) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at com.sun.proxy.$Proxy286.updateCourseWaitList(Unknown Source) at org.kuali.student.enrollment.class2.courseoffering.service.facade.CourseOfferingServiceFacadeImpl.createColocatedWaitList(CourseOfferingServiceFacadeImpl.java:659) at org.kuali.student.enrollment.class2.courseoffering.service.impl.ActivityOfferingMaintainableImpl.saveDataObject(ActivityOfferingMaintainableImpl.java:202) on the console Gordon Spinks suspected that in /ks-enroll-impl/src/main/java/org/kuali/student/enrollment/class2/courseoffering/service/facade/CourseOfferingServiceFacadeImpl.java line 659 courseWaitListInfo = getCourseWaitListService().updateCourseWaitList(courseWaitListInfo.getId(), courseWaitListInfo, context); was misplaced and put outside of the if above, causing it to update waitlist every time, even when it does not exist. So the attempt was made to put it inside if, see the patch. This problem is related to UMD-Enr https://issues.umd.edu/browse/UMDENR-557

    Kuali JIRA | 3 years ago | Daniil Yakimovich
    org.kuali.student.r2.common.exceptions.InvalidParameterException: courseWaitListId can not be null

    Root Cause Analysis

    1. org.kuali.student.r2.common.exceptions.InvalidParameterException

      courseWaitListId can not be null

      at org.kuali.student.enrollment.class2.coursewaitlist.service.impl.CourseWaitListServiceImpl.updateCourseWaitList()
    2. org.kuali.student
      CourseWaitListServiceImpl.updateCourseWaitList
      1. org.kuali.student.enrollment.class2.coursewaitlist.service.impl.CourseWaitListServiceImpl.updateCourseWaitList(CourseWaitListServiceImpl.java:93)
      1 frame
    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
      ReflectiveMethodInvocation.proceed
      1. org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
      2. org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
      3. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
      3 frames
    5. Spring Tx
      TransactionInterceptor.invoke
      1. org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
      2. org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
      3. org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
      3 frames
    6. Spring AOP
      ReflectiveMethodInvocation.proceed
      1. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
      1 frame
    7. Spring Tx
      TransactionInterceptor.invoke
      1. org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
      2. org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
      3. org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
      3 frames
    8. Spring AOP
      JdkDynamicAopProxy.invoke
      1. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
      2. org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
      2 frames
    9. com.sun.proxy
      $Proxy286.updateCourseWaitList
      1. com.sun.proxy.$Proxy286.updateCourseWaitList(Unknown Source)
      1 frame
    10. org.kuali.student
      ActivityOfferingMaintainableImpl.saveDataObject
      1. org.kuali.student.enrollment.class2.courseoffering.service.facade.CourseOfferingServiceFacadeImpl.createColocatedWaitList(CourseOfferingServiceFacadeImpl.java:659)
      2. org.kuali.student.enrollment.class2.courseoffering.service.impl.ActivityOfferingMaintainableImpl.saveDataObject(ActivityOfferingMaintainableImpl.java:202)
      2 frames