]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
1. Moved renderer options to within FOUserAgent
authorGlen Mazza <gmazza@apache.org>
Tue, 22 Jun 2004 00:44:46 +0000 (00:44 +0000)
committerGlen Mazza <gmazza@apache.org>
Tue, 22 Jun 2004 00:44:46 +0000 (00:44 +0000)
2. Validity checking on fo:conditional-page-master-reference added.

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197741 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/apps/CommandLineOptions.java
src/java/org/apache/fop/apps/FOUserAgent.java
src/java/org/apache/fop/apps/Fop.java
src/java/org/apache/fop/fo/pagination/ConditionalPageMasterReference.java
src/java/org/apache/fop/render/AbstractRenderer.java
src/java/org/apache/fop/render/Renderer.java
src/java/org/apache/fop/render/xml/XMLRenderer.java
src/java/org/apache/fop/tools/TestConverter.java

index b6116c7bc60e487e3dd3d6d2f914ac729e5c7fe3..14b7f610cb0783932ec743f2da2984292b30d3b1 100644 (file)
@@ -78,8 +78,8 @@ public class CommandLineOptions {
     /* output mode */
     private int outputmode = NOT_SET;
 
-    private java.util.HashMap rendererOptions;
-
+    private FOUserAgent foUserAgent;
+    
     private Log log;
 
     private Vector xsltParams = null;
@@ -96,7 +96,9 @@ public class CommandLineOptions {
         log = LogFactory.getLog("FOP");
         
         boolean optionsParsed = true;
-        rendererOptions = new java.util.HashMap();
+        
+        foUserAgent = new FOUserAgent();
+        
         try {
             optionsParsed = parseOptions(args);
             if (optionsParsed) {
@@ -454,7 +456,7 @@ public class CommandLineOptions {
         case SVG_OUTPUT:
             return Driver.RENDER_SVG;
         case AREA_OUTPUT:
-            rendererOptions.put("fineDetail", isCoarseAreaXml());
+            foUserAgent.getRendererOptions().put("fineDetail", isCoarseAreaXml());
             return Driver.RENDER_XML;
         case RTF_OUTPUT:
             return Driver.RENDER_RTF;
@@ -480,11 +482,11 @@ public class CommandLineOptions {
     }
 
     /**
-     * Get the renderer specific options.
-     * @return hash map with option/value pairs.
+     * Get the FOUserAgent for this Command-Line run
+     * @return FOUserAgent instance
      */
-    public java.util.HashMap getRendererOptions() {
-        return rendererOptions;
+    protected FOUserAgent getFOUserAgent() {
+        return foUserAgent;
     }
 
     /**
index cd862c7cd9f24070b41a388ca52fe0ae81dfadd8..56854e0e9fc9debbb3fd06bcc558e9f842e5fb73 100644 (file)
@@ -19,6 +19,7 @@
 package org.apache.fop.apps;
 
 // Java
+import java.util.HashMap;
 import java.util.Map;
 import java.io.IOException;
 import java.io.InputStream;
@@ -55,6 +56,15 @@ public class FOUserAgent {
     private String baseURL;
     private PDFEncryptionParams pdfEncryptionParams;
     private float px2mm = 0.35277777777777777778f; //72dpi (=25.4/dpi)
+    private HashMap rendererOptions = new java.util.HashMap();
+
+    /**
+     * Returns the renderer options
+     * @return renderer options
+     */
+    public HashMap getRendererOptions() {
+        return rendererOptions;
+    }
 
     /**
      * Sets the base URL.
index 362739c224be9e4dbc8ba0a3867df36de62e7801..7e75f4ab70a510b8a22d84a83aea671e0c604432 100644 (file)
@@ -45,6 +45,7 @@ public class Fop {
             Driver driver = new Driver();
             options = new CommandLineOptions(args);
 
+            driver.setUserAgent(options.getFOUserAgent());
             inputHandler = options.getInputHandler();
 
             try {
@@ -60,9 +61,6 @@ public class Fop {
                     }
                 }
 
-                if (driver.getRenderer() != null) {
-                    driver.getRenderer().setOptions(options.getRendererOptions());
-                }
                 driver.render(inputHandler);
             } finally {
                 if (bos != null) {
index a2a931a917b992a7df14814778cc3ef8f815c315..71180dc45a57e125e6051751cdd6e771aa1559b1 100644 (file)
@@ -20,6 +20,7 @@ package org.apache.fop.fo.pagination;
 
 // XML
 import org.xml.sax.Attributes;
+import org.xml.sax.Locator;
 
 // FOP
 import org.apache.fop.fo.FONode;
@@ -52,6 +53,14 @@ public class ConditionalPageMasterReference extends FObj {
         super(parent);
     }
 
+    /**
+     * @see org.apache.fop.fo.FONode#validateChildNode(Locator, String, String)
+     * XSL/FOP Content Model: empty
+     */
+    protected void validateChildNode(Locator loc, String nsURI, String localName) {
+       invalidChildError(loc, nsURI, localName);
+    }
+
     /**
      * @see org.apache.fop.fo.FObj#addProperties
      */
index 96c10d0ac8fd9b51d5c73d64107b337002d0e41a..f3fd05848afc9f57d8c5a116925e3c373a78b6b0 100644 (file)
@@ -104,11 +104,6 @@ public abstract class AbstractRenderer
      */
     protected Date creationDate = null;
 
-    /**
-     * renderer configuration
-     */
-    protected Map options;
-
     /**
      * block progression position
      */
@@ -179,11 +174,6 @@ public abstract class AbstractRenderer
         creationDate = date;
     }
 
-    /** @see org.apache.fop.render.Renderer */
-    public void setOptions(Map opt) {
-        options = opt;
-    }
-
     /** @see org.apache.fop.render.Renderer */
     public void startRenderer(OutputStream outputStream)
         throws IOException { }
index 6ca5ad7089c70ccc41fff9e0910c893ba0533cde..dda6788e4f931cf6ff0fb35bf3c1d2be41b638f1 100644 (file)
@@ -96,13 +96,6 @@ public interface Renderer {
      */
     void setupFontInfo(FontInfo fontInfo);
 
-    /**
-     * Set up renderer options.
-     *
-     * @param options  The Configuration for the renderer
-     */
-    void setOptions(Map options);
-
     /**
      * Set the producer of the rendering. If this method isn't called the
      * renderer uses a default. Note: Not all renderers support this feature.
index 9e415bb72afb5ee55200779d91e9f96d1326c41f..d73e325568b45f17a5e4e085e6271957b3428d65 100644 (file)
@@ -180,7 +180,8 @@ public class XMLRenderer extends AbstractRenderer {
     }
 
     private boolean isCoarseXml() {
-        return ((Boolean) options.get("fineDetail")).booleanValue();
+        return ((Boolean) 
+            userAgent.getRendererOptions().get("fineDetail")).booleanValue();
     }
 
     /**
index 71b6e764abb5fd6917cd59cfe1be050ef569cde5..8b4ce8cc45cc3ea1d24b4a13619678a5c049d8ae 100644 (file)
@@ -315,10 +315,8 @@ public class TestConverter {
                 driver.setRenderer(Driver.RENDER_XML);
             }
 
-            Map rendererOptions = new java.util.HashMap();
-            rendererOptions.put("fineDetail", new Boolean(false));
-            rendererOptions.put("consistentOutput", new Boolean(true));
-            driver.getRenderer().setOptions(rendererOptions);
+            userAgent.getRendererOptions().put("fineDetail", new Boolean(false));
+            userAgent.getRendererOptions().put("consistentOutput", new Boolean(true));
             driver.getRenderer().setProducer("Testsuite Converter");
 
             String outname = res;