You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2018/07/02 06:42:20 UTC

svn commit: r1834821 - in /pdfbox/trunk/pdfbox/src: main/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactory.java test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java

Author: tilman
Date: Mon Jul  2 06:42:19 2018
New Revision: 1834821

URL: http://svn.apache.org/viewvc?rev=1834821&view=rev
Log:
PDFBOX-4184: sonar fix; remove println from test

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactory.java
    pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactory.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactory.java?rev=1834821&r1=1834820&r2=1834821&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactory.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactory.java Mon Jul  2 06:42:19 2018
@@ -308,9 +308,10 @@ public final class LosslessFactory
             Raster imageRaster = image.getRaster();
             final int elementsInRowPerPixel;
 
-            // This variable store a row of the image each, the exact type depends
+            // These variables store a row of the image each, the exact type depends
             // on the image encoding. Can be a int[], short[] or byte[]
-            Object prevRow, transferRow;
+            Object prevRow;
+            Object transferRow;
 
             switch (imageType)
             {
@@ -456,12 +457,10 @@ public final class LosslessFactory
                 // Write and compress the row as long it is hot (CPU cache wise)
                 zip.write(rowToWrite, 0, rowToWrite.length);
 
-                {
-                    // We swap prev and transfer row, so that we have the prev row for the next row.
-                    Object temp = prevRow;
-                    prevRow = transferRow;
-                    transferRow = temp;
-                }
+                // We swap prev and transfer row, so that we have the prev row for the next row.
+                Object temp = prevRow;
+                prevRow = transferRow;
+                transferRow = temp;
             }
             zip.close();
             deflater.end();
@@ -473,21 +472,19 @@ public final class LosslessFactory
                 byte[] alphaImageData, int alphaPtr)
         {
             int val = transferRow[indexInTranferRow];
-            byte b0 = (byte) ((val & 0xFF));
+            byte b0 = (byte) (val & 0xFF);
             byte b1 = (byte) ((val >> 8) & 0xFF);
             byte b2 = (byte) ((val >> 16) & 0xFF);
 
             switch (imageType)
             {
                 case BufferedImage.TYPE_INT_BGR:
-                {
                     targetValues[0] = b0;
                     targetValues[1] = b1;
                     targetValues[2] = b2;
                     break;
-                }
+
                 case BufferedImage.TYPE_INT_ARGB:
-                {
                     targetValues[0] = b2;
                     targetValues[1] = b1;
                     targetValues[2] = b0;
@@ -497,7 +494,6 @@ public final class LosslessFactory
                         alphaImageData[alphaPtr] = b3;
                     }
                     break;
-                }
                 case BufferedImage.TYPE_INT_RGB:
                     targetValues[0] = b2;
                     targetValues[1] = b1;
@@ -519,15 +515,16 @@ public final class LosslessFactory
         private static void copyShortsToBytes(short[] transferRow, int indexInTranferRow,
                 byte[] targetValues, byte[] alphaImageData, int alphaPtr)
         {
-            for (int i = 0; i < targetValues.length;)
+            int itr = indexInTranferRow;
+            for (int i = 0; i < targetValues.length; i += 2)
             {
-                short val = transferRow[indexInTranferRow++];
-                targetValues[i++] = (byte) ((val >> 8) & 0xFF);
-                targetValues[i++] = (byte) (val & 0xFF);
+                short val = transferRow[itr++];
+                targetValues[i] = (byte) ((val >> 8) & 0xFF);
+                targetValues[i + 1] = (byte) (val & 0xFF);
             }
             if (alphaImageData != null)
             {
-                short alpha = transferRow[indexInTranferRow];
+                short alpha = transferRow[itr];
                 alphaImageData[alphaPtr] = (byte) ((alpha >> 8) & 0xFF);
                 alphaImageData[alphaPtr + 1] = (byte) (alpha & 0xFF);
             }
@@ -546,16 +543,16 @@ public final class LosslessFactory
             // Encode the image profile if the image has one
             if (srcCspace instanceof ICC_ColorSpace)
             {
-                ICC_ColorSpace icc_colorSpace = (ICC_ColorSpace) srcCspace;
-                ICC_Profile profile = icc_colorSpace.getProfile();
+                ICC_Profile profile = ((ICC_ColorSpace) srcCspace).getProfile();
                 // We only encode a color profile if it is not sRGB
                 if (profile != ICC_Profile.getInstance(ColorSpace.CS_sRGB))
                 {
                     PDICCBased pdProfile = new PDICCBased(document);
-                    OutputStream outputStream = pdProfile.getPDStream()
-                            .createOutputStream(COSName.FLATE_DECODE);
-                    outputStream.write(profile.getData());
-                    outputStream.close();
+                    try (OutputStream outputStream = pdProfile.getPDStream()
+                            .createOutputStream(COSName.FLATE_DECODE))
+                    {
+                        outputStream.write(profile.getData());
+                    }
                     pdProfile.getPDStream().getCOSObject().setInt(COSName.N,
                             srcCspace.getNumComponents());
                 }
@@ -645,21 +642,21 @@ public final class LosslessFactory
             int pa = Math.abs(p - a);
             int pb = Math.abs(p - b);
             int pc = Math.abs(p - c);
-            final int Pr;
+            final int pr;
             if (pa <= pb && pa <= pc)
             {
-                Pr = a;
+                pr = a;
             }
             else if (pb <= pc)
             {
-                Pr = b;
+                pr = b;
             }
             else
             {
-                Pr = c;
+                pr = c;
             }
 
-            int r = x - Pr;
+            int r = x - pr;
             return (byte) (r);
         }
 

Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java?rev=1834821&r1=1834820&r2=1834821&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java Mon Jul  2 06:42:19 2018
@@ -524,7 +524,6 @@ public class LosslessFactoryTest extends
         int w = image.getWidth();
         int h = image.getHeight();
         validate(ximage, 16, w, h, "png", PDDeviceRGB.INSTANCE.getName());
-        System.out.println(ximage.getImage());
         checkIdent(image, ximage.getImage());
         checkIdentRGB(image, ximage.getOpaqueImage());