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 ss...@apache.org on 2014/08/27 10:32:15 UTC

svn commit: r1620810 - /xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/

Author: ssteiner
Date: Wed Aug 27 08:32:15 2014
New Revision: 1620810

URL: http://svn.apache.org/r1620810
Log:
Fix findbugs warnings

Modified:
    xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/AbstractPDFBoxHandler.java
    xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java
    xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageLoaderFactoryPDF.java
    xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java
    xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxImageHandler.java
    xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFString.java
    xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PreloaderPDF.java

Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/AbstractPDFBoxHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/AbstractPDFBoxHandler.java?rev=1620810&r1=1620809&r2=1620810&view=diff
==============================================================================
--- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/AbstractPDFBoxHandler.java (original)
+++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/AbstractPDFBoxHandler.java Wed Aug 27 08:32:15 2014
@@ -24,6 +24,7 @@ import java.awt.geom.AffineTransform;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.Locale;
 import java.util.Map;
 import java.util.WeakHashMap;
 
@@ -49,7 +50,7 @@ import org.apache.fop.render.pdf.pdfbox.
 public abstract class AbstractPDFBoxHandler {
 
     private static final Cache.Type CACHE_TYPE = Cache.Type.valueOf(
-            System.getProperty("fop.pdfbox.doc-cache", Cache.Type.WEAK.name()).toUpperCase());
+            System.getProperty("fop.pdfbox.doc-cache", Cache.Type.WEAK.name()).toUpperCase(Locale.ENGLISH));
 
     private static Cache<String, Map<Object, Object>> createDocumentCache() {
         return Cache.createCache(CACHE_TYPE);

Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java?rev=1620810&r1=1620809&r2=1620810&view=diff
==============================================================================
--- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java (original)
+++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java Wed Aug 27 08:32:15 2014
@@ -48,6 +48,7 @@ public class ImageConverterPDF2G2D exten
     public Image convert(Image src, Map hints) throws ImageException,
             IOException {
         checkSourceFlavor(src);
+        assert src instanceof ImagePDF;
         ImagePDF imgPDF = (ImagePDF)src;
 
         final int selectedPage = ImageUtil.needPageIndexFromURI(
@@ -119,8 +120,10 @@ public class ImageConverterPDF2G2D exten
                         at.scale(area.getWidth() / area.getHeight(), area.getHeight() / area.getWidth());
                         at.translate(area.getHeight(), 0);
                         at.rotate(-Math.PI * 1.5);
+                            break;
                     default:
                         //no additional transformations necessary
+                            break;
                     }
                 }
 

Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageLoaderFactoryPDF.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageLoaderFactoryPDF.java?rev=1620810&r1=1620809&r2=1620810&view=diff
==============================================================================
--- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageLoaderFactoryPDF.java (original)
+++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageLoaderFactoryPDF.java Wed Aug 27 08:32:15 2014
@@ -36,12 +36,12 @@ public class ImageLoaderFactoryPDF exten
 
     /** {@inheritDoc} */
     public String[] getSupportedMIMETypes() {
-        return MIMES;
+        return MIMES.clone();
     }
 
     /** {@inheritDoc} */
     public ImageFlavor[] getSupportedFlavors(String mime) {
-        return FLAVORS;
+        return FLAVORS.clone();
     }
 
     /** {@inheritDoc} */

Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java?rev=1620810&r1=1620809&r2=1620810&view=diff
==============================================================================
--- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java (original)
+++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java Wed Aug 27 08:32:15 2014
@@ -436,7 +436,7 @@ public class PDFBoxAdapter {
         private Map<String, Integer> charMapGlobal = new LinkedHashMap<String, Integer>();
         private MergeTTFonts mergeTTFonts = new MergeTTFonts();
         private MergeCFFFonts mergeCFFFonts = new MergeCFFFonts();
-        private Map<String, GlyphData> glyphs = new HashMap<String, GlyphData>();
+//        private Map<String, GlyphData> glyphs = new HashMap<String, GlyphData>();
 
         public FOPPDFMultiByteFont(COSDictionary fontData, String name) throws IOException {
             super(null, EmbeddingMode.SUBSET);
@@ -479,9 +479,9 @@ public class PDFBoxAdapter {
                 c = font.getToUnicodeCMap();
             }
             Map<Integer, String> mapping = getMapping(mainFont, c, glyphData.length);
-            if (glyphData.length > 0 && differentGlyphData(glyphData, mapping)) {
+//            if (glyphData.length > 0 && differentGlyphData(glyphData, mapping)) {
 //                return null;
-            }
+//            }
             Map<Integer, String> gidToGlyph = new TreeMap<Integer, String>(mapping);
             if (mainFont instanceof PDTrueTypeFont) {
                 CMAPEncodingEntry cmap = ttf.getCMAP().getCmaps()[0];
@@ -587,28 +587,28 @@ public class PDFBoxAdapter {
             return mapping;
         }
 
-        private boolean differentGlyphData(GlyphData[] data, Map<Integer, String> mapping) throws IOException {
-            Map<String, Integer> tmpMap = new HashMap<String, Integer>();
-            for (Map.Entry<Integer, String> entry : mapping.entrySet()) {
-                if (!tmpMap.containsKey(entry.getValue())) {
-                    tmpMap.put(entry.getValue(), entry.getKey());
-                }
-            }
-            mapping.clear();
-            for (Map.Entry<String, Integer> entry : tmpMap.entrySet()) {
-                mapping.put(entry.getValue(), entry.getKey());
-            }
-
-            for (Map.Entry<Integer, String> n : mapping.entrySet()) {
-                if (data[n.getKey()] != null) {
-                    if (glyphs.containsKey(n.getValue()) && !glyphs.get(n.getValue()).equals(data[n.getKey()])) {
-                        return true;
-                    }
-                    glyphs.put(n.getValue(), data[n.getKey()]);
-                }
-            }
-            return false;
-        }
+//        private boolean differentGlyphData(GlyphData[] data, Map<Integer, String> mapping) throws IOException {
+//            Map<String, Integer> tmpMap = new HashMap<String, Integer>();
+//            for (Map.Entry<Integer, String> entry : mapping.entrySet()) {
+//                if (!tmpMap.containsKey(entry.getValue())) {
+//                    tmpMap.put(entry.getValue(), entry.getKey());
+//                }
+//            }
+//            mapping.clear();
+//            for (Map.Entry<String, Integer> entry : tmpMap.entrySet()) {
+//                mapping.put(entry.getValue(), entry.getKey());
+//            }
+//
+//            for (Map.Entry<Integer, String> n : mapping.entrySet()) {
+//                if (data[n.getKey()] != null) {
+//                    if (glyphs.containsKey(n.getValue()) && !glyphs.get(n.getValue()).equals(data[n.getKey()])) {
+//                        return true;
+//                    }
+//                    glyphs.put(n.getValue(), data[n.getKey()]);
+//                }
+//            }
+//            return false;
+//        }
 
         private FontFileReader readFontFile(PDFont font) throws IOException {
             PDFontDescriptorDictionary fd = (PDFontDescriptorDictionary) font.getFontDescriptor();

Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxImageHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxImageHandler.java?rev=1620810&r1=1620809&r2=1620810&view=diff
==============================================================================
--- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxImageHandler.java (original)
+++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxImageHandler.java Wed Aug 27 08:32:15 2014
@@ -43,7 +43,7 @@ import org.apache.fop.render.pdf.PDFRend
 public class PDFBoxImageHandler extends AbstractPDFBoxHandler implements ImageHandler {
 
     /** logging instance */
-    protected static Log log = LogFactory.getLog(PDFBoxImageHandler.class);
+    protected static final Log log = LogFactory.getLog(PDFBoxImageHandler.class);
 
     private static final ImageFlavor[] FLAVORS = new ImageFlavor[] {
         ImagePDF.PDFBOX_IMAGE
@@ -53,6 +53,7 @@ public class PDFBoxImageHandler extends 
             throws IOException {
         PDFRenderingContext pdfContext = (PDFRenderingContext)context;
         PDFContentGenerator generator = pdfContext.getGenerator();
+        assert image instanceof ImagePDF;
         ImagePDF pdfImage = (ImagePDF)image;
 
         float x = (float)pos.getX() / 1000f;
@@ -98,7 +99,7 @@ public class PDFBoxImageHandler extends 
 
     /** {@inheritDoc} */
     public ImageFlavor[] getSupportedImageFlavors() {
-        return FLAVORS;
+        return FLAVORS.clone();
     }
 
 }

Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFString.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFString.java?rev=1620810&r1=1620809&r2=1620810&view=diff
==============================================================================
--- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFString.java (original)
+++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFString.java Wed Aug 27 08:32:15 2014
@@ -50,7 +50,7 @@ public class PDFString extends PDFObject
      * @param data the text data as byte array
      */
     public PDFString(byte[] data) {
-        this.binary = data;
+        this.binary = data.clone();
     }
 
     /**
@@ -111,7 +111,10 @@ public class PDFString extends PDFObject
                 throw new RuntimeException("Incompatible JVM: " + e.getMessage());
             }
         }
-        return this.binary;
+        if (binary == null) {
+            return new byte[0];
+        }
+        return this.binary.clone();
     }
 
     @Override

Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PreloaderPDF.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PreloaderPDF.java?rev=1620810&r1=1620809&r2=1620810&view=diff
==============================================================================
--- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PreloaderPDF.java (original)
+++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PreloaderPDF.java Wed Aug 27 08:32:15 2014
@@ -24,6 +24,7 @@ import java.io.InputStream;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.Collections;
+import java.util.Locale;
 import java.util.Map;
 import java.util.WeakHashMap;
 
@@ -57,7 +58,7 @@ public class PreloaderPDF extends Abstra
 
     /** static PDDocument cache for faster multi-page processing */
     private static final Cache.Type CACHE_TYPE = Cache.Type.valueOf(
-            System.getProperty("fop.pdfbox.preloader-cache", Cache.Type.WEAK.name()).toUpperCase());
+            System.getProperty("fop.pdfbox.preloader-cache", Cache.Type.WEAK.name()).toUpperCase(Locale.ENGLISH));
 
     private static Map<Object, Cache<URI, PDDocument>> documentCacheMap
             = Collections.synchronizedMap(new WeakHashMap<Object, Cache<URI, PDDocument>>());
@@ -102,7 +103,7 @@ public class PreloaderPDF extends Abstra
 
     private ImageInfo loadPDF(String uri, Source src, ImageContext context) throws IOException,
             ImageException {
-        InputStream in = ImageUtil.needInputStream(src);
+//        InputStream in = ImageUtil.needInputStream(src);
 
         int selectedPage = ImageUtil.needPageIndexFromURI(uri);
 
@@ -166,13 +167,13 @@ public class PreloaderPDF extends Abstra
         return info;
     }
 
-    private void notifyCouldNotDecrypt(Exception e)
-            throws ImageException {
-        throw new ImageException("Error decrypting PDF: "
-                + e.getMessage()
-                + "\nPlease use an OnLoadInterceptor to provide "
-                + "suitable decryption material (ex. a password).", e);
-    }
+//    private void notifyCouldNotDecrypt(Exception e)
+//            throws ImageException {
+//        throw new ImageException("Error decrypting PDF: "
+//                + e.getMessage()
+//                + "\nPlease use an OnLoadInterceptor to provide "
+//                + "suitable decryption material (ex. a password).", e);
+//    }
 
     private PDDocument getDocument(Object context, URI uri, Source src)
             throws IOException {
@@ -197,7 +198,18 @@ public class PreloaderPDF extends Abstra
     }
 
     private ValueMaker<PDDocument> createDocumentMaker(final Source src, final URI docURI) {
-        return new ValueMaker<PDDocument>() {
+        return new DocumentMaker(src, docURI);
+    }
+
+    static class DocumentMaker implements ValueMaker<PDDocument> {
+        private Source src;
+        private URI docURI;
+
+        public DocumentMaker(Source src, URI docURI) {
+            this.src = src;
+            this.docURI = docURI;
+        }
+
             public PDDocument make() throws Exception {
                 final InputStream in = ImageUtil.needInputStream(src);
                 try {
@@ -208,5 +220,4 @@ public class PreloaderPDF extends Abstra
                 }
             }
         };
-    }
 }



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