[Libreoffice-commits] core.git: Branch 'libreoffice-4-3' - reportbuilder/java
Lionel Elie Mamane
lionel at mamane.lu
Wed May 28 08:30:49 PDT 2014
reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormatValueUtility.java | 25 ++--------
1 file changed, 7 insertions(+), 18 deletions(-)
New commits:
commit 15499eae7edf9227996618d8a6d68cc9dac2c086
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Tue May 27 12:09:37 2014 +0200
fdo#67935 "print on group change" acted as "print in first group instance"
The "parent" group changed iff this is the first iteration of *this*
group *or* *detail* *section*.
The "parent" group's first iteration means that we are in the first
value of the parent group (in other words, the *grand*-*parent* group
changed).
Change-Id: Ia4a798cb37db2f17e7deef1058b25795bfc02648
Reviewed-on: https://gerrit.libreoffice.org/9503
Reviewed-by: Lionel Elie Mamane <lionel at mamane.lu>
Tested-by: Lionel Elie Mamane <lionel at mamane.lu>
(cherry picked from commit aa48af57531851a16204381854f1ee19ebb63a6a)
Reviewed-on: https://gerrit.libreoffice.org/9504
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormatValueUtility.java b/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormatValueUtility.java
index eca94e6..b4c5180 100644
--- a/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormatValueUtility.java
+++ b/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormatValueUtility.java
@@ -44,6 +44,7 @@ import org.jfree.report.flow.layoutprocessor.LayoutControllerUtil;
import org.jfree.report.flow.layoutprocessor.SectionLayoutController;
import org.jfree.report.structure.Element;
import org.jfree.report.structure.Group;
+import org.jfree.report.structure.DetailSection;
import org.pentaho.reporting.libraries.formula.lvalues.ContextLookup;
import org.pentaho.reporting.libraries.formula.lvalues.LValue;
@@ -257,14 +258,14 @@ public class FormatValueUtility
return true;
}
- public static boolean isGroupChanged(LayoutController ref)
+ private static boolean isGroupChanged(LayoutController ref)
{
// search the group.
- final SectionLayoutController slc = findGroup(ref);
+ final SectionLayoutController slc = findGroupOrDetail(ref);
if (slc == null)
{
- // Always print the content of the report header and footer and
- // the page header and footer.
+ // {Page, Report} Ã {Header, Footer} have no usable iteration count
+ // err on the side of showing them rather than not showing them
return true;
}
@@ -272,10 +273,9 @@ public class FormatValueUtility
return slc.getIterationCount() == 0;
}
- public static SectionLayoutController findGroup(LayoutController ref)
+ private static SectionLayoutController findGroupOrDetail(LayoutController ref)
{
LayoutController parent = ref.getParent();
- boolean skipNext = false;
while (parent != null)
{
if (!(parent instanceof SectionLayoutController))
@@ -286,19 +286,8 @@ public class FormatValueUtility
{
final SectionLayoutController slc = (SectionLayoutController) parent;
final Element element = slc.getElement();
- if (element instanceof OfficeGroupSection)
+ if (!(element instanceof Group || element instanceof DetailSection))
{
- // This is a header or footer. So we take the next group instead.
- skipNext = true;
- parent = parent.getParent();
- }
- else if (!(element instanceof Group))
- {
- parent = parent.getParent();
- }
- else if (skipNext)
- {
- skipNext = false;
parent = parent.getParent();
}
else
More information about the Libreoffice-commits
mailing list