A reminder for all committers: Before committing, run -

ant clean-all load-demo run-tests

Adrian Crum
Sandglass Software
www.sandglass-software.com

On 10/26/2015 11:51 AM, Jacques Le Roux wrote:
Thanks Deepak,

Indeed, I did not clean before building so it passed. I revert...

Jacques

Le 26/10/2015 11:58, Deepak Dixit a écrit :
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