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

Inconsistent use of Formatters in maintenance framework

    Details

    • Type: Bug Fix Bug Fix
    • Status: Closed Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: KC Release 3.0, 1.0.3
    • Fix Version/s: KC Release 3.0, 1.0.3
    • Component/s: Development
    • Labels:
      None
    • Similar issues:
      KULRICE-4822fix inconsistencies in person role maintenance
      KULRICE-5600Uif Framework: Change Formatter property on AttributeField to PropertyEditor
      KULRICE-9117Deprecate old formatters from core web, new formatter/property editor framework as part of krad data
      KULRICE-5179Convert KNS Formatters to Spring PropertyEditors for use in KRAD
      KULRICE-9212Rework KRAD Property Editors/Formatters
      KULRICE-13294Inconsistency in KRMS lookup default value maintenance link render/hide property
      KULRICE-4678InstructionsEDLComponent Inconsistencies
      KULRICE-8794Perform analysis of the KNS maintenance framework
      KULRICE-10140ViewTheme has inconsistent use of trailing file separator from getThemeDirectory
      KULRICE-9473Convert all existing Formatter instances to PropertyEditor
    • Rice Module:
      KNS
    • Application Requirement:
      KFS, KC

      Description

      When populating the Field objects in the maintenance framework, any formatter specified for the field in the data dictionary is used to format the value for presentation. However, when posting the document and
      the business object is populated from the field values, the formatter specified from the data dictionary is not used, but instead the associated formatter for the value type is used. This can cause issues if the formatter
      in the DD does not output the same format as the type formatter. I recommend the following strategy:

      1) When populating the Field object, use formatter from DD attribute definition if given (format), else use Type formatter.
      Currently this is done in Field.setPropertyValue (called from FieldUtils.populateReadableField). Notice also in this method it will set the formatter for Date or Boolean types, this would override any DD specified formatter which is not good. We should first check if there
      is a DD formatter, and if not use Formatter.findFormatter
      2) When populating the maintainble business object from the field values, use formatter from DD attribute definition if given (convertToObject), else use Type formatter.
      Currently this is done in FieldUtils.populateBusinessObjectFromMap by calling ObjectUtils.setObjectProperty(bo, propertyName, type, fieldValue);

        Issue Links

          Activity

          Hide
          Travis Schneeberger added a comment -

          Ok. Looks like there was gremlins in my IDE. After a confusing debugging session I just reinstalled rice into my maven repo and the NoSuchMethodError went away.

          Show
          Travis Schneeberger added a comment - Ok. Looks like there was gremlins in my IDE. After a confusing debugging session I just reinstalled rice into my maven repo and the NoSuchMethodError went away.
          Hide
          Travis Schneeberger added a comment -

          I'm gonna rerun all of our unit tests just for good measure. If all goes well I'll release another rice milestone into the Kuali repo.

          Show
          Travis Schneeberger added a comment - I'm gonna rerun all of our unit tests just for good measure. If all goes well I'll release another rice milestone into the Kuali repo.
          Hide
          Jerry Neal (Inactive) added a comment -

          Great!

          Show
          Jerry Neal (Inactive) added a comment - Great!
          Hide
          Eric Westfall added a comment -

          Can this one be resolved now? I saw that Travis put a milestone out today.

          Show
          Eric Westfall added a comment - Can this one be resolved now? I saw that Travis put a milestone out today.
          Hide
          Travis Schneeberger added a comment -

          I resolved it. Thanks for reminding me Eric.

          Show
          Travis Schneeberger added a comment - I resolved it. Thanks for reminding me Eric.

            People

            • Assignee:
              Jerry Neal (Inactive)
              Reporter:
              Dan Lemus (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 1 day, 4 hours
                1d 4h
                Remaining:
                Remaining Estimate - 1 day, 4 hours
                1d 4h
                Logged:
                Time Spent - Not Specified
                Not Specified

                  Structure Helper Panel