[ 
https://issues.apache.org/jira/browse/OFBIZ-11456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17635975#comment-17635975
 ] 

ASF subversion and git services commented on OFBIZ-11456:
---------------------------------------------------------

Commit c7bdaf160599187f87a8a90e9f39e6aa0dec800c in ofbiz-framework's branch 
refs/heads/trunk from Daniel Watford
[ https://gitbox.apache.org/repos/asf?p=ofbiz-framework.git;h=c7bdaf1605 ]

Improved: MacroFormRenderer refactoring of datefind fields (OFBIZ-12712)

Part of the OFBIZ-11456 MacroFormRenderer refactoring effort.

Rather than MacroFormRenderer producing and evaulating FTL strings, it now uses
RenderableFtlElementsBuilder to create RenderableFtlMacroCall objects for
datefind fields which are then passed to an FtlWriter for evaluation.

Removed unused parameters from the renderDateFindField FTL macro definition.
Set defaults for several parameters, simplifying generation of macro calls.

Synchronised the parameter list of rendateDateFindField macros across all
output types - i.e. html, xml, text, etc.


> 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, Upcoming Branch
>            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://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.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to