Author: ssteiner
Date: Thu Sep 28 14:45:41 2017
New Revision: 1810008
URL: http://svn.apache.org/viewvc?rev=1810008&view=rev
Log:
FOP-2744: Allow unmapped flow for repeatable-page-master
Added:
xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/simple-page-master_unmapped_flow-name_2.xml
(with props)
Modified:
xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java
xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/layoutmgr/PageSequenceLayoutManagerTestCase.java
Modified:
xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java?rev=1810008&r1=1810007&r2=1810008&view=diff
==============================================================================
---
xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java
(original)
+++
xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java
Thu Sep 28 14:45:41 2017
@@ -205,7 +205,8 @@ public class PageSequenceLayoutManager e
String psName = getPageSequence().getMainFlow().getFlowName();
Region body = newPage.getSimplePageMaster().getRegion(FO_REGION_BODY);
String name = body.getRegionName();
- if (strict && !name.equals(psName) &&
!name.equals(((RegionBody)body).getDefaultRegionName())) {
+ if (strict && !name.equals(psName) &&
!name.equals(((RegionBody)body).getDefaultRegionName())
+ && getPageSequence().hasPagePositionLast()) {
throw new RuntimeException(
"The flow-name \"" + name + "\" could not be mapped to a
region-name in the layout-master-set");
}
Modified:
xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/layoutmgr/PageSequenceLayoutManagerTestCase.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/layoutmgr/PageSequenceLayoutManagerTestCase.java?rev=1810008&r1=1810007&r2=1810008&view=diff
==============================================================================
---
xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/layoutmgr/PageSequenceLayoutManagerTestCase.java
(original)
+++
xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/layoutmgr/PageSequenceLayoutManagerTestCase.java
Thu Sep 28 14:45:41 2017
@@ -127,6 +127,7 @@ public class PageSequenceLayoutManagerTe
when(flow.getFlowName()).thenReturn(MAIN_FLOW_NAME);
when(pseq.getRoot()).thenReturn(root);
+ when(pseq.hasPagePositionLast()).thenReturn(true);
when(pseq.getMainFlow()).thenReturn(flow);
PageSequenceLayoutManager pageSequenceLayoutManager = new
PageSequenceLayoutManager(ath, pseq) {
Added:
xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/simple-page-master_unmapped_flow-name_2.xml
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/simple-page-master_unmapped_flow-name_2.xml?rev=1810008&view=auto
==============================================================================
---
xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/simple-page-master_unmapped_flow-name_2.xml
(added)
+++
xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/simple-page-master_unmapped_flow-name_2.xml
Thu Sep 28 14:45:41 2017
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+ <info>
+ <p>
+ This test checks that when the region-body@region-name of
simple-page-master does not map to
+ the main flow, the PageSequenceLayoutManager treats the generated Page
as an empty/blank page.
+ </p>
+ </info>
+ <fo>
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:fox="http://xmlgraphics.apache.org/fop/extensions">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="CoverFront" page-width="8.5in"
page-height="11in">
+ <fo:region-body region-name="CoverPageBody"/>
+ </fo:simple-page-master>
+ <fo:simple-page-master master-name="CoverBack" page-width="8.5in"
page-height="11in">
+ <fo:region-body region-name="CoverPageBody"/>
+ </fo:simple-page-master>
+ <fo:simple-page-master master-name="Invoice_First_Page"
page-width="8.5in" page-height="11in">
+ <fo:region-body region-name="PageBody"/>
+ </fo:simple-page-master>
+ <fo:page-sequence-master master-name="Cover">
+ <fo:repeatable-page-master-reference maximum-repeats="1"
master-reference="CoverFront"/>
+ <fo:repeatable-page-master-reference maximum-repeats="1"
master-reference="CoverBack"/>
+ <fo:repeatable-page-master-reference maximum-repeats="1"
master-reference="Invoice_First_Page"/>
+ </fo:page-sequence-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="Cover">
+ <fo:flow flow-name="PageBody">
+ <fo:block>test</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+ </fo:root>
+ </fo>
+ <checks>
+ <eval expected="CoverPageBody"
xpath="//pageViewport[1]//regionBody/@name"/>
+ <eval expected="CoverPageBody"
xpath="//pageViewport[2]//regionBody/@name"/>
+ <eval expected="PageBody" xpath="//pageViewport[3]//regionBody/@name"/>
+ </checks>
+</testcase>
Propchange:
xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/simple-page-master_unmapped_flow-name_2.xml
------------------------------------------------------------------------------
svn:eol-style = native
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]