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

Problems with UifBeanFactoryPostProcessor expression handling for nested properties and lists prevent bean property overrides (such as fieldInquiry.render) from working

    Details

    • Type: Bug Fix Bug Fix
    • Status: Open Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: Development
    • Security Level: Public (Public: Anyone can view)
    • Labels:
    • Similar issues:
      KULRICE-6845Problems with UifBeanFactoryPostProcessor expression handling that is causing bean property overrides (such as fieldInquiry.render) to not work
      KULRICE-7266Property Utils is not handling nested nulls within a property chain
      KULRICE-7384Problem with reloading dictionary and expression factory
      KULRICE-8719error on nesting page bean in transactional document view
      KULRICE-11181Custom Inquirables not considered in nested inquiries
      KULRICE-8471richTable "aoColumnDefs" property problem in M4
      KULRICE-11576DataObjectWrapper.getPropertyType() not handling collection properties
      KULRICE-11577DataObjectWrapper.getPropertyType() not handling collection properties
      KULRICE-12948PojoPropertyUtilsBean#isWriteable check fails on nested properties
      KULRICE-9079replacing a property that has a spring expression
    • Rice Module:
      KRAD
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required

      Description

      The UifBeanFactoryPostProcessor is a Spring bean post processor (http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/beans.html#beans-factory-extension-bpp) that is used to handle expressions defined in beans. These are special property values that contain the @

      {...}

      syntax that the UIF framework uses to evaluate conditional statements. These are allowed for any property type (string, boolean, integer). However, Spring does not know how to handle them. So when spring creates the objects from a bean definition and tries to set a value containing one of these for a non-string type (like boolean) an exception will be thrown (of course the string '@

      {foo}

      ' is not a valid boolean). Therefore we pull these expressions out before Spring creates the objects.

      Within issue KULRICE-6845, we addressed everything except nested properties and lists. Spring does not currently support this. We have created a spring issue for this (https://jira.springsource.org/browse/SPR-9552), but we are blocked from further progress until it is addressed.

        Activity

        Hide
        Jessica Coltrin (Inactive) added a comment -

        setting fix version to 2.3 so we review again in that time frame.

        Show
        Jessica Coltrin (Inactive) added a comment - setting fix version to 2.3 so we review again in that time frame.

          People

          • Assignee:
            Unassigned
            Reporter:
            Matthew Wuertz (Inactive)
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:

              Structure Helper Panel