You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by je...@apache.org on 2008/03/24 18:00:10 UTC

svn commit: r640463 - in /xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop: area/ events/ render/

Author: jeremias
Date: Mon Mar 24 09:59:52 2008
New Revision: 640463

URL: http://svn.apache.org/viewvc?rev=640463&view=rev
Log:
Event in area package.
Exposed getUserAgent() in Renderer interface (was already public in AbstractRenderer).

Added:
    xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/AreaEventProducer.java   (with props)
Modified:
    xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/AreaTreeHandler.java
    xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/AreaTreeObject.java
    xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/CachedRenderPagesModel.java
    xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/PageViewport.java
    xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/RenderPagesModel.java
    xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventFormatter.xml
    xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/ResourceEventProducer.java
    xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/render/AbstractRenderer.java
    xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/render/Renderer.java

Added: xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/AreaEventProducer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/AreaEventProducer.java?rev=640463&view=auto
==============================================================================
--- xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/AreaEventProducer.java (added)
+++ xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/AreaEventProducer.java Mon Mar 24 09:59:52 2008
@@ -0,0 +1,91 @@
+/*
+ * 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$ */
+
+package org.apache.fop.area;
+
+import org.apache.fop.events.EventBroadcaster;
+import org.apache.fop.events.EventProducer;
+
+/**
+ * Event producer interface for events related to the area tree.
+ */
+public interface AreaEventProducer extends EventProducer {
+
+    /**
+     * Factory class for the event producer.
+     */
+    class Factory {
+        
+        /**
+         * Creates a new event producer.
+         * @param broadcaster the event broadcaster to use
+         * @return the new event producer
+         */
+        public static AreaEventProducer create(EventBroadcaster broadcaster) {
+            return (AreaEventProducer)broadcaster.getEventProducerFor(
+                    AreaEventProducer.class);
+        }
+    }
+
+    /**
+     * An unresolved ID reference was encountered.
+     * @param source the event source
+     * @param type the type of reference
+     * @param id the unresolved ID
+     * @event.severity WARN
+     */
+    void unresolvedIDReference(Object source, String type, String id);
+    
+    /**
+     * An unresolved ID reference was encountered on a page.
+     * @param source the event source
+     * @param page the page the ID reference was found on
+     * @param id the unresolved ID
+     * @event.severity WARN
+     */
+    void unresolvedIDReferenceOnPage(Object source, String page, String id);
+    
+    /**
+     * A page could not be loaded/deserialized from a file.
+     * @param source the event source
+     * @param page the page to be loaded
+     * @param e the original exception
+     * @event.severity ERROR
+     */
+    void pageLoadError(Object source, String page, Exception e);
+    
+    /**
+     * A page could not be saved/serialized to a file.
+     * @param source the event source
+     * @param page the page to be serialized
+     * @param e the original exception
+     * @event.severity ERROR
+     */
+    void pageSaveError(Object source, String page, Exception e);
+    
+    /**
+     * A page could not be rendered.
+     * @param source the event source
+     * @param page the page to be serialized
+     * @param e the original exception
+     * @event.severity ERROR
+     */
+    void pageRenderingError(Object source, String page, Exception e);
+    
+}

Propchange: xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/AreaEventProducer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/AreaEventProducer.java
------------------------------------------------------------------------------
    svn:keywords = Id

Modified: xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/AreaTreeHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/AreaTreeHandler.java?rev=640463&r1=640462&r2=640463&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/AreaTreeHandler.java (original)
+++ xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/AreaTreeHandler.java Mon Mar 24 09:59:52 2008
@@ -325,8 +325,9 @@
                 if (pageVPList != null) {
                     res.resolveIDRef(ids[count], pageVPList);
                 } else {
-                    log.warn(odi.getName() + ": Unresolved id reference \""
-                            + ids[count] + "\" found.");
+                    AreaEventProducer eventProducer = AreaEventProducer.Factory.create(
+                            getUserAgent().getEventBroadcaster());
+                    eventProducer.unresolvedIDReference(this, odi.getName(), ids[count]);
                     idTracker.addUnresolvedIDRef(ids[count], res);
                 }
             }

Modified: xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/AreaTreeObject.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/AreaTreeObject.java?rev=640463&r1=640462&r2=640463&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/AreaTreeObject.java (original)
+++ xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/AreaTreeObject.java Mon Mar 24 09:59:52 2008
@@ -53,12 +53,12 @@
         if (atts.size() == 0) {
             return;
         }
-        Iterator iter = atts.keySet().iterator();
+        Iterator iter = atts.entrySet().iterator();
         while (iter.hasNext()) {
-            QName qName = (QName)iter.next();
-            String value = (String)atts.get(qName);
+            Map.Entry entry = (Map.Entry)iter.next();
+            String value = (String)entry.getValue();
             //The casting is only to ensure type safety (too bad we can't use generics, yet) 
-            setForeignAttribute(qName, value);
+            setForeignAttribute((QName)entry.getKey(), value);
         }
     }
     

Modified: xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/CachedRenderPagesModel.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/CachedRenderPagesModel.java?rev=640463&r1=640462&r2=640463&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/CachedRenderPagesModel.java (original)
+++ xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/CachedRenderPagesModel.java Mon Mar 24 09:59:52 2008
@@ -19,24 +19,27 @@
  
 package org.apache.fop.area;
 
-import org.apache.commons.io.IOUtils;
-import org.apache.fop.apps.FOPException;
-import org.apache.fop.apps.FOUserAgent;
-import org.apache.fop.fonts.FontInfo;
-import org.xml.sax.SAXException;
-
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Iterator;
-
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.FileInputStream;
-import java.io.ObjectOutputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
 import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
 import java.io.OutputStream;
-import java.io.BufferedOutputStream;
-import java.io.BufferedInputStream;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.xml.sax.SAXException;
+
+import org.apache.commons.io.IOUtils;
+
+import org.apache.fop.apps.FOPException;
+import org.apache.fop.apps.FOUserAgent;
+import org.apache.fop.events.ResourceEventProducer;
+import org.apache.fop.fonts.FontInfo;
 
 /**
  * A simple cached render pages model.
@@ -69,46 +72,39 @@
      */
     protected boolean checkPreparedPages(PageViewport newpage, boolean renderUnresolved) {
         for (Iterator iter = prepared.iterator(); iter.hasNext();) {
-            PageViewport p = (PageViewport)iter.next();
-            if (p.isResolved() || renderUnresolved) {
-                if (p != newpage) {
+            PageViewport pageViewport = (PageViewport)iter.next();
+            if (pageViewport.isResolved() || renderUnresolved) {
+                if (pageViewport != newpage) {
                     try {
                         // load page from cache
-                        String name = (String)pageMap.get(p);
+                        String name = (String)pageMap.get(pageViewport);
                         File tempFile = new File(baseDir, name);
                         log.debug("Loading page from: " + tempFile);
                         ObjectInputStream in = new ObjectInputStream(
                                              new BufferedInputStream(
                                                new FileInputStream(tempFile)));
                         try {
-                            p.loadPage(in);
+                            pageViewport.loadPage(in);
                         } finally {
                             IOUtils.closeQuietly(in);
                         }
                         if (!tempFile.delete()) {
-                            log.warn("Temporary file could not be deleted: " + tempFile);
+                            ResourceEventProducer eventProducer
+                                = ResourceEventProducer.Factory.create(
+                                        renderer.getUserAgent().getEventBroadcaster());
+                            eventProducer.cannotDeleteTempFile(this, tempFile);
                         }
-                        pageMap.remove(p);
+                        pageMap.remove(pageViewport);
                     } catch (Exception e) {
-                        log.error(e);
+                        AreaEventProducer eventProducer
+                            = AreaEventProducer.Factory.create(
+                                renderer.getUserAgent().getEventBroadcaster());
+                        eventProducer.pageLoadError(this, pageViewport.getPageNumberString(), e);
                     }
                 }
 
-                try {
-                    renderer.renderPage(p);
-                    if (!p.isResolved()) {
-                        String[] idrefs = p.getIDRefs();
-                        for (int count = 0; count < idrefs.length; count++) {
-                            log.warn("Page " + p.getPageNumberString()
-                                + ": Unresolved id reference \"" + idrefs[count] 
-                                + "\" found.");
-                        }
-                    }
-                } catch (Exception e) {
-                    // use error handler to handle this FOP or IO Exception
-                    log.error(e);
-                }
-                p.clear();
+                renderPage(pageViewport);
+                pageViewport.clear();
                 iter.remove();
             } else {
                 if (!renderer.supportsOutOfOrder()) {
@@ -147,8 +143,11 @@
             if (log.isDebugEnabled()) {
                 log.debug("Page saved to temporary file: " + tempFile);
             }
-        } catch (Exception e) {
-            log.error(e);
+        } catch (IOException ioe) {
+            AreaEventProducer eventProducer
+                = AreaEventProducer.Factory.create(
+                    renderer.getUserAgent().getEventBroadcaster());
+            eventProducer.pageSaveError(this, page.getPageNumberString(), ioe);
         }
     }
 

Modified: xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/PageViewport.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/PageViewport.java?rev=640463&r1=640462&r2=640463&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/PageViewport.java (original)
+++ xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/PageViewport.java Mon Mar 24 09:59:52 2008
@@ -21,14 +21,15 @@
 
 import java.awt.Rectangle;
 import java.awt.geom.Rectangle2D;
-import java.io.ObjectOutputStream;
+import java.io.IOException;
 import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.List;
-import java.util.Map;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 import org.apache.commons.logging.Log;
@@ -516,9 +517,9 @@
      * The map of unresolved references are set on the page so that
      * the resolvers can be properly serialized and reloaded.
      * @param out the object output stream to write the contents
-     * @throws Exception if there is a problem saving the page
+     * @throws IOException in case of an I/O error while serializing the page
      */
-    public void savePage(ObjectOutputStream out) throws Exception {
+    public void savePage(ObjectOutputStream out) throws IOException {
         // set the unresolved references so they are serialized
         page.setUnresolvedReferences(unresolvedIDRefs);
         out.writeObject(page);
@@ -531,9 +532,10 @@
      * if there are any unresolved references that were resolved
      * while saved they will be resolved on the page contents.
      * @param in the object input stream to read the page from
-     * @throws Exception if there is an error loading the page
+     * @throws ClassNotFoundException if a class was not found while loading the page
+     * @throws IOException if an I/O error occurred while loading the page
      */
-    public void loadPage(ObjectInputStream in) throws Exception {
+    public void loadPage(ObjectInputStream in) throws IOException, ClassNotFoundException {
         page = (Page) in.readObject();
         unresolvedIDRefs = page.getUnresolvedReferences();
         if (unresolvedIDRefs != null && pendingResolved != null) {

Modified: xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/RenderPagesModel.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/RenderPagesModel.java?rev=640463&r1=640462&r2=640463&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/RenderPagesModel.java (original)
+++ xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/area/RenderPagesModel.java Mon Mar 24 09:59:52 2008
@@ -156,23 +156,7 @@
                         && pageViewport.getPageSequence().isFirstPage(pageViewport)) {
                     renderer.startPageSequence(getCurrentPageSequence());
                 }
-                try {
-                    renderer.renderPage(pageViewport);
-                    if (!pageViewport.isResolved()) {
-                        String[] idrefs = pageViewport.getIDRefs();
-                        for (int count = 0; count < idrefs.length; count++) {
-                            log.warn("Page " + pageViewport.getPageNumberString()
-                                + ": Unresolved id reference \"" + idrefs[count] 
-                                + "\" found.");
-                        }
-                    }
-                } catch (Exception e) {
-                    // use error handler to handle this FOP or IO Exception
-                    log.error("Error while rendering page " + pageViewport.getPageIndex(), e);
-                    if (e instanceof RuntimeException) {
-                        throw (RuntimeException)e;
-                    }
-                }
+                renderPage(pageViewport);
                 pageViewport.clear();
                 iter.remove();
             } else {
@@ -183,6 +167,33 @@
             }
         }
         return renderer.supportsOutOfOrder() || prepared.isEmpty();
+    }
+
+    /**
+     * Renders the given page and notified about unresolved IDs if any.
+     * @param pageViewport the page to be rendered.
+     */
+    protected void renderPage(PageViewport pageViewport) {
+        try {
+            renderer.renderPage(pageViewport);
+            if (!pageViewport.isResolved()) {
+                String[] idrefs = pageViewport.getIDRefs();
+                for (int count = 0; count < idrefs.length; count++) {
+                    AreaEventProducer eventProducer = AreaEventProducer.Factory.create(
+                            renderer.getUserAgent().getEventBroadcaster());
+                    eventProducer.unresolvedIDReferenceOnPage(this,
+                            pageViewport.getPageNumberString(), idrefs[count]);
+                }
+            }
+        } catch (Exception e) {
+            AreaEventProducer eventProducer = AreaEventProducer.Factory.create(
+                    renderer.getUserAgent().getEventBroadcaster());
+            eventProducer.pageRenderingError(this,
+                    pageViewport.getPageNumberString(), e);
+            if (e instanceof RuntimeException) {
+                throw (RuntimeException)e;
+            }
+        }
     }
 
     /**

Modified: xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventFormatter.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventFormatter.xml?rev=640463&r1=640462&r2=640463&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventFormatter.xml (original)
+++ xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventFormatter.xml Mon Mar 24 09:59:52 2008
@@ -70,6 +70,7 @@
   <message key="org.apache.fop.events.ResourceEventProducer.foreignXMLProcessingError">Some XML content will be ignored. Could not render XML in namespace "{namespaceURI}".[ Reason: {e}]</message>
   <message key="org.apache.fop.events.ResourceEventProducer.foreignXMLNoHandler">Some XML content will be ignored. No handler defined for XML with namespace "{namespaceURI}".</message>
   <message key="org.apache.fop.events.ResourceEventProducer.imageWritingError">Error while writing an image to the target file.[ Reason: {e}]</message>
+  <message key="org.apache.fop.events.ResourceEventProducer.cannotDeleteTempFile">Temporary file could not be deleted: {tempFile}</message>
   <message key="org.apache.fop.layoutmgr.inline.InlineLevelEventProducer.leaderWithoutContent">fo:leader is set to "use-content" but has no content.{{locator}}</message>
   <message key="org.apache.fop.layoutmgr.inline.InlineLevelEventProducer.lineOverflows">Line {line} of a paragraph overflows the available area by {overflowLength,choice,50000#{overflowLength} millipoints|50000&lt;more than 50 points}.{{locator}}</message>
   <message key="org.apache.fop.layoutmgr.BlockLevelEventProducer.rowTooTall">The contents of table-row {row} are taller than they should be (there is a block-progression-dimension or height constraint on the indicated row). Due to its contents the row grows to {effCellBPD} millipoints, but the row shouldn't get any taller than {maxCellBPD} millipoints.{{locator}}</message>
@@ -88,4 +89,9 @@
   <message key="org.apache.fop.svg.SVGEventProducer.svgNotBuilt">SVG graphic could not be built. Reason: {e}</message>
   <message key="org.apache.fop.svg.SVGEventProducer.svgRenderingError">SVG graphic could not be rendered. Reason: {e}</message>
   <message key="org.apache.fop.render.RendererEventProducer.ioError">I/O error while writing to target file.[ Reason: {ioe}]</message>
+  <message key="org.apache.fop.area.AreaEventProducer.unresolvedIDReference">{type}: Unresolved ID reference "{id}" found.</message>
+  <message key="org.apache.fop.area.AreaEventProducer.unresolvedIDReferenceOnPage">Page {page}: Unresolved ID reference "{id}" found.</message>
+  <message key="org.apache.fop.area.AreaEventProducer.pageLoadError">Error while deserializing page {page}.[ Reason: {e}]</message>
+  <message key="org.apache.fop.area.AreaEventProducer.pageSaveError">Error while serializing page {page}.[ Reason: {e}]</message>
+  <message key="org.apache.fop.area.AreaEventProducer.pageRenderingError">Error while rendering page {page}.[ Reason: {e}]</message>
 </catalogue>

Modified: xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/ResourceEventProducer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/ResourceEventProducer.java?rev=640463&r1=640462&r2=640463&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/ResourceEventProducer.java (original)
+++ xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/ResourceEventProducer.java Mon Mar 24 09:59:52 2008
@@ -19,6 +19,7 @@
 
 package org.apache.fop.events;
 
+import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 
@@ -123,5 +124,13 @@
      * @event.severity ERROR
      */
     void foreignXMLNoHandler(Object source, Document doc, String namespaceURI);
+    
+    /**
+     * Cannot delete a temporary file.
+     * @param source the event source
+     * @param tempFile the temporary file
+     * @event.severity ERROR
+     */
+    void cannotDeleteTempFile(Object source, File tempFile);
     
 }

Modified: xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/render/AbstractRenderer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/render/AbstractRenderer.java?rev=640463&r1=640462&r2=640463&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/render/AbstractRenderer.java (original)
+++ xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/render/AbstractRenderer.java Mon Mar 24 09:59:52 2008
@@ -114,21 +114,15 @@
     
     private Set warnedXMLHandlers;
     
-    /**
-     *  {@inheritDoc}
-     */
+    /** {@inheritDoc} */
     public abstract void setupFontInfo(FontInfo fontInfo);
 
-    /**
-     *  {@inheritDoc}
-     */
+    /** {@inheritDoc} */
     public void setUserAgent(FOUserAgent agent) {
         userAgent = agent;
     }
 
-    /**
-     *  @return the associated <code>FOUserAgent</code>
-     */
+    /** {@inheritDoc} */
     public FOUserAgent getUserAgent() {
         return userAgent;
     }

Modified: xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/render/Renderer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/render/Renderer.java?rev=640463&r1=640462&r2=640463&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/render/Renderer.java (original)
+++ xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/render/Renderer.java Mon Mar 24 09:59:52 2008
@@ -89,6 +89,12 @@
     void setUserAgent(FOUserAgent agent);
 
     /**
+     * Returns the associated user agent.
+     * @return the user agent
+     */
+    FOUserAgent getUserAgent();
+    
+    /**
      * Set up the given FontInfo.
      *
      * @param fontInfo  The font information



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org