Kuali Rice Development
  1. Kuali Rice Development
  2. KULRICE-13292

Labs Maintenance prompt before routing incident report

    Details

    • Type: Bug Fix Bug Fix
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.5
    • Fix Version/s: 2.5.1
    • Component/s: Development
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Similar issues:
      KULRICE-13564AFT Gap Travel Account Maintenance prompting before routing on submit
      KULRICE-13871AFT Failure LabsMaintenancePromptBeforeRoutingAft Incident Reports
      KULRICE-8604Travel Account Maintenance Document, Parameter Maintenance Document, and Routing Rule Delegation in sampleapp DB Incident Reports on viewing.
      KULRICE-10216KRAD Demo Account Maintenance (Edit) Incident Report RiceRuntimeException: Exception trying to invoke action ROUTE
      KULRICE-9464On submit of Send Adhoc button goes to incident report in Maintenance Document
      KULRICE-12612Incident report on Disable Widgets
      KULRICE-11423KRAD Labs Matinenance Incident Reports user admin, dev1, etc. is not authorized to initiate document TravelCompanyMaintenanceDocument
      KULRICE-3387searching by Rule ID in the Routing Rule lookup results in incident report
      KULRICE-12464Maintenance Document BO Submit Attachment Incident Report ClassCastException LabsTravelAttachment cannot be cast to PersistableBusinessObject
    • Rice Team:
      Middleware
    • Sprint:
      Middleware 2.5.1 Sprint 1
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required
    • Code Review Status:
      Not Required
    • Story Points:
      1

      Description

      Labs -> Maintenance -> Prompt Before Routing

      Adding sub account yields:

      
      org.springframework.beans.NullValueInNestedPathException: Invalid property 'document.newMaintainableObject.dataObject.fiscalOfficer' of bean class [org.kuali.rice.krad.web.bind.UifBeanWrapper]: Could not instantiate property type [org.kuali.rice.kim.api.identity.Person] to auto-grow nested property path: java.lang.InstantiationException: org.kuali.rice.kim.api.identity.Person
      at org.springframework.beans.BeanWrapperImpl.newValue(BeanWrapperImpl.java:633)
      at org.springframework.beans.BeanWrapperImpl.createDefaultPropertyValue(BeanWrapperImpl.java:603)
      at org.springframework.beans.BeanWrapperImpl.setDefaultValue(BeanWrapperImpl.java:592)
      at org.springframework.beans.BeanWrapperImpl.getNestedBeanWrapper(BeanWrapperImpl.java:557)
      at org.springframework.beans.BeanWrapperImpl.getBeanWrapperForPropertyPath(BeanWrapperImpl.java:531)
      at org.kuali.rice.krad.web.bind.UifBeanWrapper.getBeanWrapperForPropertyPath(UifBeanWrapper.java:126)
      at org.springframework.beans.BeanWrapperImpl.getBeanWrapperForPropertyPath(BeanWrapperImpl.java:532)
      at org.kuali.rice.krad.web.bind.UifBeanWrapper.getBeanWrapperForPropertyPath(UifBeanWrapper.java:126)
      at org.springframework.beans.BeanWrapperImpl.getBeanWrapperForPropertyPath(BeanWrapperImpl.java:532)
      at org.kuali.rice.krad.web.bind.UifBeanWrapper.getBeanWrapperForPropertyPath(UifBeanWrapper.java:126)
      at org.springframework.beans.BeanWrapperImpl.getBeanWrapperForPropertyPath(BeanWrapperImpl.java:532)
      at org.kuali.rice.krad.web.bind.UifBeanWrapper.getBeanWrapperForPropertyPath(UifBeanWrapper.java:126)
      at org.kuali.rice.krad.web.bind.UifViewBeanWrapper.getBeanWrapperForPropertyPath(UifViewBeanWrapper.java:492)
      at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:893)
      at org.kuali.rice.krad.web.bind.UifBeanWrapper.setPropertyValue(UifBeanWrapper.java:87)
      at org.kuali.rice.krad.web.bind.UifViewBeanWrapper.setPropertyValue(UifViewBeanWrapper.java:183)
      at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:75)
      at org.springframework.validation.DataBinder.applyPropertyValues(DataBinder.java:740)
      at org.springframework.validation.DataBinder.doBind(DataBinder.java:636)
      at org.springframework.web.bind.WebDataBinder.doBind(WebDataBinder.java:191)
      at org.springframework.web.bind.ServletRequestDataBinder.bind(ServletRequestDataBinder.java:112)
      at org.kuali.rice.krad.web.bind.UifServletRequestDataBinder._bind(UifServletRequestDataBinder.java:140)
      at org.kuali.rice.krad.web.bind.UifServletRequestDataBinder.bind(UifServletRequestDataBinder.java:166)
      at org.kuali.rice.krad.web.controller.UifDefaultFormMethodArgumentResolver.resolveArgument(UifDefaultFormMethodArgumentResolver.java:78)
      at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:77)
      at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:157)
      at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:124)
      at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
      at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745)
      at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:685)
      at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
      at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:919)
      at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:851)
      at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953)
      at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:855)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
      at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at org.kuali.rice.krad.web.filter.CharsetFilter.doFilter(CharsetFilter.java:58)
      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 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 org.kuali.rice.krad.web.filter.DummyLoginFilter.doFilter(DummyLoginFilter.java:82)
      at org.kuali.rice.krad.web.filter.DummyLoginFilter.doFilter(DummyLoginFilter.java:62)
      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.krad.web.filter.UifSessionTimeoutFilter.doFilter(UifSessionTimeoutFilter.java:130)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:206)
      at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:179)
      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:106)
      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:214)
      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:106)
      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:224)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
      at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
      at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
      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)
      

        Issue Links

          Activity

          Hide
          Kristina Taylor (Inactive) added a comment -

          Confirmed this is merely a problem with our sample app implementation. When we do a lookup on a Person, it doesn't know how to instantiate it. We have to show it how:

          public Person getFiscalOfficer() {
              if ((fiscalOfficer == null) || !StringUtils.equals(fiscalOfficer.getPrincipalId(), getFoId())) {
                  fiscalOfficer = KimApiServiceLocator.getPersonService().getPerson(getFoId());
          
                  if (fiscalOfficer == null) {
                      try {
                          fiscalOfficer = KimApiServiceLocator.getPersonService().getPersonImplementationClass().newInstance();
                      } catch (Exception e) {
                          throw new RuntimeException(e);
                      }
                  }
              }
          
              return fiscalOfficer;
          }
          

          At this point, I don't want to put anything that is not critical to the actual function of the application, so I have moved this to 2.5.1.

          Show
          Kristina Taylor (Inactive) added a comment - Confirmed this is merely a problem with our sample app implementation. When we do a lookup on a Person, it doesn't know how to instantiate it. We have to show it how: public Person getFiscalOfficer() { if ((fiscalOfficer == null ) || !StringUtils.equals(fiscalOfficer.getPrincipalId(), getFoId())) { fiscalOfficer = KimApiServiceLocator.getPersonService().getPerson(getFoId()); if (fiscalOfficer == null ) { try { fiscalOfficer = KimApiServiceLocator.getPersonService().getPersonImplementationClass().newInstance(); } catch (Exception e) { throw new RuntimeException(e); } } } return fiscalOfficer; } At this point, I don't want to put anything that is not critical to the actual function of the application, so I have moved this to 2.5.1.
          Hide
          Steve Edgar (Inactive) added a comment -

          Solution was provided in case notes. (Thanks Kristina!) I verified some time ago that no further work was required, although I waited to commit until the 2.5 release was done, and we switched to using the rice-2.5 branch

          Show
          Steve Edgar (Inactive) added a comment - Solution was provided in case notes. (Thanks Kristina!) I verified some time ago that no further work was required, although I waited to commit until the 2.5 release was done, and we switched to using the rice-2.5 branch
          Hide
          Martin Taylor (Inactive) added a comment -

          Closing 2.5.1 Development

          Show
          Martin Taylor (Inactive) added a comment - Closing 2.5.1 Development

            People

            • Assignee:
              Steve Edgar (Inactive)
              Reporter:
              Erik Meade
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Agile

                  Structure Helper Panel