]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Extended to allow generating the renderer and painter PDF alongside each other for...
authorJeremias Maerki <jeremias@apache.org>
Fri, 15 Aug 2008 14:20:47 +0000 (14:20 +0000)
committerJeremias Maerki <jeremias@apache.org>
Fri, 15 Aug 2008 14:20:47 +0000 (14:20 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_AreaTreeNewDesign@686229 13f79535-47bb-0310-9956-ffa450edef68

test/java/org/apache/fop/visual/AbstractPSPDFBitmapProducer.java
test/java/org/apache/fop/visual/BatchDiffer.java
test/java/org/apache/fop/visual/BitmapProducer.java
test/java/org/apache/fop/visual/BitmapProducerJava2D.java
test/java/org/apache/fop/visual/BitmapProducerPDF.java
test/java/org/apache/fop/visual/BitmapProducerPS.java
test/java/org/apache/fop/visual/ReferenceBitmapLoader.java

index 0f842468f32fa154ed544a8e0dbfcdc28e12798f..9afe66f9b35b8d4fe8a9ab99f8e384d8e726d6c3 100644 (file)
@@ -35,6 +35,7 @@ import org.apache.avalon.framework.configuration.Configurable;
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
 import org.apache.commons.io.IOUtils;
+
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.Fop;
 import org.apache.fop.apps.FopFactory;
@@ -70,11 +71,16 @@ public abstract class AbstractPSPDFBitmapProducer extends AbstractBitmapProducer
 
     private String converter;
     private boolean deleteTempFiles;
+    /** the bitmap producer's target format */
+    protected String targetFormat;
 
-    /** @see org.apache.avalon.framework.configuration.Configurable */
+    /** {@inheritDoc} */
     public void configure(Configuration cfg) throws ConfigurationException {
         this.converter = cfg.getChild("converter").getValue();
         this.deleteTempFiles = cfg.getChild("delete-temp-files").getValueAsBoolean(true);
+        if (cfg.getChild("target-format", false) != null) {
+            this.targetFormat = cfg.getChild("target-format").getValue();
+        }
     }
 
     /**
@@ -106,19 +112,21 @@ public abstract class AbstractPSPDFBitmapProducer extends AbstractBitmapProducer
     /**
      * @return the output format for the FOP renderer, i.e. a MIME type.
      */
-    protected abstract String getTargetFormat();
+    protected String getTargetFormat() {
+        return this.targetFormat;
+    }
 
-    /** @see org.apache.fop.visual.BitmapProducer */
-    public BufferedImage produce(File src, ProducerContext context) {
+    /** {@inheritDoc} */
+    public BufferedImage produce(File src, int index, ProducerContext context) {
         try {
             FOUserAgent userAgent = fopFactory.newFOUserAgent();
             userAgent.setTargetResolution(context.getTargetResolution());
             userAgent.setBaseURL(src.getParentFile().toURL().toString());
 
             File tempOut = new File(context.getTargetDir(),
-                    src.getName() + "." + getTargetExtension());
+                    src.getName() + "." + index + "." + getTargetExtension());
             File tempPNG = new File(context.getTargetDir(),
-                    src.getName() + "." + getTargetExtension() + ".png");
+                    src.getName() + "." + index + "." + getTargetExtension() + ".png");
             try {
                 OutputStream out = new FileOutputStream(tempOut);
                 out = new BufferedOutputStream(out);
index e0c78135ea6921d27499d0bceffdb2327cf29db0..396657beea23cf55321c79d93e4721a8132bb0cc 100644 (file)
@@ -176,7 +176,7 @@ public class BatchDiffer {
                     final BufferedImage[] bitmaps = new BufferedImage[producers.length];
                     for (int j = 0; j < producers.length; j++) {
                         times[j] = System.currentTimeMillis();
-                        bitmaps[j] = producers[j].produce(f, context);
+                        bitmaps[j] = producers[j].produce(f, j, context);
                         times[j] = System.currentTimeMillis() - times[j];
                     }
                     if (log.isDebugEnabled()) {
index 6aba0296aae589b85b4e2ee5626a7d0a035ac020..9326656f4c1288dee501692198267e240ce9af26 100644 (file)
@@ -31,9 +31,10 @@ public interface BitmapProducer {
      * Produces a BufferedImage from the source file by invoking the FO processor and
      * converting the generated output file to a bitmap image if necessary.
      * @param src the source FO or XML file
+     * @param index the index of the producer inside the test set
      * @param context context information for the conversion
      * @return the generated BufferedImage
      */
-    BufferedImage produce(File src, ProducerContext context);
+    BufferedImage produce(File src, int index, ProducerContext context);
 
 }
index 13f26e022608552f413046d0ae53e2189b4d61d0..9d4db63916f43f523908126c971b8c47f1b2904c 100644 (file)
@@ -33,6 +33,7 @@ import org.apache.avalon.framework.configuration.Configurable;
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
 import org.apache.commons.io.IOUtils;
+
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.Fop;
 import org.apache.fop.apps.FopFactory;
@@ -64,13 +65,14 @@ public class BitmapProducerJava2D extends AbstractBitmapProducer implements Conf
     }
 
     /** @see org.apache.fop.visual.BitmapProducer */
-    public BufferedImage produce(File src, ProducerContext context) {
+    public BufferedImage produce(File src, int index, ProducerContext context) {
         try {
             FOUserAgent userAgent = fopFactory.newFOUserAgent();
             userAgent.setTargetResolution(context.getTargetResolution());
             userAgent.setBaseURL(src.getParentFile().toURL().toString());
 
-            File outputFile = new File(context.getTargetDir(), src.getName() + ".java2d.png");
+            File outputFile = new File(context.getTargetDir(),
+                    src.getName() + "." + index + ".java2d.png");
             OutputStream out = new FileOutputStream(outputFile);
             out = new BufferedOutputStream(out);
             try {
index a6f667f80d7dee27f7301863d1950fbaab9e5633..ceede38d29763b82cf0ac934a2a20838b4e04b97 100644 (file)
@@ -29,14 +29,16 @@ import org.apache.fop.apps.MimeConstants;
  */
 public class BitmapProducerPDF extends AbstractPSPDFBitmapProducer {
 
-    /** @see org.apache.fop.visual.AbstractPSPDFBitmapProducer#getTargetExtension() */
-    protected String getTargetExtension() {
-        return "pdf";
+    /**
+     * Default constructor.
+     */
+    public BitmapProducerPDF() {
+        this.targetFormat = MimeConstants.MIME_PDF;
     }
 
-    /** @see org.apache.fop.visual.AbstractPSPDFBitmapProducer#getTargetFormat() */
-    protected String getTargetFormat() {
-        return MimeConstants.MIME_PDF;
+    /** {@inheritDoc} */
+    protected String getTargetExtension() {
+        return "pdf";
     }
 
 }
index 704cfb95094bc03ca7d1b5b0a81db177a8a8c745..d711dad16a463e61b5c27074d683e42bf856c114 100644 (file)
@@ -29,15 +29,16 @@ import org.apache.fop.apps.MimeConstants;
  */
 public class BitmapProducerPS extends AbstractPSPDFBitmapProducer {
 
-    /** @see org.apache.fop.visual.AbstractPSPDFBitmapProducer#getTargetExtension() */
-    protected String getTargetExtension() {
-        return "ps";
+    /**
+     * Default constructor.
+     */
+    public BitmapProducerPS() {
+        this.targetFormat = MimeConstants.MIME_POSTSCRIPT;
     }
 
-    /** @see org.apache.fop.visual.AbstractPSPDFBitmapProducer#getTargetFormat() */
-    protected String getTargetFormat() {
-        return MimeConstants.MIME_POSTSCRIPT;
+    /** {@inheritDoc} */
+    protected String getTargetExtension() {
+        return "ps";
     }
 
-
 }
index 07db62fc9b3ce43f25817368bde93eaf68e21d48..3955b34253ba551ed6bb782b6ea6d5311655919b 100644 (file)
@@ -51,7 +51,7 @@ public class ReferenceBitmapLoader extends AbstractBitmapProducer implements Con
     }
 
     /** @see org.apache.fop.visual.BitmapProducer */
-    public BufferedImage produce(File src, ProducerContext context) {
+    public BufferedImage produce(File src, int index, ProducerContext context) {
         try {
             File bitmap = new File(bitmapDirectory, src.getName() + ".png");
             if (bitmap.exists()) {