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
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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.