spepping 2004/12/27 02:13:05
Modified: src/java/org/apache/fop/layoutmgr LayoutManagerMaker.java
LayoutManagerMapping.java
PageSequenceLayoutManager.java
src/java/org/apache/fop/area AreaTreeHandler.java
Log:
Changed LayoutManagerMaker.makeLayoutManager(FONode node) to throw a
FOPException, and removed LayoutManagerMaker.makeLayoutManager(FONode
node, boolean checkLength). Adapted LayoutManagerMapping,
PageSequenceLM and AreaTreeHandler.
Revision Changes Path
1.2 +19 -4
xml-fop/src/java/org/apache/fop/layoutmgr/LayoutManagerMaker.java
Index: LayoutManagerMaker.java
===================================================================
RCS file:
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/LayoutManagerMaker.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- LayoutManagerMaker.java 24 Dec 2004 12:06:26 -0000 1.1
+++ LayoutManagerMaker.java 27 Dec 2004 10:13:05 -0000 1.2
@@ -19,14 +19,29 @@
import java.util.List;
import org.apache.fop.fo.FONode;
+import org.apache.fop.apps.FOPException;
+/**
+ * The interface for all LayoutManager makers
+ */
public interface LayoutManagerMaker {
+ /**
+ * Make LayoutManagers for the node and add them to the list lms.
+ * @param node the FO node for which the LayoutManagers are made
+ * @param lms the list to which the LayoutManagers are added
+ */
public void makeLayoutManagers(FONode node, List lms);
- public LayoutManager makeLayoutManager(FONode node);
-
- public LayoutManager makeLayoutManager(FONode node, boolean checkLength);
+ /**
+ * Make the LayoutManager for the node.
+ * If not exactly one LayoutManagers is made,
+ * a FOPException is thrown.
+ * @param node the FO node for which the LayoutManagers are made
+ * @return The created LayoutManager
+ */
+ public LayoutManager makeLayoutManager(FONode node)
+ throws FOPException;
}
1.3 +217 -211
xml-fop/src/java/org/apache/fop/layoutmgr/LayoutManagerMapping.java
Index: LayoutManagerMapping.java
===================================================================
RCS file:
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/LayoutManagerMapping.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- LayoutManagerMapping.java 25 Dec 2004 01:08:10 -0000 1.2
+++ LayoutManagerMapping.java 27 Dec 2004 10:13:05 -0000 1.3
@@ -17,9 +17,6 @@
/* $Id$ */
package org.apache.fop.layoutmgr;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
@@ -27,6 +24,11 @@
import java.util.ListIterator;
import java.util.Iterator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.apache.fop.apps.FOPException;
+
import org.apache.fop.fo.FONode;
import org.apache.fop.fo.FOText;
import org.apache.fop.fo.FObj;
@@ -74,7 +76,7 @@
import org.apache.fop.layoutmgr.table.TableLayoutManager;
/**
- * The default class for creating layout managers.
+ * The default LayoutManager maker class
*/
public class LayoutManagerMapping implements LayoutManagerMaker {
@@ -92,175 +94,179 @@
* Initializes the set of maker objects associated with this
LayoutManagerMapping
*/
private void initialize() {
- makers.put(FOText.class, new FOTextLayoutManagerMaker());
- makers.put(FObjMixed.class, new Maker());
- makers.put(BidiOverride.class, new BidiOverrideLayoutManagerMaker());
- makers.put(Inline.class, new InlineLayoutManagerMaker());
- makers.put(Footnote.class, new FootnodeLayoutManagerMaker());
- makers.put(InlineContainer.class,
+ makers.put(FOText.class, new FOTextLayoutManagerMaker());
+ makers.put(FObjMixed.class, new Maker());
+ makers.put(BidiOverride.class, new BidiOverrideLayoutManagerMaker());
+ makers.put(Inline.class, new InlineLayoutManagerMaker());
+ makers.put(Footnote.class, new FootnodeLayoutManagerMaker());
+ makers.put(InlineContainer.class,
new InlineContainerLayoutManagerMaker());
- makers.put(BasicLink.class, new BasicLinkLayoutManagerMaker());
- makers.put(Block.class, new BlockLayoutManagerMaker());
- makers.put(Leader.class, new LeaderLayoutManagerMaker());
- makers.put(RetrieveMarker.class, new WrapperLayoutManagerMaker());
- makers.put(Character.class, new CharacterLayoutManagerMaker());
- makers.put(ExternalGraphic.class,
+ makers.put(BasicLink.class, new BasicLinkLayoutManagerMaker());
+ makers.put(Block.class, new BlockLayoutManagerMaker());
+ makers.put(Leader.class, new LeaderLayoutManagerMaker());
+ makers.put(RetrieveMarker.class, new WrapperLayoutManagerMaker());
+ makers.put(Character.class, new CharacterLayoutManagerMaker());
+ makers.put(ExternalGraphic.class,
new ExternalGraphicLayoutManagerMaker());
- makers.put(BlockContainer.class,
+ makers.put(BlockContainer.class,
new BlockContainerLayoutManagerMaker());
- makers.put(ListItem.class, new ListItemLayoutManagerMaker());
- makers.put(ListBlock.class, new ListBlockLayoutManagerMaker());
- makers.put(InstreamForeignObject.class,
+ makers.put(ListItem.class, new ListItemLayoutManagerMaker());
+ makers.put(ListBlock.class, new ListBlockLayoutManagerMaker());
+ makers.put(InstreamForeignObject.class,
new InstreamForeignObjectLayoutManagerMaker());
- makers.put(PageNumber.class, new PageNumberLayoutManagerMaker());
- makers.put(PageNumberCitation.class,
+ makers.put(PageNumber.class, new PageNumberLayoutManagerMaker());
+ makers.put(PageNumberCitation.class,
new PageNumberCitationLayoutManagerMaker());
- makers.put(PageSequence.class, new PageSequenceLayoutManagerMaker());
- makers.put(Table.class, new TableLayoutManagerMaker());
- makers.put(TableBody.class, new TableBodyLayoutManagerMaker());
- makers.put(TableColumn.class, new TableColumnLayoutManagerMaker());
- makers.put(TableRow.class, new TableRowLayoutManagerMaker());
- makers.put(TableCell.class, new TableCellLayoutManagerMaker());
- makers.put(TableFooter.class, new TableBodyLayoutManagerMaker());
- makers.put(TableHeader.class, new TableBodyLayoutManagerMaker());
- makers.put(Flow.class, new FlowLayoutManagerMaker());
- makers.put(StaticContent.class, new StaticContentLayoutManagerMaker());
- makers.put(Wrapper.class, new WrapperLayoutManagerMaker());
- makers.put(Title.class, new InlineLayoutManagerMaker());
+ makers.put(PageSequence.class, new PageSequenceLayoutManagerMaker());
+ makers.put(Table.class, new TableLayoutManagerMaker());
+ makers.put(TableBody.class, new TableBodyLayoutManagerMaker());
+ makers.put(TableColumn.class, new TableColumnLayoutManagerMaker());
+ makers.put(TableRow.class, new TableRowLayoutManagerMaker());
+ makers.put(TableCell.class, new TableCellLayoutManagerMaker());
+ makers.put(TableFooter.class, new TableBodyLayoutManagerMaker());
+ makers.put(TableHeader.class, new TableBodyLayoutManagerMaker());
+ makers.put(Flow.class, new FlowLayoutManagerMaker());
+ makers.put(StaticContent.class, new
StaticContentLayoutManagerMaker());
+ makers.put(Wrapper.class, new WrapperLayoutManagerMaker());
+ makers.put(Title.class, new InlineLayoutManagerMaker());
}
+ /**
+ * @see
org.apache.fop.layoutmgr.LayoutManagerMaker#makeLayoutManagers(FONode, List)
+ */
public void makeLayoutManagers(FONode node, List lms) {
- Maker maker = (Maker) makers.get(node.getClass());
- if (maker == null) {
+ Maker maker = (Maker) makers.get(node.getClass());
+ if (maker == null) {
log.error("No LayoutManager maker for class " + node.getClass());
} else {
- maker.make(node, lms);
- }
- }
-
- public LayoutManager makeLayoutManager(FONode node) {
- return makeLayoutManager(node, false);
+ maker.make(node, lms);
+ }
}
- public LayoutManager makeLayoutManager(FONode node, boolean checkLength)
{
+ /**
+ * @see
org.apache.fop.layoutmgr.LayoutManagerMaker#makeLayoutManager(FONode)
+ */
+ public LayoutManager makeLayoutManager(FONode node)
+ throws FOPException {
List lms = new ArrayList();
makeLayoutManagers(node, lms);
- LayoutManager lm = null;
- if (checkLength && lms.size() != 1) {
- log.error("More than 1 LayoutManager for class "
- + node.getClass()
- + "; 1 was requested");
- } else if (lms.size() != 0) {
- lm = (LayoutManager) lms.get(0);
+ if (lms.size() == 0) {
+ throw new FOPException("No LayoutManager for class "
+ + node.getClass()
+ + "; 1 was required");
+ } else if (lms.size() > 1) {
+ throw new FOPException("More than 1 LayoutManager for class "
+ + node.getClass()
+ + "; 1 was required");
}
- return lm;
+ return (LayoutManager) lms.get(0);
}
- public static class Maker {
- public void make(FONode node, List lms) {
+ public static class Maker {
+ public void make(FONode node, List lms) {
// no layout manager
- return;
- }
- }
-
- public static class FOTextLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
- FOText foText = (FOText) node;
- if (foText.endIndex - foText.startIndex > 0) {
- lms.add(new TextLayoutManager(foText));
- }
- }
- }
+ return;
+ }
+ }
+
+ public static class FOTextLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
+ FOText foText = (FOText) node;
+ if (foText.endIndex - foText.startIndex > 0) {
+ lms.add(new TextLayoutManager(foText));
+ }
+ }
+ }
/*
- public static class FObjMixedLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
- if (node.getChildNodes() != null) {
- InlineStackingLayoutManager lm;
- lm = new InlineStackingLayoutManager((FObjMixed) node);
- lms.add(lm);
- }
- }
- }
+ public static class FObjMixedLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
+ if (node.getChildNodes() != null) {
+ InlineStackingLayoutManager lm;
+ lm = new InlineStackingLayoutManager((FObjMixed) node);
+ lms.add(lm);
+ }
+ }
+ }
*/
- public static class BidiOverrideLayoutManagerMaker extends Maker {
+ public static class BidiOverrideLayoutManagerMaker extends Maker {
// public static class BidiOverrideLayoutManagerMaker extends
FObjMixedLayoutManagerMaker {
- public void make(BidiOverride node, List lms) {
- if (false) {
+ public void make(BidiOverride node, List lms) {
+ if (false) {
// this is broken; it does nothing
// it should make something like an InlineStackingLM
- super.make(node, lms);
- } else {
- ArrayList childList = new ArrayList();
+ super.make(node, lms);
+ } else {
+ ArrayList childList = new ArrayList();
// this is broken; it does nothing
// it should make something like an InlineStackingLM
- super.make(node, childList);
- for (int count = childList.size() - 1; count >= 0; count--)
{
- LayoutManager lm = (LayoutManager) childList.get(count);
- if (lm.generatesInlineAreas()) {
- LayoutManager blm = new BidiLayoutManager
+ super.make(node, childList);
+ for (int count = childList.size() - 1; count >= 0; count--) {
+ LayoutManager lm = (LayoutManager) childList.get(count);
+ if (lm.generatesInlineAreas()) {
+ LayoutManager blm = new BidiLayoutManager
(node, (InlineLayoutManager) lm);
- lms.add(blm);
- } else {
- lms.add(lm);
- }
- }
- }
- }
- }
+ lms.add(blm);
+ } else {
+ lms.add(lm);
+ }
+ }
+ }
+ }
+ }
- public static class InlineLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
+ public static class InlineLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
if (node.getChildNodes() != null) {
lms.add(new InlineLayoutManager((InlineLevel) node));
}
- }
- }
+ }
+ }
- public static class FootnodeLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
+ public static class FootnodeLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
Inline citation = ((Footnote) node).getInlineFO();
- if (citation != null) {
+ if (citation != null) {
lms.add(new InlineLayoutManager(citation));
}
- }
- }
+ }
+ }
- public static class InlineContainerLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
- ArrayList childList = new ArrayList();
- super.make(node, childList);
- lms.add(new ICLayoutManager((InlineContainer) node, childList));
- }
- }
+ public static class InlineContainerLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
+ ArrayList childList = new ArrayList();
+ super.make(node, childList);
+ lms.add(new ICLayoutManager((InlineContainer) node, childList));
+ }
+ }
- public static class BasicLinkLayoutManagerMaker extends Maker {
+ public static class BasicLinkLayoutManagerMaker extends Maker {
public void make(FONode node, List lms) {
lms.add(new BasicLinkLayoutManager((BasicLink) node));
}
}
- public static class BlockLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
- lms.add(new BlockLayoutManager((Block) node));
- }
- }
+ public static class BlockLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
+ lms.add(new BlockLayoutManager((Block) node));
+ }
+ }
- public static class LeaderLayoutManagerMaker extends Maker {
+ public static class LeaderLayoutManagerMaker extends Maker {
public void make(FONode node, List lms) {
lms.add(new LeaderLayoutManager((Leader) node));
}
}
- public static class CharacterLayoutManagerMaker extends Maker {
+ public static class CharacterLayoutManagerMaker extends Maker {
public void make(FONode node, List lms) {
lms.add(new CharacterLayoutManager((Character) node));
}
}
- public static class ExternalGraphicLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
+ public static class ExternalGraphicLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
ExternalGraphic eg = (ExternalGraphic) node;
if (!eg.getSrc().equals("")) {
lms.add(new ExternalGraphicLayoutManager(eg));
@@ -268,120 +274,120 @@
}
}
- public static class BlockContainerLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
- lms.add(new BlockContainerLayoutManager((BlockContainer) node));
- }
- }
+ public static class BlockContainerLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
+ lms.add(new BlockContainerLayoutManager((BlockContainer) node));
+ }
+ }
- public static class ListItemLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
+ public static class ListItemLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
lms.add(new ListItemLayoutManager((ListItem) node));
- }
- }
+ }
+ }
- public static class ListBlockLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
- lms.add(new ListBlockLayoutManager((ListBlock) node));
- }
- }
+ public static class ListBlockLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
+ lms.add(new ListBlockLayoutManager((ListBlock) node));
+ }
+ }
- public static class InstreamForeignObjectLayoutManagerMaker extends
Maker {
- public void make(FONode node, List lms) {
+ public static class InstreamForeignObjectLayoutManagerMaker extends
Maker {
+ public void make(FONode node, List lms) {
lms.add(new InstreamForeignObjectLM((InstreamForeignObject)
node));
}
}
- public static class PageNumberLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
+ public static class PageNumberLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
lms.add(new PageNumberLayoutManager((PageNumber) node));
- }
- }
+ }
+ }
- public static class PageNumberCitationLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
- lms.add(new
PageNumberCitationLayoutManager((PageNumberCitation) node));
- }
+ public static class PageNumberCitationLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
+ lms.add(new PageNumberCitationLayoutManager((PageNumberCitation)
node));
+ }
}
public static class PageSequenceLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
+ public void make(FONode node, List lms) {
lms.add(new PageSequenceLayoutManager((PageSequence) node));
}
}
- public static class TableLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
- Table table = (Table) node;
- TableLayoutManager tlm = new TableLayoutManager(table);
- ArrayList columns = table.getColumns();
- if (columns != null) {
- ArrayList columnLMs = new ArrayList();
- ListIterator iter = columns.listIterator();
- while (iter.hasNext()) {
+ public static class TableLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
+ Table table = (Table) node;
+ TableLayoutManager tlm = new TableLayoutManager(table);
+ ArrayList columns = table.getColumns();
+ if (columns != null) {
+ ArrayList columnLMs = new ArrayList();
+ ListIterator iter = columns.listIterator();
+ while (iter.hasNext()) {
columnLMs.add(new Column((TableColumn) iter.next()));
- }
- tlm.setColumns(columnLMs);
- }
- if (table.getTableHeader() != null) {
- tlm.setTableHeader(new
Body(table.getTableHeader()));
- }
- if (table.getTableFooter() != null) {
- tlm.setTableFooter(new
Body(table.getTableFooter()));
- }
- lms.add(tlm);
- }
- }
-
- public static class TableBodyLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
- lms.add(new Body((TableBody) node));
- }
+ }
+ tlm.setColumns(columnLMs);
+ }
+ if (table.getTableHeader() != null) {
+ tlm.setTableHeader(new Body(table.getTableHeader()));
+ }
+ if (table.getTableFooter() != null) {
+ tlm.setTableFooter(new Body(table.getTableFooter()));
+ }
+ lms.add(tlm);
+ }
+ }
+
+ public static class TableBodyLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
+ lms.add(new Body((TableBody) node));
+ }
- }
-
+ }
+
public static class TableColumnLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
+ public void make(FONode node, List lms) {
lms.add(new Column((TableColumn) node));
- }
- }
+ }
+ }
+
+ public static class TableRowLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
+ lms.add(new Row((TableRow) node));
+ }
+ }
+
+ public static class TableCellLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
+ lms.add(new Cell((TableCell) node));
+ }
+ }
- public static class TableRowLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
- lms.add(new Row((TableRow) node));
- }
- }
-
- public static class TableCellLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
- lms.add(new Cell((TableCell) node));
- }
- }
-
- public static class FlowLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
- lms.add(new FlowLayoutManager((Flow) node));
- }
- }
-
- public static class StaticContentLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
- lms.add(new StaticContentLayoutManager((StaticContent) node));
- }
- }
-
- public class WrapperLayoutManagerMaker extends Maker {
- public void make(FONode node, List lms) {
- Iterator baseIter;
- baseIter = node.getChildNodes();
- if (baseIter == null) {
+ public static class FlowLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
+ lms.add(new FlowLayoutManager((Flow) node));
+ }
+ }
+
+ public static class StaticContentLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
+ lms.add(new StaticContentLayoutManager((StaticContent) node));
+ }
+ }
+
+ public class WrapperLayoutManagerMaker extends Maker {
+ public void make(FONode node, List lms) {
+ Iterator baseIter;
+ baseIter = node.getChildNodes();
+ if (baseIter == null) {
return;
}
- while (baseIter.hasNext()) {
- FONode child = (FONode) baseIter.next();
- makeLayoutManagers(child, lms);
- }
- }
- }
+ while (baseIter.hasNext()) {
+ FONode child = (FONode) baseIter.next();
+ makeLayoutManagers(child, lms);
+ }
+ }
+ }
}
1.21 +18 -9
xml-fop/src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java
Index: PageSequenceLayoutManager.java
===================================================================
RCS file:
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- PageSequenceLayoutManager.java 24 Dec 2004 12:06:26 -0000 1.20
+++ PageSequenceLayoutManager.java 27 Dec 2004 10:13:05 -0000 1.21
@@ -502,7 +502,17 @@
}
RegionViewport reg =
curPage.getPage().getRegionViewport(region.getNameId());
- StaticContentLayoutManager lm = getStaticContentLayoutManager(flow);
+ StaticContentLayoutManager lm;
+ try {
+ lm = getStaticContentLayoutManager(flow);
+ } catch (FOPException e) {
+ log.error
+ ("Failed to create a StaticContentLayoutManager for flow "
+ + flow.getFlowName()
+ + "; no static content will be laid out:");
+ log.error(e.getMessage());
+ return;
+ }
lm.initialize();
lm.setRegionReference(reg.getRegion());
lm.setParent(this);
@@ -515,9 +525,9 @@
List vecBreakPoss = new ArrayList();
vecBreakPoss.add(bp);
lm.addAreas(new BreakPossPosIter(vecBreakPoss, 0,
- vecBreakPoss.size()),
null);
+ vecBreakPoss.size()), null);
} else {
- log.error("bp==null cls=" + region.getRegionName());
+ log.error("bp==null cls=" + region.getRegionName());
}
}
//lm.flush();
@@ -905,14 +915,13 @@
/**
* @return a StaticContent layout manager
*/
- private StaticContentLayoutManager
getStaticContentLayoutManager(StaticContent sc) {
+ private StaticContentLayoutManager
getStaticContentLayoutManager(StaticContent sc)
+ throws FOPException {
StaticContentLayoutManager lm =
- (StaticContentLayoutManager)
- staticContentLMs.get(sc.getFlowName());
+ (StaticContentLayoutManager)
staticContentLMs.get(sc.getFlowName());
if (lm == null) {
lm = (StaticContentLayoutManager)
- getAreaTreeHandler().getLayoutManagerMaker().
- makeLayoutManager(sc);
+
getAreaTreeHandler().getLayoutManagerMaker().makeLayoutManager(sc);
staticContentLMs.put(sc.getFlowName(), lm);
}
return lm;
1.29 +9 -3 xml-fop/src/java/org/apache/fop/area/AreaTreeHandler.java
Index: AreaTreeHandler.java
===================================================================
RCS file:
/home/cvs/xml-fop/src/java/org/apache/fop/area/AreaTreeHandler.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- AreaTreeHandler.java 24 Dec 2004 12:06:25 -0000 1.28
+++ AreaTreeHandler.java 27 Dec 2004 10:13:05 -0000 1.29
@@ -229,9 +229,15 @@
// If no main flow, nothing to layout!
if (pageSequence.getMainFlow() != null) {
- PageSequenceLayoutManager pageSLM =
- (PageSequenceLayoutManager)
+ PageSequenceLayoutManager pageSLM;
+ try {
+ pageSLM = (PageSequenceLayoutManager)
getLayoutManagerMaker().makeLayoutManager(pageSequence);
+ } catch (FOPException e) {
+ log.error("Failed to create a PageSequenceLayoutManager; no
pages will be laid out:");
+ log.error(e.getMessage());
+ return;
+ }
pageSLM.setAreaTreeHandler(this);
pageSLM.activateLayout();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]