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 2006/07/11 10:28:02 UTC

svn commit: r420761 - in /xmlgraphics/fop/trunk/src/java/org/apache/fop: apps/FOUserAgent.java cli/CommandLineOptions.java

Author: jeremias
Date: Tue Jul 11 01:28:02 2006
New Revision: 420761

URL: http://svn.apache.org/viewvc?rev=420761&view=rev
Log:
Made FOUserAgent.configure() protected again (not to tempt any users to play with it). Instead improved CommandLineOptions to properly build and adjust the FOUserAgent. Manuel's fix was ok, but I wasn't too comfortable with the public configure() method.

Modified:
    xmlgraphics/fop/trunk/src/java/org/apache/fop/apps/FOUserAgent.java
    xmlgraphics/fop/trunk/src/java/org/apache/fop/cli/CommandLineOptions.java

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/apps/FOUserAgent.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/apps/FOUserAgent.java?rev=420761&r1=420760&r2=420761&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/apps/FOUserAgent.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/apps/FOUserAgent.java Tue Jul 11 01:28:02 2006
@@ -282,7 +282,7 @@
      * Configures the FOUserAgent through the factory's configuration. 
      * @see org.apache.avalon.framework.configuration.Configurable
      */
-    public void configure(Configuration cfg) {
+    protected void configure(Configuration cfg) {
         setBaseURL(FopFactory.getBaseURLfromConfig(cfg, "base"));
         if (cfg.getChild("target-resolution", false) != null) {
             this.targetResolution 

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/cli/CommandLineOptions.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/cli/CommandLineOptions.java?rev=420761&r1=420760&r2=420761&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/cli/CommandLineOptions.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/cli/CommandLineOptions.java Tue Jul 11 01:28:02 2006
@@ -23,6 +23,7 @@
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.Locale;
+import java.util.Map;
 import java.util.Vector;
 
 import javax.swing.UIManager;
@@ -88,7 +89,11 @@
     private int inputmode = NOT_SET;
     /* output mode */
     private String outputmode = null;
-
+    /* rendering options (for the user agent) */
+    private Map renderingOptions = new java.util.HashMap();
+    /* target resolution (for the user agent) */
+    private int targetResolution = 0;
+    
     private FopFactory factory = FopFactory.newInstance();
     private FOUserAgent foUserAgent;
 
@@ -128,8 +133,6 @@
             throws FOPException, IOException {
         boolean optionsParsed = true;
 
-        foUserAgent = factory.newFOUserAgent();
-
         try {
             optionsParsed = parseOptions(args);
             if (optionsParsed) {
@@ -138,8 +141,12 @@
                 }
                 checkSettings();
                 createUserConfig();
-                if (factory.getUserConfig() != null) {
-                    foUserAgent.configure(factory.getUserConfig());
+                
+                //Factory config is set up, now we can create the user agent
+                foUserAgent = factory.newFOUserAgent();
+                foUserAgent.getRendererOptions().putAll(renderingOptions);
+                if (targetResolution != 0) {
+                    foUserAgent.setTargetResolution(targetResolution);
                 }
                 addXSLTParameter("fop-output-format", getOutputFormat());
                 addXSLTParameter("fop-version", Version.getVersion());
@@ -337,7 +344,7 @@
             throw new FOPException(
                     "if you use '-dpi', you must specify a resolution (dots per inch)");
         } else {
-            foUserAgent.setTargetResolution(Integer.parseInt(args[i + 1]));
+            this.targetResolution = Integer.parseInt(args[i + 1]);
             return 1;
         }
     }
@@ -390,7 +397,7 @@
         } else {
             outfile = new File(args[i + 1]);
             if (pdfAMode != null) {
-                foUserAgent.getRendererOptions().put("pdf-a-mode", pdfAMode);
+                renderingOptions.put("pdf-a-mode", pdfAMode);
             }
             return 1;
         }
@@ -517,7 +524,7 @@
                 || (args[i + 1].charAt(0) != '-')) {
             mime = args[i + 1];
             if ("list".equals(mime)) {
-                String[] mimes = foUserAgent.getRendererFactory().listSupportedMimeTypes();
+                String[] mimes = factory.getRendererFactory().listSupportedMimeTypes();
                 System.out.println("Supported MIME types:");
                 for (int j = 0; j < mimes.length; j++) {
                     System.out.println("  " + mimes[j]);
@@ -580,7 +587,7 @@
     }
 
     private PDFEncryptionParams getPDFEncryptionParams() throws FOPException {
-        PDFEncryptionParams params = (PDFEncryptionParams)foUserAgent.getRendererOptions().get(
+        PDFEncryptionParams params = (PDFEncryptionParams)renderingOptions.get(
                         PDFRenderer.ENCRYPTION_PARAMS); 
         if (params == null) {
             if (!PDFEncryptionManager.checkAvailableAlgorithms()) {
@@ -588,7 +595,7 @@
                         + " Please make sure MD5 and RC4 algorithms are available.");
             }
             params = new PDFEncryptionParams();
-            foUserAgent.getRendererOptions().put(PDFRenderer.ENCRYPTION_PARAMS, params);
+            renderingOptions.put(PDFRenderer.ENCRYPTION_PARAMS, params);
         }
         return params;
     }
@@ -754,7 +761,7 @@
             throw new FOPException("Renderer has not been set!");
         }
         if (outputmode.equals(MimeConstants.MIME_FOP_AREA_TREE)) {
-            foUserAgent.getRendererOptions().put("fineDetail", isCoarseAreaXml());
+            renderingOptions.put("fineDetail", isCoarseAreaXml());
         }
         return outputmode;
     }



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