aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/java/org/apache/fop/fo/flow/table/EmptyGridUnit.java7
-rw-r--r--src/java/org/apache/fop/fo/flow/table/GridUnit.java9
-rw-r--r--src/java/org/apache/fop/fo/flow/table/PrimaryGridUnit.java14
-rw-r--r--src/java/org/apache/fop/layoutmgr/table/TableContentLayoutManager.java2
4 files changed, 15 insertions, 17 deletions
diff --git a/src/java/org/apache/fop/fo/flow/table/EmptyGridUnit.java b/src/java/org/apache/fop/fo/flow/table/EmptyGridUnit.java
index 201029ff1..2c910d3f8 100644
--- a/src/java/org/apache/fop/fo/flow/table/EmptyGridUnit.java
+++ b/src/java/org/apache/fop/fo/flow/table/EmptyGridUnit.java
@@ -25,8 +25,6 @@ package org.apache.fop.fo.flow.table;
*/
public class EmptyGridUnit extends GridUnit {
- private TableBody body;
-
/**
* @param table the containing table
* @param row the table-row element this grid unit belongs to (if any)
@@ -57,11 +55,6 @@ public class EmptyGridUnit extends GridUnit {
}
/** {@inheritDoc} */
- public TableBody getBody() {
- return this.body;
- }
-
- /** {@inheritDoc} */
public boolean isLastGridUnitColSpan() {
return true;
}
diff --git a/src/java/org/apache/fop/fo/flow/table/GridUnit.java b/src/java/org/apache/fop/fo/flow/table/GridUnit.java
index 23d1cc001..b9394ff31 100644
--- a/src/java/org/apache/fop/fo/flow/table/GridUnit.java
+++ b/src/java/org/apache/fop/fo/flow/table/GridUnit.java
@@ -19,7 +19,6 @@
package org.apache.fop.fo.flow.table;
-import org.apache.fop.fo.FONode;
import org.apache.fop.fo.properties.CommonBorderPaddingBackground;
import org.apache.fop.fo.properties.CommonBorderPaddingBackground.BorderInfo;
import org.apache.fop.layoutmgr.table.CollapsingBorderModel;
@@ -165,14 +164,6 @@ public class GridUnit {
this.row = row;
}
- public TableBody getBody() {
- FONode node = getCell();
- while (node != null && !(node instanceof TableBody)) {
- node = node.getParent();
- }
- return (TableBody) node;
- }
-
/**
* Returns the before-start grid unit of the cell containing this grid unit.
*
diff --git a/src/java/org/apache/fop/fo/flow/table/PrimaryGridUnit.java b/src/java/org/apache/fop/fo/flow/table/PrimaryGridUnit.java
index 1a47a7dcf..297a3176c 100644
--- a/src/java/org/apache/fop/fo/flow/table/PrimaryGridUnit.java
+++ b/src/java/org/apache/fop/fo/flow/table/PrimaryGridUnit.java
@@ -23,6 +23,7 @@ import java.util.LinkedList;
import java.util.List;
import org.apache.fop.fo.Constants;
+import org.apache.fop.fo.FONode;
import org.apache.fop.fo.properties.CommonBorderPaddingBackground;
import org.apache.fop.layoutmgr.ElementListUtils;
import org.apache.fop.layoutmgr.table.TableCellLayoutManager;
@@ -71,6 +72,19 @@ public class PrimaryGridUnit extends GridUnit {
.getValue() / 2; // TODO
}
+ /**
+ * Returns the fo:table-header/footer/body element containing this cell.
+ *
+ * @return the enclosing table part
+ */
+ public TableBody getTableBody() {
+ FONode node = cell.getParent();
+ if (node instanceof TableRow) {
+ node = node.getParent();
+ }
+ return (TableBody) node;
+ }
+
public TableCellLayoutManager getCellLM() {
assert cellLM != null;
return cellLM;
diff --git a/src/java/org/apache/fop/layoutmgr/table/TableContentLayoutManager.java b/src/java/org/apache/fop/layoutmgr/table/TableContentLayoutManager.java
index b9a118e28..5fad1e4c5 100644
--- a/src/java/org/apache/fop/layoutmgr/table/TableContentLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/table/TableContentLayoutManager.java
@@ -406,7 +406,7 @@ public class TableContentLayoutManager implements PercentBaseContext {
lst.add(tcpos);
CellPart part = (CellPart)tcpos.cellParts.get(0);
if (body == null) {
- body = part.pgu.getBody();
+ body = part.pgu.getTableBody();
}
if (tcpos.getFlag(TableContentPosition.FIRST_IN_ROWGROUP)
&& tcpos.getRow().getFlag(EffRow.FIRST_IN_PART)) {