Student Success Plan
  1. Student Success Plan
  2. SSP-1822

MAP Template printing fails because it invokes a Plan API

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: SSP 2.1.0, SSP 2.0.1
    • Fix Version/s: SSP 2.1.0, SSP 2.0.1, SSP 2.2.0
    • Component/s: MAP
    • Labels:

      Description

      Per comments below, we're going to try to fix this in rel-2-0-patches first. But I'm leaving the merge-to-2-0 label on since that's what everyone's actually using to see what's in the pipeline for 2.0.1.

      Originally reported in the field for a rel-2-0-patches deployment (2.0.1-SNAPHOST)... attempting to print a MAP Template via the "View All" button results in 500 error and an on-screen error dialog reading 'Unable to determine the source of this error. See logs for additional details.'"

      This is caused by that button sending a POST to /ssp/api/1/person/<person-uuid>/map/plan/print. Doesn't matter which person you're logged in as nor which student you're looking at b/c the URL is bad... we want to print a Template, not a Plan.

      The stack trace is:

      DEV: 17:19:52.420 [http-8081-4] /ssp/api/1/person/b8cd7143-e325-4c53-a094-fbc817afcfc1/map/plan/print ERROR org.jasig.ssp.web.api.PlanController - Error: 
      java.lang.NullPointerException: null
              at java.util.UUID.fromString(UUID.java:225) ~[na:1.6.0_24]
              at org.jasig.ssp.service.impl.PlanServiceImpl.createOutput(PlanServiceImpl.java:107) ~[PlanServiceImpl.class:na]
              at org.jasig.ssp.service.impl.PlanServiceImpl.createOutput(PlanServiceImpl.java:55) ~[PlanServiceImpl.class:na]
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_24]
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.6.0_24]
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.6.0_24]
              at java.lang.reflect.Method.invoke(Method.java:616) ~[na:1.6.0_24]
              at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319) ~[spring-aop-3.1.2.RELEASE.jar:3.1.2.RELEASE]
              at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) ~[spring-aop-3.1.2.RELEASE.jar:3.1.2.RELEASE]
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) ~[spring-aop-3.1.2.RELEASE.jar:3.1.2.RELEASE]
              at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) ~[spring-tx-3.1.2.RELEASE.jar:3.1.2.RELEASE]
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.1.2.RELEASE.jar:3.1.2.RELEASE]
              at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) ~[spring-aop-3.1.2.RELEASE.jar:3.1.2.RELEASE]
              at sun.proxy.$Proxy250.createOutput(Unknown Source) ~[na:na]
              at org.jasig.ssp.web.api.PlanController.print(PlanController.java:293) ~[PlanController.class:na]
              at org.jasig.ssp.web.api.PlanController$$FastClassByCGLIB$$3b7c388f.invoke(<generated>) ~[cglib-2.2.2.jar:na]
              at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[cglib-2.2.2.jar:na]
              at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689) ~[spring-aop-3.1.2.RELEASE.jar:3.1.2.RELEASE]
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) ~[spring-aop-3.1.2.RELEASE.jar:3.1.2.RELEASE]
              at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:64) ~[spring-security-core-3.1.3.RELEASE.jar:3.1.3.RELEASE]
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.1.2.RELEASE.jar:3.1.2.RELEASE]
              at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622) ~[spring-aop-3.1.2.RELEASE.jar:3.1.2.RELEASE]
              at org.jasig.ssp.web.api.PlanController$$EnhancerByCGLIB$$73f0e12a.print(<generated>) ~[cglib-2.2.2.jar:na]
      

      UI code needs to be fixed to use the Template print API.

        Activity

        Hide
        Dan McCallum added a comment - - edited

        Jim, can you please take a look at this one after SSP-1817.

        This is needed urgently for 2.0.1 deployments. So please fix in rel-2-0-patches first. Once you've got it fixed there, please mark as Resolved and leave all the merge labels. You or someone else will deal with cherry-picking into master at some later point.

        Show
        Dan McCallum added a comment - - edited Jim, can you please take a look at this one after SSP-1817 . This is needed urgently for 2.0.1 deployments. So please fix in rel-2-0-patches first. Once you've got it fixed there, please mark as Resolved and leave all the merge labels. You or someone else will deal with cherry-picking into master at some later point.
        Hide
        Dan McCallum added a comment -

        Cherry-picked into rel-2-1-patches for 2.1.0. Still needs to be cherry-picked into master (2.2.0). Leaving both merge labels attached pending QA.

        Show
        Dan McCallum added a comment - Cherry-picked into rel-2-1-patches for 2.1.0. Still needs to be cherry-picked into master (2.2.0). Leaving both merge labels attached pending QA.
        Hide
        Dan McCallum added a comment -

        Cherry-picked into master for 2.2.0. Leaving merge-to-2-2 label attached pending QA.

        Show
        Dan McCallum added a comment - Cherry-picked into master for 2.2.0. Leaving merge-to-2-2 label attached pending QA.

          People

          • Assignee:
            James T. Stanley
            Reporter:
            Dan McCallum
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: