[ 
https://issues.apache.org/jira/browse/OFBIZ-11456?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jacques Le Roux updated OFBIZ-11456:
------------------------------------
    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://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.

  was:
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.


> 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
>            Priority: Minor
>
> 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 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