You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ofbiz.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2022/10/21 14:55:00 UTC

[jira] [Commented] (OFBIZ-11456) MacroFormRenderer refactoring

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

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

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

Improved: MacroFormRenderer refactoring of textarea fields

(OFBIZ-12125)

Part of the OFBIZ-11456 MacroFormRenderer refactoring effort.

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


> 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)