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

Blas Rodriguez Somoza updated OFBIZ-3766:
-----------------------------------------

    Description: 
There are a bug in MacroScreenRenderer.renderScreenletSubWidget. and several 
pages of the demo uses HtmlFormRenderer instead of MacroFormRenderer.

The dependencies in org.ofbiz.widget.<non-html> directories against 
org.ofbiz.widget.html are the following

1.- org\ofbiz\widget\menu\MenuWrapTransform.java --> import 
org.ofbiz.widget.html.HtmlMenuWrapper;
2.- org\ofbiz\widget\screen\MacroScreenRenderer.java -->:import 
org.ofbiz.widget.html.HtmlScreenRenderer.ScreenletMenuRenderer;
3.- org\ofbiz\widget\screen\ModelScreenWidget.java -->:import 
org.ofbiz.widget.html.HtmlMenuRenderer;
4.- org\ofbiz\widget\screen\ModelScreenWidget.java -->:import 
org.ofbiz.widget.html.HtmlFormRenderer;
5.- org\ofbiz\widget\screen\MacroScreenRenderer.java  -->:import 
org.ofbiz.widget.html.HtmlFormRenderer;
6.- org\ofbiz\widget\screen\ScreenFopViewHandler.java -->:import 
org.ofbiz.widget.html.HtmlScreenRenderer;

I excluded:
ScreenWidgetViewHandler.java which is in widget.screen but is a piece of the 
html renderers 
References to HtmlWidgetRenderer, which although it is in the html directory 
doesn't depend on other html directory sources.

Comments:

1.- OK. 
2.- The real dependency is with HtmlMenuRenderer.
3,4.- To avoid default renderers, ModelScreenWidget should use only the 
renderer stored in the context.
5.- bug.
6.- if macro renderer will be the default one then this must be changed. It 
will be better if the default renderer can be taken from the context but AFAIK 
it isn't a default renderer in the context. 

After the patch the dependencies against html directory are:

org\ofbiz\widget\menu\MenuWrapTransform.java --> import 
org.ofbiz.widget.html.HtmlMenuWrapper;
org\ofbiz\widget\screen\MacroScreenRenderer.java -->:import 
org.ofbiz.widget.html.HtmlMenuRenderer; 
org\ofbiz\widget\screen\MacroScreenViewHandler.java  -->:import 
org.ofbiz.widget.html.HtmlMenuRenderer;

which are the expected ones, only with HtmlMenu because it isn't a macro 
replacement.

Patch:

MacroScreenRenderer.java 
- renderScreenletSubWidget method must use MacroFormRenderer instead of 
HtmlFormRenderer
- Added ScreenletMenuRenderer copied from HtmlScreenRenderer. This make the 
dependency on HtmlMenuRenderer explicit and avoid the dependency on 
HtmlScreenRenderer

MacroScreenViewHandler.java
- To avoid using defaults in ModelScreenWidget each ViewHandler must store its 
form, tree and menu renderers in the context.

ModelScreenWidget.java
- There are not default renderers, each ScreenViewHandler must put its form, 
tree and menu renderers in the context.

ScreenFopViewHandler.java
- Use MacroScreenRenderer instead HtmlScreenRenderer.

ScreenWidgetViewHandler.java (aka ScreenHtmlViewHandler)
- To avoid using defaults in ModelScreenWidget each ViewHandler must store its 
form, tree and menu renderers in the context.

ScreenXmlViewHandler.java
- Should not depend on ScreenWidgetViewHandler


  was:
There are a bug in MacroScreenRenderer.renderScreenletSubWidget. and several 
pages of the demo uses HtmlFormRenderer instead of MacroFormRenderer.

The dependencies in org.ofbiz.widget.<non-html> directories against 
org.ofbiz.widget.html are the following
(I exclude ScreenWidgetViewHandler.java which is in widget.screen but is a 
piece of the html renderers)

1.- org\ofbiz\widget\menu\MenuWrapTransform.java --> import 
org.ofbiz.widget.html.HtmlMenuWrapper;
2.- org\ofbiz\widget\screen\MacroScreenRenderer.java -->:import 
org.ofbiz.widget.html.HtmlScreenRenderer.ScreenletMenuRenderer;
3.- org\ofbiz\widget\screen\ModelScreenWidget.java -->:import 
org.ofbiz.widget.html.HtmlMenuRenderer;
4.- org\ofbiz\widget\screen\ModelScreenWidget.java -->:import 
org.ofbiz.widget.html.HtmlFormRenderer;
5.- org\ofbiz\widget\screen\MacroScreenRenderer.java  -->:import 
org.ofbiz.widget.html.HtmlFormRenderer;
6.- org\ofbiz\widget\screen\ScreenFopViewHandler.java -->:import 
org.ofbiz.widget.html.HtmlScreenRenderer;

1.- OK. 
2.- The real dependency is with HtmlMenuRenderer.
3,4.- To avoid default renderers, ModelScreenWidget should use only the 
renderer stored in the context.
5.- bug.
6.- if macro renderer will be the default one then this must be changed. It 
will be better if the default renderer can be taken from the context but AFAIK 
it isn't a default renderer in the context. 

After the patch the dependencies against html directory are:

org\ofbiz\widget\menu\MenuWrapTransform.java --> import 
org.ofbiz.widget.html.HtmlMenuWrapper;
org\ofbiz\widget\screen\MacroScreenRenderer.java -->:import 
org.ofbiz.widget.html.HtmlMenuRenderer; 
org\ofbiz\widget\screen\MacroScreenViewHandler.java  -->:import 
org.ofbiz.widget.html.HtmlMenuRenderer;

which are the expected ones, only with HtmlMenu because it isn't a macro 
replacement.

Patch:

MacroScreenRenderer.java 
- renderScreenletSubWidget method must use MacroFormRenderer instead of 
HtmlFormRenderer
- Added ScreenletMenuRenderer copied from HtmlScreenRenderer. This make the 
dependency on HtmlMenuRenderer explicit and avoid the dependency on 
HtmlScreenRenderer

MacroScreenViewHandler.java
- To avoid using defaults in ModelScreenWidget each ViewHandler must store its 
form, tree and menu renderers in the context.

ModelScreenWidget.java
- There are not default renderers, each ScreenViewHandler must put iits form, 
tree and menu renderers in the context.

ScreenFopViewHandler.java
- Use MacroScreenRenderer instead HtmlScreenRenderer.

ScreenWidgetViewHandler.java (aka ScreenHtmlViewHandler)
- To avoid using defaults in ModelScreenWidget each ViewHandler must store its 
form, tree and menu renderers in the context.






> MacroScreenRenderer still uses HtmlFormRenderer (dependencies on html 
> renderers)
> --------------------------------------------------------------------------------
>
>                 Key: OFBIZ-3766
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-3766
>             Project: OFBiz
>          Issue Type: Bug
>          Components: framework
>    Affects Versions: Release Branch 10.04, SVN trunk
>            Reporter: Blas Rodriguez Somoza
>            Priority: Minor
>             Fix For: Release Branch 10.04, SVN trunk
>
>         Attachments: OFBIZ-3766_html_dependencies.diff
>
>
> There are a bug in MacroScreenRenderer.renderScreenletSubWidget. and several 
> pages of the demo uses HtmlFormRenderer instead of MacroFormRenderer.
> The dependencies in org.ofbiz.widget.<non-html> directories against 
> org.ofbiz.widget.html are the following
> 1.- org\ofbiz\widget\menu\MenuWrapTransform.java --> import 
> org.ofbiz.widget.html.HtmlMenuWrapper;
> 2.- org\ofbiz\widget\screen\MacroScreenRenderer.java -->:import 
> org.ofbiz.widget.html.HtmlScreenRenderer.ScreenletMenuRenderer;
> 3.- org\ofbiz\widget\screen\ModelScreenWidget.java -->:import 
> org.ofbiz.widget.html.HtmlMenuRenderer;
> 4.- org\ofbiz\widget\screen\ModelScreenWidget.java -->:import 
> org.ofbiz.widget.html.HtmlFormRenderer;
> 5.- org\ofbiz\widget\screen\MacroScreenRenderer.java  -->:import 
> org.ofbiz.widget.html.HtmlFormRenderer;
> 6.- org\ofbiz\widget\screen\ScreenFopViewHandler.java -->:import 
> org.ofbiz.widget.html.HtmlScreenRenderer;
> I excluded:
> ScreenWidgetViewHandler.java which is in widget.screen but is a piece of the 
> html renderers 
> References to HtmlWidgetRenderer, which although it is in the html directory 
> doesn't depend on other html directory sources.
> Comments:
> 1.- OK. 
> 2.- The real dependency is with HtmlMenuRenderer.
> 3,4.- To avoid default renderers, ModelScreenWidget should use only the 
> renderer stored in the context.
> 5.- bug.
> 6.- if macro renderer will be the default one then this must be changed. It 
> will be better if the default renderer can be taken from the context but 
> AFAIK it isn't a default renderer in the context. 
> After the patch the dependencies against html directory are:
> org\ofbiz\widget\menu\MenuWrapTransform.java --> import 
> org.ofbiz.widget.html.HtmlMenuWrapper;
> org\ofbiz\widget\screen\MacroScreenRenderer.java -->:import 
> org.ofbiz.widget.html.HtmlMenuRenderer; 
> org\ofbiz\widget\screen\MacroScreenViewHandler.java  -->:import 
> org.ofbiz.widget.html.HtmlMenuRenderer;
> which are the expected ones, only with HtmlMenu because it isn't a macro 
> replacement.
> Patch:
> MacroScreenRenderer.java 
> - renderScreenletSubWidget method must use MacroFormRenderer instead of 
> HtmlFormRenderer
> - Added ScreenletMenuRenderer copied from HtmlScreenRenderer. This make the 
> dependency on HtmlMenuRenderer explicit and avoid the dependency on 
> HtmlScreenRenderer
> MacroScreenViewHandler.java
> - To avoid using defaults in ModelScreenWidget each ViewHandler must store 
> its form, tree and menu renderers in the context.
> ModelScreenWidget.java
> - There are not default renderers, each ScreenViewHandler must put its form, 
> tree and menu renderers in the context.
> ScreenFopViewHandler.java
> - Use MacroScreenRenderer instead HtmlScreenRenderer.
> ScreenWidgetViewHandler.java (aka ScreenHtmlViewHandler)
> - To avoid using defaults in ModelScreenWidget each ViewHandler must store 
> its form, tree and menu renderers in the context.
> ScreenXmlViewHandler.java
> - Should not depend on ScreenWidgetViewHandler

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to