Author: vhennebert
Date: Wed Oct 28 16:01:31 2009
New Revision: 830654

URL: http://svn.apache.org/viewvc?rev=830654&view=rev
Log:
The warning "Non restartable content flowing to narrower page" needs to be 
routed through the event notification system

Modified:
    xmlgraphics/fop/trunk/src/java/org/apache/fop/events/EventFormatter.xml
    xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java
    
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLevelEventProducer.java

Modified: 
xmlgraphics/fop/trunk/src/java/org/apache/fop/events/EventFormatter.xml
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/events/EventFormatter.xml?rev=830654&r1=830653&r2=830654&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/events/EventFormatter.xml 
(original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/events/EventFormatter.xml Wed 
Oct 28 16:01:31 2009
@@ -93,6 +93,7 @@
   <message 
key="org.apache.fop.layoutmgr.BlockLevelEventProducer.pageSequenceMasterExhausted">Subsequences
 exhausted in page-sequence-master "{pageSequenceMasterName}", 
{canRecover,if,using previous subsequence,cannot recover}.{{locator}}</message>
   <message 
key="org.apache.fop.layoutmgr.BlockLevelEventProducer.missingSubsequencesInPageSequenceMaster">No
 subsequences in page-sequence-master 
"{pageSequenceMasterName}".{{locator}}</message>
   <message 
key="org.apache.fop.layoutmgr.BlockLevelEventProducer.noMatchingPageMaster">No 
simple-page-master matching "{pageMasterName}" in page-sequence-master 
"{pageSequenceMasterName}".{{locator}}</message>
+  <message 
key="org.apache.fop.layoutmgr.BlockLevelEventProducer.nonRestartableContentFlowingToNarrowerPage">Content
 that cannot handle IPD changes is flowing to a narrower page. Part of it may 
be clipped by the page border.</message>
   <message key="org.apache.fop.svg.SVGEventProducer.error">SVG error: 
{message}</message>
   <message key="org.apache.fop.svg.SVGEventProducer.alert">SVG alert: 
{message}</message>
   <message key="org.apache.fop.svg.SVGEventProducer.info">SVG info: 
{message}</message>

Modified: 
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java?rev=830654&r1=830653&r2=830654&view=diff
==============================================================================
--- 
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java 
(original)
+++ 
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java 
Wed Oct 28 16:01:31 2009
@@ -28,6 +28,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
+import org.apache.fop.events.EventBroadcaster;
 import org.apache.fop.fo.Constants;
 import org.apache.fop.layoutmgr.BreakingAlgorithm.KnuthNode;
 import org.apache.fop.traits.MinOptMax;
@@ -382,9 +383,11 @@
                     List firstElements = Collections.EMPTY_LIST;
                     if (containsNonRestartableLM(positionAtBreak)) {
                         if (alg.getIPDdifference() > 0) {
-                            log.warn("Content that cannot handle IPD changes 
is flowing to a"
-                                    + " narrower page. Part of it may be 
clipped"
-                                    + " by the page border.");
+                            EventBroadcaster eventBroadcaster = 
getCurrentChildLM().getFObj()
+                                    .getUserAgent().getEventBroadcaster();
+                            BlockLevelEventProducer eventProducer
+                                    = 
BlockLevelEventProducer.Provider.get(eventBroadcaster);
+                            
eventProducer.nonRestartableContentFlowingToNarrowerPage(this);
                         }
                         firstElements = new LinkedList();
                         boolean boxFound = false;

Modified: 
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLevelEventProducer.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLevelEventProducer.java?rev=830654&r1=830653&r2=830654&view=diff
==============================================================================
--- 
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLevelEventProducer.java
 (original)
+++ 
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLevelEventProducer.java
 Wed Oct 28 16:01:31 2009
@@ -33,7 +33,9 @@
     /**
      * Provider class for the event producer.
      */
-    class Provider {
+    final class Provider {
+
+        private Provider() { }
 
         /**
          * Returns an event producer.
@@ -165,4 +167,12 @@
     void noMatchingPageMaster(Object source, String pageSequenceMasterName,
             String pageMasterName, Locator loc) throws PageProductionException;
 
+    /**
+     * An element that cannot handle changing IPD (list, table) is flowing to 
a narrower
+     * page. Some content may be lost.
+     *
+     * @param source the event source
+     * @event.severity WARN
+     */
+    void nonRestartableContentFlowingToNarrowerPage(Object source);
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to