Daniel Watford created OFBIZ-11456:
--------------------------------------

             Summary: MacroFormRenderer refactoring
                 Key: OFBIZ-11456
                 URL: https://issues.apache.org/jira/browse/OFBIZ-11456
             Project: OFBiz
          Issue Type: Improvement
          Components: framework/widget
    Affects Versions: Trunk
            Reporter: Daniel Watford
            Assignee: Daniel Watford


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://lists.apache.org/list.html?d...@ofbiz.apache.org:lte=1M:ofbiz-4035|http://example.com]|https://lists.apache.org/list.html?d...@ofbiz.apache.org:lte=1M:ofbiz-4035])
 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.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to