Uploaded image for project: 'Kuali Rice Development'
  1. Kuali Rice Development
  2. KULRICE-5354

Agenda Editor only functions after ReloadingDataDictionary reloads

    Details

    • Type: Bug Fix
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0-m7, 2.0
    • Component/s: Development
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Rice Module:
      KRAD
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required

      Description

      After updating today, I ran in to the following confusing situation: Upon startup, the Agenda Editor view doesn't work, it blows up with the exception pasted in at the bottom of this description. Then after saving any valid change to the Agenda Editor, the ReloadingDataDictionary reloads it and it becomes functional. As you can imagine it took me a bit of head scratching before I realized that the changes I was making didn't matter. Whatever the state of AgendaEditorView.xml at startup, it didn't work, and whatever trivial change I made seemed to fix it when the RDD reloaded it. I'm assuming this is a KRAD bug.

      To reproduce:

      1. configure the DD service in KNSSpringBeans.xml to use the ReloadingDataDictionary
      2. ingest the doctypes in krms/impl/src/main/resources/org/kuali/rice/krms/config/doctypes/
      3. go to the main portal page and click the "Agenda Editor" link in the KRMS Rules section
        • it should have blown up for you.
      4. Make a trivial change (e.g. whitespace) to AgendaEditorView.xml
      5. go back to the Agenda Editor.
        • it should have loaded successfully
      2011-07-10 17:40:38,583 [qtp20738936-60] u:admin/d: ERROR org.kuali.rice.krad.web.bind.UifHandlerExceptionResolver - The following error was caught by the UifHandlerExceptionResolver : 
      java.lang.RuntimeException: Error getting property 'agenda' from org.kuali.rice.krad.web.form.MaintenanceForm@150d3aa
      	at org.kuali.rice.krad.uif.util.ObjectPropertyUtils.getPropertyValue(ObjectPropertyUtils.java:58)
      	at org.kuali.rice.krad.service.impl.DataObjectMetaDataServiceImpl.getDataObjectRelationship(DataObjectMetaDataServiceImpl.java:175)
      	at org.kuali.rice.krad.service.impl.DataObjectMetaDataServiceImpl.getDataObjectRelationship(DataObjectMetaDataServiceImpl.java:146)
      	at org.kuali.rice.krad.uif.widget.QuickFinder.getRelationshipForField(QuickFinder.java:150)
      	at org.kuali.rice.krad.uif.widget.QuickFinder.performFinalize(QuickFinder.java:84)
      	at org.kuali.rice.krad.uif.service.impl.ViewHelperServiceImpl.performComponentFinalize(ViewHelperServiceImpl.java:638)
      	at org.kuali.rice.krad.uif.service.impl.ViewHelperServiceImpl.performComponentFinalize(ViewHelperServiceImpl.java:648)
      	at org.kuali.rice.krad.uif.service.impl.ViewHelperServiceImpl.performComponentFinalize(ViewHelperServiceImpl.java:648)
      	at org.kuali.rice.krad.uif.service.impl.ViewHelperServiceImpl.performComponentFinalize(ViewHelperServiceImpl.java:648)
      	at org.kuali.rice.krad.uif.service.impl.ViewHelperServiceImpl.performComponentFinalize(ViewHelperServiceImpl.java:648)
      	at org.kuali.rice.krad.uif.service.impl.ViewHelperServiceImpl.performFinalize(ViewHelperServiceImpl.java:613)
      	at org.kuali.rice.krad.uif.service.impl.ViewServiceImpl.buildView(ViewServiceImpl.java:128)
      	at org.kuali.rice.krad.uif.util.UifWebUtils.prepareViewForRendering(UifWebUtils.java:244)
      	at org.kuali.rice.krad.uif.util.UifWebUtils.postControllerHandle(UifWebUtils.java:167)
      	at org.kuali.rice.krad.web.controller.UifControllerHandlerInterceptor.postHandle(UifControllerHandlerInterceptor.java:63)
      	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:801)
      	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
      	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
      	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:538)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1352)
      	at org.kuali.rice.kew.web.UserLoginFilter.doFilter(UserLoginFilter.java:89)
      	at org.kuali.rice.kew.web.UserLoginFilter.doFilter(UserLoginFilter.java:77)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323)
      	at org.kuali.rice.krad.web.filter.HideWebInfFilter.doFilter(HideWebInfFilter.java:69)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323)
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:476)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
      	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:517)
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:937)
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:871)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
      	at org.eclipse.jetty.server.Server.handle(Server.java:346)
      	at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:589)
      	at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1048)
      	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:601)
      	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:214)
      	at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:411)
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:535)
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
      	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:529)
      	at java.lang.Thread.run(Thread.java:662)
      Caused by: org.springframework.beans.NotReadablePropertyException: Invalid property 'agenda' of bean class [org.kuali.rice.krad.web.form.MaintenanceForm]: Bean property 'agenda' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?
      	at org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:707)
      	at org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:699)
      	at org.kuali.rice.krad.uif.util.ObjectPropertyUtils.getPropertyValue(ObjectPropertyUtils.java:56)
      	... 47 more
      

        Attachments

          Activity

          Hide
          delyea David Elyea added a comment -

          This was a duplicate bean id issue from AgendaEditorView.xml and EditorView.xml. It took awhile to debug it so there may have been KRAD bugs that affected it as well but those appear to be resolved if they were contributing to the issue.

          Show
          delyea David Elyea added a comment - This was a duplicate bean id issue from AgendaEditorView.xml and EditorView.xml. It took awhile to debug it so there may have been KRAD bugs that affected it as well but those appear to be resolved if they were contributing to the issue.
          Hide
          jcoltrin Jessica Coltrin (Inactive) added a comment -

          Closing since these items are now in the release notes.

          Show
          jcoltrin Jessica Coltrin (Inactive) added a comment - Closing since these items are now in the release notes.

            People

            • Assignee:
              delyea David Elyea
              Reporter:
              gilesp Peter Giles (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: