]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Fixed a typo and two FindBugs issues.
authorJeremias Maerki <jeremias@apache.org>
Thu, 30 Jun 2011 10:00:28 +0000 (10:00 +0000)
committerJeremias Maerki <jeremias@apache.org>
Thu, 30 Jun 2011 10:00:28 +0000 (10:00 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1141464 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/svg/AbstractFOPImageElementBridge.java

index 5d10a7d1b5e5bc65ef32d077fb5b4b5385460c76..b7e82b858379cd746ec22706b18763dca0318e42 100644 (file)
@@ -86,7 +86,7 @@ public abstract class AbstractFOPImageElementBridge extends SVGImageElementBridg
                 ImageXMLDOM xmlImage = (ImageXMLDOM)image;
                 if (xmlImage.getDocument() instanceof SVGDocument) {
                     //Clone DOM because the Batik's CSS Parser attaches to the DOM and is therefore
-                    //no thread-safe.
+                    //not thread-safe.
                     SVGDocument clonedDoc = (SVGDocument)BatikUtil.cloneSVGDocument(
                             xmlImage.getDocument());
                     return createSVGImageNode(ctx, imageElement, clonedDoc);
@@ -108,22 +108,25 @@ public abstract class AbstractFOPImageElementBridge extends SVGImageElementBridg
                         new ImageException("Cannot convert an image to a usable format: " + purl));
             }
 
-            Rectangle2D imgBounds = getImageBounds(ctx, imageElement);
-            Rectangle2D bounds = specializedNode.getPrimitiveBounds();
-            float [] vb = new float[4];
-            vb[0] = 0; // x
-            vb[1] = 0; // y
-            vb[2] = (float) bounds.getWidth(); // width
-            vb[3] = (float) bounds.getHeight(); // height
-
-            // handles the 'preserveAspectRatio', 'overflow' and 'clip'
-            // and sets the appropriate AffineTransform to the image node
-            initializeViewport(ctx, imageElement, specializedNode, vb, imgBounds);
-            return specializedNode;
+            if (specializedNode != null) {
+                Rectangle2D imgBounds = getImageBounds(ctx, imageElement);
+                Rectangle2D bounds = specializedNode.getPrimitiveBounds();
+                float [] vb = new float[4];
+                vb[0] = 0; // x
+                vb[1] = 0; // y
+                vb[2] = (float) bounds.getWidth(); // width
+                vb[3] = (float) bounds.getHeight(); // height
+
+                // handles the 'preserveAspectRatio', 'overflow' and 'clip'
+                // and sets the appropriate AffineTransform to the image node
+                initializeViewport(ctx, imageElement, specializedNode, vb, imgBounds);
+                return specializedNode;
+            }
         } catch (Exception e) {
             ctx.getUserAgent().displayError(e);
         }
 
+        //Fallback
         return superCreateGraphicsNode(ctx, imageElement, purl);
     }
 
@@ -249,7 +252,7 @@ public abstract class AbstractFOPImageElementBridge extends SVGImageElementBridg
     /**
      * A node that holds a Graphics2D image.
      */
-    public class Graphics2DNode extends AbstractGraphicsNode {
+    public static class Graphics2DNode extends AbstractGraphicsNode {
 
         private final ImageGraphics2D image;