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());