From 8dc359283a8ddb3ecd2e1da799944478810acb75 Mon Sep 17 00:00:00 2001 From: Peter Bernard West Date: Tue, 16 Mar 2004 06:49:03 +0000 Subject: [PATCH] Synchronized changes to base URL handling from HEAD. Mods to the way options are set in Renderer. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/FOP_0-20-0_Alt-Design@197451 13f79535-47bb-0310-9956-ffa450edef68 --- src/java/org/apache/fop/apps/Fop.java | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/java/org/apache/fop/apps/Fop.java b/src/java/org/apache/fop/apps/Fop.java index b262cdd64..30678227f 100644 --- a/src/java/org/apache/fop/apps/Fop.java +++ b/src/java/org/apache/fop/apps/Fop.java @@ -308,7 +308,22 @@ public class Fop { this.inputHandler = inputHandler; } + + /** + * Optionally sets the FOUserAgent instance for FOP to use. The Driver + * class sets up its own FOUserAgent if none is set through this method. + * @param agent FOUserAgent to use + */ + public void setUserAgent(FOUserAgent agent) { + userAgent = agent; + } + protected FOUserAgent getUserAgent() { + if (userAgent == null) { + userAgent = new FOUserAgent(); + userAgent.enableLogging(logger); + userAgent.setBaseURL(""); + } return userAgent; } @@ -369,14 +384,15 @@ public class Fop { /** * Set the Renderer to use. - * @param renderer the renderer instance to use (Note: Logger must be set at this point) + * @param renderer the renderer instance to use + * (Note: Logger must be set at this point) */ public void setRenderer(Renderer renderer) { // AWTStarter calls this function directly if (renderer instanceof AWTRenderer) { rendererType = RENDER_AWT; } - renderer.setProducer(Version.getVersion()); + renderer.setOption("producer", Version.getVersion()); renderer.setUserAgent(getUserAgent()); this.renderer = renderer; } @@ -401,7 +417,7 @@ public class Fop { throws IllegalArgumentException { try { renderer = (Renderer)Class.forName(rendererClassName).newInstance(); - renderer.setProducer(Version.getVersion()); + renderer.setOption("producer", Version.getVersion()); renderer.setUserAgent(getUserAgent()); } catch (ClassNotFoundException e) { throw new IllegalArgumentException("Could not find " @@ -433,6 +449,7 @@ public class Fop { */ public synchronized void render(InputHandler inputHandler) throws FOPException { + //userAgent.setBaseURL(inputHandler.getBaseURL()); throw new FOPException("Attempting to run null 'render' method"); } -- 2.39.5