[FOray-commit] SF.net SVN: foray:[12351] trunk/foray
Modular XSL-FO Implementation for Java.
Status: Alpha
Brought to you by:
victormote
|
From: <vic...@us...> - 2022-01-06 14:58:36
|
Revision: 12351
http://sourceforge.net/p/foray/code/12351
Author: victormote
Date: 2022-01-06 14:58:34 +0000 (Thu, 06 Jan 2022)
Log Message:
-----------
Conform to aXSL changes: Change API for iteration of region-body reference areas.
Modified Paths:
--------------
trunk/foray/foray-areatree/src/main/java/org/foray/area/PageCollection4a.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/PageRa4a.java
trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionBodyRa4a.java
trunk/foray/foray-render/src/main/java/org/foray/render/Renderer.java
trunk/foray/foray-render/src/main/java/org/foray/render/xml/XmlRenderer.java
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/PageCollection4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/PageCollection4a.java 2022-01-06 13:51:56 UTC (rev 12350)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/PageCollection4a.java 2022-01-06 14:58:34 UTC (rev 12351)
@@ -193,8 +193,7 @@
}
@Override
- public PageRa makePage(final Force forceValue)
- throws AreaTreeException {
+ public PageRa4a makePage(final Force forceValue) throws AreaTreeException {
boolean isBlank = false;
if (Force.ODD.equals(forceValue)) {
if (getCurrentPageNumber() % 2 == 0) {
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/PageRa4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/PageRa4a.java 2022-01-06 13:51:56 UTC (rev 12350)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/PageRa4a.java 2022-01-06 14:58:34 UTC (rev 12351)
@@ -55,10 +55,7 @@
import org.axsl.galley.GalleyVisitorException;
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
/**
* Area containing a page.
@@ -75,8 +72,7 @@
private List<AreaNode4a> children = new ArrayList<AreaNode4a>();
/** The child region-body(s). */
- private Map<String, RegionBodyRa4a> bodies =
- new HashMap<String, RegionBodyRa4a>();
+ private List<RegionBodyRa4a> bodies = new ArrayList<RegionBodyRa4a>();
/** The child region-before. */
private RegionOuterRa4a before;
@@ -185,10 +181,10 @@
return this.end;
}
- @Override
- public Collection<RegionBodyRa4a> getRegionBodies() {
- return this.bodies.values();
- }
+// @Override
+// public Collection<RegionBodyRa4a> getRegionBodies() {
+// return this.bodies.values();
+// }
@Override
public int getHeight() {
@@ -239,11 +235,9 @@
private void createRegionBody() {
final SimplePageMaster simplePageMaster = getPageMaster();
for (RegionBody regionBody : simplePageMaster.getRegionBodies()) {
- final RegionBodyRa4a area = RegionBodyRa4a.makeRegionBodyArea(
- regionBody, this);
+ final RegionBodyRa4a area = RegionBodyRa4a.makeRegionBodyArea(regionBody, this);
this.children.add(area);
- final String name = regionBody.traitRegionName();
- this.bodies.put(name, area);
+ this.bodies.add(area);
}
}
@@ -442,15 +436,9 @@
}
}
- /**
- * {@inheritDoc}
- * Overrides method in Area, because at this point, a new page needs to
- * be created.
- */
@Override
- public Area4a getOverflowArea(final Area4a childRequesting)
- throws AreaTreeException {
- return (PageRa4a) getParent().makePage(Force.NONE);
+ public PageRa4a getOverflowArea(final Area4a childRequesting) throws AreaTreeException {
+ return getParent().makePage(Force.NONE);
}
/**
@@ -727,8 +715,9 @@
* @return True if and only if this page is blank.
*/
public boolean isBlank() {
- for (RegionBodyRa4a body : this.bodies.values()) {
- if (body.areaNodeCount() > 0) {
+ for (int index = 0; index < this.bodies.size(); index ++) {
+ final RegionBodyRa4a regionBodyRa = this.bodies.get(index);
+ if (regionBodyRa.areaNodeCount() > 0) {
return false;
}
}
@@ -741,7 +730,15 @@
* @return The named region.
*/
public RegionBodyRa4a getRegionBody(final String regionName) {
- return this.bodies.get(regionName);
+ /* We could put these in a Map, but it seems unlikely that there will usually be more than one element. */
+ for (int index = 0; index < this.bodies.size(); index ++) {
+ final RegionBodyRa4a regionBodyRa = this.bodies.get(index);
+ final RegionBody regionBody = regionBodyRa.traitGeneratedBy();
+ if (regionBody.traitRegionName().equals(regionName)) {
+ return regionBodyRa;
+ }
+ }
+ return null;
}
@Override
@@ -820,4 +817,14 @@
return traitGeneratedBy().traitPageHeight();
}
+ @Override
+ public int getRegionBodyCount() {
+ return this.bodies.size();
+ }
+
+ @Override
+ public RegionBodyRa4a getRegionBodyAt(final int index) {
+ return this.bodies.get(index);
+ }
+
}
Modified: trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionBodyRa4a.java
===================================================================
--- trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionBodyRa4a.java 2022-01-06 13:51:56 UTC (rev 12350)
+++ trunk/foray/foray-areatree/src/main/java/org/foray/area/RegionBodyRa4a.java 2022-01-06 14:58:34 UTC (rev 12351)
@@ -57,7 +57,7 @@
private Link<RegionBody> foLink;
/** The parent of this node. */
- private AreaNode4a parent;
+ private PageRa4a parent;
/** The children of this node. */
private List<AreaNode4a> children = new ArrayList<AreaNode4a>();
@@ -236,11 +236,10 @@
}
@Override
- public Area4a getOverflowArea(final Area4a childRequesting)
- throws AreaTreeException {
- final PageRa4a page = (PageRa4a) ancestorArea().getOverflowArea(this);
- final String name = this.traitGeneratedBy().traitRegionName();
- return page.getRegionBody(name);
+ public Area4a getOverflowArea(final Area4a childRequesting) throws AreaTreeException {
+ /* The region-body cannot make another instance of itself without creating a new page. */
+ final PageRa4a page = getParent().getOverflowArea(this);
+ return page.getRegionBodyAt(0);
}
/**
@@ -318,13 +317,13 @@
}
@Override
- public AreaNode4a getParent() {
+ public PageRa4a getParent() {
return this.parent;
}
@Override
public void setParent(final AreaNode4a node) throws AreaTreeException {
- this.parent = node;
+ throw new IllegalStateException();
}
@Override
Modified: trunk/foray/foray-render/src/main/java/org/foray/render/Renderer.java
===================================================================
--- trunk/foray/foray-render/src/main/java/org/foray/render/Renderer.java 2022-01-06 13:51:56 UTC (rev 12350)
+++ trunk/foray/foray-render/src/main/java/org/foray/render/Renderer.java 2022-01-06 14:58:34 UTC (rev 12351)
@@ -327,7 +327,8 @@
* @throws GalleyVisitorException For errors during rendering.
*/
protected void renderRegions(final PageG5 page) throws GalleyVisitorException {
- for (RegionAreaG5 regionBody : page.getRegionBodies()) {
+ for (int index = 0; index < page.getRegionBodyCount(); index ++) {
+ final RegionAreaG5 regionBody = page.getRegionBodyAt(index);
visit(regionBody);
}
if (page.getRegionBefore() != null) {
Modified: trunk/foray/foray-render/src/main/java/org/foray/render/xml/XmlRenderer.java
===================================================================
--- trunk/foray/foray-render/src/main/java/org/foray/render/xml/XmlRenderer.java 2022-01-06 13:51:56 UTC (rev 12350)
+++ trunk/foray/foray-render/src/main/java/org/foray/render/xml/XmlRenderer.java 2022-01-06 14:58:34 UTC (rev 12351)
@@ -125,9 +125,12 @@
if (end != null) {
visit(end);
}
- for (RegionAreaG5 regionBody : page.getRegionBodies()) {
+
+ for (int index = 0; index < page.getRegionBodyCount(); index ++) {
+ final RegionAreaG5 regionBody = page.getRegionBodyAt(index);
visit(regionBody);
}
+
this.writeEndTag(page);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|