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

Kuali JIRA | Daniil Yakimovich | 2 years ago
  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 | 2 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 | 2 years ago | Daniil Yakimovich
    org.kuali.student.r2.common.exceptions.InvalidParameterException: courseWaitListId can not be null
  3. 0

    When copying from a CO, if the course is not valid from the new term an exception is thrown and passed to the UI. Try to do Create CO term = 201221 (New CE term, might need to create Soc First) Course=HIST113 choose 201101 for the term 2013-06-03 13:19:55,716 [qtp1921861250-27] u:admin/d: FATAL org.kuali.rice.core.framework.persistence.jta.KualiTransactionInterceptor - Exception caught by Transaction Interceptor, this will cause a rollback at the end of the transaction. org.kuali.student.r2.common.exceptions.InvalidParameterException: Skipped because there is no valid version of the course in the target term at org.kuali.student.enrollment.class2.courseoffering.service.impl.CourseOfferingServiceBusinessLogicImpl.rolloverCourseOffering(CourseOfferingServiceBusinessLogicImpl.java:294) 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: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.invoke(TransactionInterceptor.java:110) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at com.sun.proxy.$Proxy305.rolloverCourseOffering(Unknown Source) at org.kuali.student.enrollment.class2.courseoffering.service.impl.CourseOfferingServiceImpl.rolloverCourseOffering(CourseOfferingServiceImpl.java:598) 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: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.invoke(TransactionInterceptor.java:110) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at com.sun.proxy.$Proxy308.rolloverCourseOffering(Unknown Source)

    Kuali JIRA | 4 years ago | Daniel Epstein
    org.kuali.student.r2.common.exceptions.InvalidParameterException: Skipped because there is no valid version of the course in the target term
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    When copying from a CO, if the course is not valid from the new term an exception is thrown and passed to the UI. Try to do Create CO term = 201221 (New CE term, might need to create Soc First) Course=HIST113 choose 201101 for the term 2013-06-03 13:19:55,716 [qtp1921861250-27] u:admin/d: FATAL org.kuali.rice.core.framework.persistence.jta.KualiTransactionInterceptor - Exception caught by Transaction Interceptor, this will cause a rollback at the end of the transaction. org.kuali.student.r2.common.exceptions.InvalidParameterException: Skipped because there is no valid version of the course in the target term at org.kuali.student.enrollment.class2.courseoffering.service.impl.CourseOfferingServiceBusinessLogicImpl.rolloverCourseOffering(CourseOfferingServiceBusinessLogicImpl.java:294) 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: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.invoke(TransactionInterceptor.java:110) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at com.sun.proxy.$Proxy305.rolloverCourseOffering(Unknown Source) at org.kuali.student.enrollment.class2.courseoffering.service.impl.CourseOfferingServiceImpl.rolloverCourseOffering(CourseOfferingServiceImpl.java:598) 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: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.invoke(TransactionInterceptor.java:110) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at com.sun.proxy.$Proxy308.rolloverCourseOffering(Unknown Source)

    Kuali JIRA | 4 years ago | Daniel Epstein
    org.kuali.student.r2.common.exceptions.InvalidParameterException: Skipped because there is no valid version of the course in the target term

    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