diff options
author | Glen Mazza <gmazza@apache.org> | 2004-06-22 00:44:46 +0000 |
---|---|---|
committer | Glen Mazza <gmazza@apache.org> | 2004-06-22 00:44:46 +0000 |
commit | 92df5d3b4839a699d036940d3b9b3c0e797deb8b (patch) | |
tree | b9f3994a0f9f6d4fadb79a6f8c721252ef9fbeb3 | |
parent | d6fc7d07d23209f2416a674e5208ae53f070ae26 (diff) | |
download | xmlgraphics-fop-92df5d3b4839a699d036940d3b9b3c0e797deb8b.tar.gz xmlgraphics-fop-92df5d3b4839a699d036940d3b9b3c0e797deb8b.zip |
1. Moved renderer options to within FOUserAgent
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
8 files changed, 34 insertions, 33 deletions
diff --git a/src/java/org/apache/fop/apps/CommandLineOptions.java b/src/java/org/apache/fop/apps/CommandLineOptions.java index b6116c7bc..14b7f610c 100644 --- a/src/java/org/apache/fop/apps/CommandLineOptions.java +++ b/src/java/org/apache/fop/apps/CommandLineOptions.java @@ -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; } /** diff --git a/src/java/org/apache/fop/apps/FOUserAgent.java b/src/java/org/apache/fop/apps/FOUserAgent.java index cd862c7cd..56854e0e9 100644 --- a/src/java/org/apache/fop/apps/FOUserAgent.java +++ b/src/java/org/apache/fop/apps/FOUserAgent.java @@ -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. diff --git a/src/java/org/apache/fop/apps/Fop.java b/src/java/org/apache/fop/apps/Fop.java index 362739c22..7e75f4ab7 100644 --- a/src/java/org/apache/fop/apps/Fop.java +++ b/src/java/org/apache/fop/apps/Fop.java @@ -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) { diff --git a/src/java/org/apache/fop/fo/pagination/ConditionalPageMasterReference.java b/src/java/org/apache/fop/fo/pagination/ConditionalPageMasterReference.java index a2a931a91..71180dc45 100644 --- a/src/java/org/apache/fop/fo/pagination/ConditionalPageMasterReference.java +++ b/src/java/org/apache/fop/fo/pagination/ConditionalPageMasterReference.java @@ -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; @@ -53,6 +54,14 @@ public class ConditionalPageMasterReference extends FObj { } /** + * @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 */ protected void addProperties(Attributes attlist) throws FOPException { diff --git a/src/java/org/apache/fop/render/AbstractRenderer.java b/src/java/org/apache/fop/render/AbstractRenderer.java index 96c10d0ac..f3fd05848 100644 --- a/src/java/org/apache/fop/render/AbstractRenderer.java +++ b/src/java/org/apache/fop/render/AbstractRenderer.java @@ -105,11 +105,6 @@ public abstract class AbstractRenderer protected Date creationDate = null; /** - * renderer configuration - */ - protected Map options; - - /** * block progression position */ protected int currentBPPosition = 0; @@ -180,11 +175,6 @@ public abstract class AbstractRenderer } /** @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 { } diff --git a/src/java/org/apache/fop/render/Renderer.java b/src/java/org/apache/fop/render/Renderer.java index 6ca5ad708..dda6788e4 100644 --- a/src/java/org/apache/fop/render/Renderer.java +++ b/src/java/org/apache/fop/render/Renderer.java @@ -97,13 +97,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. * diff --git a/src/java/org/apache/fop/render/xml/XMLRenderer.java b/src/java/org/apache/fop/render/xml/XMLRenderer.java index 9e415bb72..d73e32556 100644 --- a/src/java/org/apache/fop/render/xml/XMLRenderer.java +++ b/src/java/org/apache/fop/render/xml/XMLRenderer.java @@ -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(); } /** diff --git a/src/java/org/apache/fop/tools/TestConverter.java b/src/java/org/apache/fop/tools/TestConverter.java index 71b6e764a..8b4ce8cc4 100644 --- a/src/java/org/apache/fop/tools/TestConverter.java +++ b/src/java/org/apache/fop/tools/TestConverter.java @@ -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; |