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-8794Perform analysis of the KNS maintenance framework
      KULRICE-9473Convert all existing Formatter instances to PropertyEditor
      KULRICE-13294Inconsistency in KRMS lookup default value maintenance link render/hide property
      KULRICE-240review the maintenance framework dd override functionality
      KULRICE-2234Rewrite DocumentTypeLookupableImpl to use KNS framework
    • 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

            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