From: Peter Bernard West Date: Thu, 21 Nov 2002 08:11:50 +0000 (+0000) Subject: Add processing of simplepage-masters into PageSequenceMasters. X-Git-Tag: Alt-Design_pre_src-java-org~94 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=3f6fac55267aa28b0e071bfec312bba6f3587eeb;p=xmlgraphics-fop.git Add processing of simplepage-masters into PageSequenceMasters. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/FOP_0-20-0_Alt-Design@195588 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/org/apache/fop/fo/pagination/FoLayoutMasterSet.java b/src/org/apache/fop/fo/pagination/FoLayoutMasterSet.java index ec57b31bb..6317b428b 100644 --- a/src/org/apache/fop/fo/pagination/FoLayoutMasterSet.java +++ b/src/org/apache/fop/fo/pagination/FoLayoutMasterSet.java @@ -1,6 +1,6 @@ package org.apache.fop.fo.pagination; -import java.util.Set; +import java.util.Collection; import java.util.HashMap; import java.util.LinkedList; import java.util.Iterator; @@ -150,6 +150,7 @@ public class FoLayoutMasterSet extends FONode { ("simple-page-master master-name clash in " + "simplePageMasters: " + masterName); simplePageMasters.put(masterName, simple); + System.out.println("simple-page-master ok"); } else if (foType == FObjectNames.PAGE_SEQUENCE_MASTER) { //System.out.println("Found page-sequence-master"); try { @@ -169,6 +170,7 @@ public class FoLayoutMasterSet extends FONode { ("page-sequence-master master-name clash in " + "simplePageMasters: " + masterName); pageMasters.put(masterName, foPageSeq); + System.out.println("page-sequence-master ok"); } else throw new FOPException ("Aargh! expectStartElement(events, list)"); @@ -185,25 +187,32 @@ public class FoLayoutMasterSet extends FONode { catch (TreeException e) { throw new FOPException(e); } - if (pageMasters.size() == 0) + if (pageMasters.size() == 0 && simplePageMasters.size() == 0) throw new FOPException ("No page masters defined in layout-master-set."); // Create the master set structures. - // Scan the page-sequence-masters // N.B. Processing of the page-sequence-masters must be deferred until // now because contained master-references may be to // simple-page-masters which follow the page-sequence-master in the // input tree. - Set pageSeqSet = pageMasters.keySet(); - Iterator pageSeqNames = pageSeqSet.iterator(); - while (pageSeqNames.hasNext()) { - masterName = (String)(pageSeqNames.next()); + // Scan the simple-page-masters + Collection set = simplePageMasters.values(); + Iterator values = set.iterator(); + while (values.hasNext()) { + // Create a new PageSequenceMaster object - NOT an foPageSeqM + PageSequenceMaster pageSeq = new PageSequenceMaster + ((FoSimplePageMaster)(values.next())); + pageSequenceMasters.put(pageSeq.getMasterName(), pageSeq); + } + // Scan the page-sequence-masters + set = pageMasters.values(); + values = set.iterator(); + while (values.hasNext()) { // Get the FoPageSequenceMaster - foPageSeq = (FoPageSequenceMaster)(pageMasters.get(masterName)); // Create a new PageSequenceMaster object - NOT an foPageSeqM PageSequenceMaster pageSeq = new PageSequenceMaster - (masterName, foPageSeq, simplePageMasters); - pageSequenceMasters.put(masterName, pageSeq); + ((FoPageSequenceMaster)(values.next()), simplePageMasters); + pageSequenceMasters.put(pageSeq.getMasterName(), pageSeq); } }