Hi Jacques,

Build fails due to this commit.

{code}

FoFormRenderer is not abstract and does not override abstract method
renderFormatHeaderClose(Appendable,Map<String,Object>,ModelForm) in
FormStringRenderer

  [javac18] public class FoFormRenderer extends HtmlWidgetRenderer
implements FormStringRenderer

{code}

Thanks & Regards
--
Deepak Dixit
www.hotwaxsystems.com

On Mon, Oct 26, 2015 at 1:45 PM, <jler...@apache.org> wrote:

> Author: jleroux
> Date: Mon Oct 26 08:15:45 2015
> New Revision: 1710527
>
> URL: http://svn.apache.org/viewvc?rev=1710527&view=rev
> Log:
> A patch from Christian Carlow for "FOP rendered list form widgets do not
> work for fields with postition > 0"
> https://issues.apache.org/jira/browse/OFBIZ-6354
>
> It doesn't work because of the way the renderFormatHeaderRowOpen is called
> causes the FOP renderer to create more than one <fo:table-header>.
>
> This patch adds renderFormatHeaderOpen and renderFormatHeaderClose to
> separately generate <fo:table-header> for FOP and <thead> for html.
>
> Modified:
>
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/FormRenderer.java
>
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/FormStringRenderer.java
>
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/macro/MacroFormRenderer.java
>     ofbiz/trunk/framework/widget/templates/foFormMacroLibrary.ftl
>     ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl
>
> Modified:
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/FormRenderer.java
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/FormRenderer.java?rev=1710527&r1=1710526&r2=1710527&view=diff
>
> ==============================================================================
> ---
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/FormRenderer.java
> (original)
> +++
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/FormRenderer.java
> Mon Oct 26 08:15:45 2015
> @@ -394,6 +394,7 @@ public class FormRenderer {
>          // ===========================
>          // Rendering
>          // ===========================
> +        formStringRenderer.renderFormatHeaderOpen(writer, context,
> modelForm);
>          for (Map<String, List<ModelFormField>> listsMap :
> fieldRowsByPosition) {
>              List<ModelFormField> innerDisplayHyperlinkFieldsBegin =
> listsMap.get("displayBefore");
>              List<ModelFormField> innerFormFields =
> listsMap.get("inputFields");
> @@ -492,6 +493,7 @@ public class FormRenderer {
>                  formStringRenderer.renderFormatHeaderRowClose(writer,
> context, modelForm);
>              }
>          }
> +        formStringRenderer.renderFormatHeaderClose(writer, context,
> modelForm);
>
>          return maxNumOfColumns;
>      }
>
> Modified:
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/FormStringRenderer.java
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/FormStringRenderer.java?rev=1710527&r1=1710526&r2=1710527&view=diff
>
> ==============================================================================
> ---
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/FormStringRenderer.java
> (original)
> +++
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/FormStringRenderer.java
> Mon Oct 26 08:15:45 2015
> @@ -59,6 +59,8 @@ public interface FormStringRenderer {
>
>      public void renderFormatHeaderRowOpen(Appendable writer, Map<String,
> Object> context, ModelForm modelForm) throws IOException;
>      public void renderFormatHeaderRowClose(Appendable writer, Map<String,
> Object> context, ModelForm modelForm) throws IOException;
> +    public void renderFormatHeaderOpen(Appendable writer, Map<String,
> Object> context, ModelForm modelForm) throws IOException;
> +    public void renderFormatHeaderClose(Appendable writer, Map<String,
> Object> context, ModelForm modelForm) throws IOException;
>      public void renderFormatHeaderRowCellOpen(Appendable writer,
> Map<String, Object> context, ModelForm modelForm, ModelFormField
> modelFormField, int positionSpan) throws IOException;
>      public void renderFormatHeaderRowCellClose(Appendable writer,
> Map<String, Object> context, ModelForm modelForm, ModelFormField
> modelFormField) throws IOException;
>
>
> Modified:
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/macro/MacroFormRenderer.java
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/macro/MacroFormRenderer.java?rev=1710527&r1=1710526&r2=1710527&view=diff
>
> ==============================================================================
> ---
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/macro/MacroFormRenderer.java
> (original)
> +++
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/macro/MacroFormRenderer.java
> Mon Oct 26 08:15:45 2015
> @@ -1532,6 +1532,20 @@ public final class MacroFormRenderer imp
>              renderEndingBoundaryComment(writer, "Grid Widget - Grid
> Element", modelForm);
>          }
>      }
> +
> +    public void renderFormatHeaderOpen(Appendable writer, Map<String,
> Object> context, ModelForm modelForm) throws IOException {
> +        StringWriter sr = new StringWriter();
> +        sr.append("<@renderFormatHeaderOpen ");
> +        sr.append(" />");
> +        executeMacro(writer, sr.toString());
> +    }
> +
> +    public void renderFormatHeaderClose(Appendable writer, Map<String,
> Object> context, ModelForm modelForm) throws IOException {
> +        StringWriter sr = new StringWriter();
> +        sr.append("<@renderFormatHeaderClose");
> +        sr.append(" />");
> +        executeMacro(writer, sr.toString());
> +    }
>
>      public void renderFormatHeaderRowOpen(Appendable writer, Map<String,
> Object> context, ModelForm modelForm) throws IOException {
>          String headerStyle =
> FlexibleStringExpander.expandString(modelForm.getHeaderRowStyle(), context);
>
> Modified: ofbiz/trunk/framework/widget/templates/foFormMacroLibrary.ftl
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/templates/foFormMacroLibrary.ftl?rev=1710527&r1=1710526&r2=1710527&view=diff
>
> ==============================================================================
> --- ofbiz/trunk/framework/widget/templates/foFormMacroLibrary.ftl
> (original)
> +++ ofbiz/trunk/framework/widget/templates/foFormMacroLibrary.ftl Mon Oct
> 26 08:15:45 2015
> @@ -86,8 +86,11 @@ under the License.
>  <#macro renderFormatListWrapperOpen formName style columnStyles><fo:table
> border="solid black" <@getFoStyle style/>><#list columnStyles as
> columnStyle><fo:table-column<#if columnStyle?has_content> <@getFoStyle
> columnStyle/></#if>/></#list></#macro>
>  <#macro renderFormatListWrapperClose
> formName></fo:table-body></fo:table></#macro>
>
> -<#macro renderFormatHeaderRowOpen
> style><fo:table-header><fo:table-row></#macro>
> -<#macro
> renderFormatHeaderRowClose></fo:table-row></fo:table-header><fo:table-body>
> +<#macro renderFormatHeaderOpen><fo:table-header></#macro>
> +<#macro renderFormatHeaderClose></fo:table-header><fo:table-body></#macro>
> +
> +<#macro renderFormatHeaderRowOpen style><fo:table-row></#macro>
> +<#macro renderFormatHeaderRowClose></fo:table-row>
>  <#-- FIXME: this is an hack to avoid FOP rendering errors for empty lists
> (fo:table-body cannot be null) -->
>  <fo:table-row><fo:table-cell><fo:block/></fo:table-cell></fo:table-row>
>  </#macro>
>
> Modified: ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl?rev=1710527&r1=1710526&r2=1710527&view=diff
>
> ==============================================================================
> --- ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl
> (original)
> +++ ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl Mon
> Oct 26 08:15:45 2015
> @@ -376,6 +376,13 @@ under the License.
>    </table><#lt/>
>  </#macro>
>
> +<#macro renderFormatHeaderOpen>
> +  <thead>
> +</#macro>
> +<#macro renderFormatHeaderClose>
> +  </thead>
> +</#macro>
> +
>  <#macro renderFormatHeaderRowOpen style>
>    <tr class="<#if style?has_content>${style}<#else>header-row</#if>">
>  </#macro>
>
>
>

Reply via email to