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 sp...@apache.org on 2009/10/25 12:04:11 UTC

svn commit: r829532 - in /xmlgraphics/fop/trunk/src/java/org/apache/fop: cli/CommandLineOptions.java cli/InputHandler.java events/EventFormatter.xml events/ResourceEventProducer.java

Author: spepping
Date: Sun Oct 25 11:04:11 2009
New Revision: 829532

URL: http://svn.apache.org/viewvc?rev=829532&view=rev
Log:
Added events to the implementation of the catalog command-line option

Modified:
    xmlgraphics/fop/trunk/src/java/org/apache/fop/cli/CommandLineOptions.java
    xmlgraphics/fop/trunk/src/java/org/apache/fop/cli/InputHandler.java
    xmlgraphics/fop/trunk/src/java/org/apache/fop/events/EventFormatter.xml
    xmlgraphics/fop/trunk/src/java/org/apache/fop/events/ResourceEventProducer.java

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=829532&r1=829531&r2=829532&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 Sun Oct 25 11:04:11 2009
@@ -1025,7 +1025,11 @@
             case IF_INPUT:
                 return new IFInputHandler(iffile);
             case XSLT_INPUT:
-                return new InputHandler(xmlfile, xsltfile, xsltParams, useCatalogResolver);
+                InputHandler handler = new InputHandler(xmlfile, xsltfile, xsltParams);
+                if (useCatalogResolver) {
+                    handler.createCatalogResolver(foUserAgent);
+                }
+                return handler;
             case IMAGE_INPUT:
                 return new ImageInputHandler(imagefile, xsltfile, xsltParams);
             default:

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/cli/InputHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/cli/InputHandler.java?rev=829532&r1=829531&r2=829532&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/cli/InputHandler.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/cli/InputHandler.java Sun Oct 25 11:04:11 2009
@@ -51,6 +51,7 @@
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.Fop;
 import org.apache.fop.apps.FopFactory;
+import org.apache.fop.events.ResourceEventProducer;
 import org.apache.fop.render.awt.viewer.Renderable;
 
 /**
@@ -64,8 +65,8 @@
     protected File sourcefile;
     private File stylesheet;  // for XML/XSLT usage
     private Vector xsltParams; // for XML/XSLT usage
-    private EntityResolver entityResolver;
-    private URIResolver uriResolver;
+    private EntityResolver entityResolver = null;
+    private URIResolver uriResolver = null;
 
     /** the logger */
     protected Log log = LogFactory.getLog(InputHandler.class);
@@ -85,23 +86,6 @@
     }
 
     /**
-     * Constructor for XML->XSLT->FO input
-     *
-     * @param xmlfile XML file
-     * @param xsltfile XSLT file
-     * @param params Vector of command-line parameters (name, value,
-     *      name, value, ...) for XSL stylesheet, null if none
-     * @param useCatalogResolver if true, use a catalog resolver
-     *      for XML parsing and XSLT URI resolution
-     */
-    public InputHandler(File xmlfile, File xsltfile, Vector params, boolean useCatalogResolver) {
-        this(xmlfile, xsltfile, params);
-        if (useCatalogResolver) {
-            createCatalogResolver();
-        }
-    }
-
-    /**
      * Constructor for FO input
      * @param fofile the file to read the FO document.
      */
@@ -213,10 +197,12 @@
      * Tries the Apache Commons Resolver, and if unsuccessful,
      * tries the same built into Java 6.
      */
-    private void createCatalogResolver() {
+    public void createCatalogResolver(FOUserAgent userAgent) {
         String[] classNames = new String[] {
                 "org.apache.xml.resolver.tools.CatalogResolver",
                 "com.sun.org.apache.xml.internal.resolver.tools.CatalogResolver"};
+        ResourceEventProducer eventProducer =
+            ResourceEventProducer.Provider.get(userAgent.getEventBroadcaster());
         Class resolverClass = null;
         for (int i = 0; i < classNames.length && resolverClass == null; ++i) {
             try {
@@ -226,7 +212,7 @@
             }
         }
         if (resolverClass == null) {
-            log.error("Could not find catalog resolver in class path");
+            eventProducer.catalogResolverNotFound(this);
             return;
         }
         try {
@@ -234,8 +220,10 @@
             uriResolver = (URIResolver) resolverClass.newInstance();
         } catch (InstantiationException e) {
             log.error("Error creating the catalog resolver: " + e.getMessage());
+            eventProducer.catalogResolverNotCreated(this, e.getMessage());
         } catch (IllegalAccessException e) {
             log.error("Error creating the catalog resolver: " + e.getMessage());
+            eventProducer.catalogResolverNotCreated(this, e.getMessage());
         }
     }
 

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/events/EventFormatter.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/events/EventFormatter.xml?rev=829532&r1=829531&r2=829532&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/events/EventFormatter.xml (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/events/EventFormatter.xml Sun Oct 25 11:04:11 2009
@@ -79,6 +79,8 @@
   <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.events.ResourceEventProducer.catalogResolverNotFound">Catalog resolver not found along the classpath</message>
+  <message key="org.apache.fop.events.ResourceEventProducer.catalogResolverNotCreated">Error creating the catalog resolver: {message}</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>

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/events/ResourceEventProducer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/events/ResourceEventProducer.java?rev=829532&r1=829531&r2=829532&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/events/ResourceEventProducer.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/events/ResourceEventProducer.java Sun Oct 25 11:04:11 2009
@@ -133,4 +133,18 @@
      */
     void cannotDeleteTempFile(Object source, File tempFile);
 
+    /**
+     * Catalog Resolver not found along the class path
+     * @param source the event source
+     * @event.severity ERROR
+     */
+    void catalogResolverNotFound(Object source);
+
+    /**
+     * Catalog Resolver not created, due to InstantiationException or IllegalAccessException
+     * @param source the event source
+     * @param message the exception message
+     * @event.severity ERROR
+     */
+    void catalogResolverNotCreated(Object source, String message);
 }



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