Uploaded image for project: 'OFBiz'
  1. OFBiz
  2. OFBIZ-11456

MacroFormRenderer refactoring

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: In Progress
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: Trunk
    • Fix Version/s: None
    • Component/s: framework/widget
    • Labels:
      None

      Description

      Class MacroFormRender is 3400 lines long and performs the following:

      • Renders the various form structure parts and field widgets to FTL macros calls.
      • Configures the FTL environment.
      • Executes the FTL macro calls to generate HTML and write it to a caller provided Appendable.

      Implementing the above means that MacroFormRenderer does not meet the Single Responsibility Principle. The current implementation of multiple responsibilities makes unit testing difficult.

      As discussed on the dev mailing list https://markmail.org/message/adtkk6cb6o7mmy7f it is proposed that MacroFormRenderer is refactored.

      Refactoring should separate the rendering of form structure parts and field widgets to FTL macro calls from the execution of those macros.

      To support the refactoring effort JMockit is being introduced (OFBIZ-4035) to allow test creation against the current implementation of MacroFormRenderer, helping to ensure functionality is preserved once refactoring is complete.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                danwatford Daniel Watford
                Reporter:
                danwatford Daniel Watford
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated: