You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sanselan-commits@incubator.apache.org by cm...@apache.org on 2008/08/03 09:20:49 UTC

svn commit: r682118 - in /incubator/sanselan/trunk: RELEASE_NOTES src/main/java/org/apache/sanselan/common/ZLibInflater.java src/test/java/org/apache/sanselan/roundtrip/RoundtripTest.java

Author: cmchen
Date: Sun Aug  3 02:20:48 2008
New Revision: 682118

URL: http://svn.apache.org/viewvc?rev=682118&view=rev
Log:
* Replaced dependency on java.util.zip.DeflaterOutputStream, which is only available in Java 1.6.

Modified:
    incubator/sanselan/trunk/RELEASE_NOTES
    incubator/sanselan/trunk/src/main/java/org/apache/sanselan/common/ZLibInflater.java
    incubator/sanselan/trunk/src/test/java/org/apache/sanselan/roundtrip/RoundtripTest.java

Modified: incubator/sanselan/trunk/RELEASE_NOTES
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/RELEASE_NOTES?rev=682118&r1=682117&r2=682118&view=diff
==============================================================================
--- incubator/sanselan/trunk/RELEASE_NOTES (original)
+++ incubator/sanselan/trunk/RELEASE_NOTES Sun Aug  3 02:20:48 2008
@@ -15,7 +15,8 @@
 Release 0.95
 ------------
 
- * Added a wide-reaching unit test around reading and writing images.
+ * Replaced dependency on java.util.zip.DeflaterOutputStream, which is only available in Java 1.6.
+ * Added a unit test around reading and writing images in every format.
  * We now sort some (but not all) GIF color tables.
  * Applied the BMP "buffer flushing" bug to the PBM reading and writing code.
  * Fixed a regression around flushing the bit buffer when writing BMPs with very small palettes.

Modified: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/common/ZLibInflater.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/common/ZLibInflater.java?rev=682118&r1=682117&r2=682118&view=diff
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/common/ZLibInflater.java (original)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/common/ZLibInflater.java Sun Aug  3 02:20:48 2008
@@ -17,12 +17,11 @@
 package org.apache.sanselan.common;
 
 import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
 import java.io.IOException;
-import java.util.zip.DeflaterInputStream;
+import java.util.zip.DeflaterOutputStream;
 import java.util.zip.InflaterInputStream;
 
-import org.apache.sanselan.ImageReadException;
-
 public class ZLibInflater extends BinaryFileFunctions
 {
 	public final byte[] inflate(byte bytes[]) throws IOException
@@ -35,9 +34,11 @@
 
 	public final byte[] deflate(byte bytes[]) throws IOException
 	{
-		ByteArrayInputStream in = new ByteArrayInputStream(bytes);
-		DeflaterInputStream zIn = new DeflaterInputStream(in);
-		return getStreamBytes(zIn);
+		ByteArrayOutputStream baos = new ByteArrayOutputStream();
+		DeflaterOutputStream dos = new DeflaterOutputStream(baos);
+		dos.write(bytes);
+		dos.flush();
+		return baos.toByteArray();
 	}
 
 }

Modified: incubator/sanselan/trunk/src/test/java/org/apache/sanselan/roundtrip/RoundtripTest.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/test/java/org/apache/sanselan/roundtrip/RoundtripTest.java?rev=682118&r1=682117&r2=682118&view=diff
==============================================================================
--- incubator/sanselan/trunk/src/test/java/org/apache/sanselan/roundtrip/RoundtripTest.java (original)
+++ incubator/sanselan/trunk/src/test/java/org/apache/sanselan/roundtrip/RoundtripTest.java Sun Aug  3 02:20:48 2008
@@ -272,75 +272,75 @@
 		}
 	}
 
-	 public void testBitmapRoundtrip() throws IOException, ImageReadException,
-	 ImageWriteException
-	 {
-	 BufferedImage testImages[] = { //
-	
-	 createArgbBitmapImage(1, 1), // minimal
-	 createArgbBitmapImage(2, 2), //
-	 createArgbBitmapImage(10, 10), // larger than 8
-	 createArgbBitmapImage(300, 300), // larger than 256
-	
-	 createBitmapBitmapImage(1, 1), // minimal
-	 createBitmapBitmapImage(2, 2), //
-	 createBitmapBitmapImage(10, 10), // larger than 8
-	 createBitmapBitmapImage(300, 300), // larger than 256
-	 };
-	
-	 for (int j = 0; j < testImages.length; j++)
-	 {
-	 BufferedImage testImage = testImages[j];
-	
-	 for (int i = 0; i < FORMAT_INFOS.length; i++)
-	 {
-	 FormatInfo formatInfo = FORMAT_INFOS[i];
-	 if ((!formatInfo.canRead) || (!formatInfo.canWrite))
-	 continue;
-	
-	 Debug.debug("bitmap test: " + formatInfo.format.name);
-	
-	 testRoundtrip(formatInfo, testImage, "bitmap", true);
-	 }
-	 }
-	 }
-
-	 public void testGrayscaleRoundtrip() throws IOException,
-	 ImageReadException, ImageWriteException
-	 {
-	 BufferedImage testImages[] = { //
-	
-	 createArgbBitmapImage(1, 1), // minimal
-	 createArgbGrayscaleImage(2, 2), //
-	 createArgbGrayscaleImage(10, 10), // larger than 8
-	 createArgbGrayscaleImage(300, 300), // larger than 256
-	
-	 createGrayscaleGrayscaleImage(1, 1), // minimal
-	 createGrayscaleGrayscaleImage(2, 2), //
-	 createGrayscaleGrayscaleImage(10, 10), // larger than 8
-	 createGrayscaleGrayscaleImage(300, 300), // larger than 256
-	 };
-	
-	 for (int j = 0; j < testImages.length; j++)
-	 {
-	 BufferedImage testImage = testImages[j];
-	
-	 for (int i = 0; i < FORMAT_INFOS.length; i++)
-	 {
-	 FormatInfo formatInfo = FORMAT_INFOS[i];
-	 if ((!formatInfo.canRead) || (!formatInfo.canWrite))
-	 continue;
-	
-	 Debug.debug("grayscale test: " + formatInfo.format.name);
-	
-	 boolean imageExact = true;
-	 if (formatInfo.colorSupport == COLOR_BITMAP)
-	 imageExact = false;
-	
-	 testRoundtrip(formatInfo, testImage, "gray", imageExact);
-	 }
-	 }
-	 }
+	public void testBitmapRoundtrip() throws IOException, ImageReadException,
+			ImageWriteException
+	{
+		BufferedImage testImages[] = { //
+
+		createArgbBitmapImage(1, 1), // minimal
+				createArgbBitmapImage(2, 2), //
+				createArgbBitmapImage(10, 10), // larger than 8
+				createArgbBitmapImage(300, 300), // larger than 256
+
+				createBitmapBitmapImage(1, 1), // minimal
+				createBitmapBitmapImage(2, 2), //
+				createBitmapBitmapImage(10, 10), // larger than 8
+				createBitmapBitmapImage(300, 300), // larger than 256
+		};
+
+		for (int j = 0; j < testImages.length; j++)
+		{
+			BufferedImage testImage = testImages[j];
+
+			for (int i = 0; i < FORMAT_INFOS.length; i++)
+			{
+				FormatInfo formatInfo = FORMAT_INFOS[i];
+				if ((!formatInfo.canRead) || (!formatInfo.canWrite))
+					continue;
+
+				Debug.debug("bitmap test: " + formatInfo.format.name);
+
+				roundtrip(formatInfo, testImage, "bitmap", true);
+			}
+		}
+	}
+
+	public void testGrayscaleRoundtrip() throws IOException,
+			ImageReadException, ImageWriteException
+	{
+		BufferedImage testImages[] = { //
+
+		createArgbBitmapImage(1, 1), // minimal
+				createArgbGrayscaleImage(2, 2), //
+				createArgbGrayscaleImage(10, 10), // larger than 8
+				createArgbGrayscaleImage(300, 300), // larger than 256
+
+				createGrayscaleGrayscaleImage(1, 1), // minimal
+				createGrayscaleGrayscaleImage(2, 2), //
+				createGrayscaleGrayscaleImage(10, 10), // larger than 8
+				createGrayscaleGrayscaleImage(300, 300), // larger than 256
+		};
+
+		for (int j = 0; j < testImages.length; j++)
+		{
+			BufferedImage testImage = testImages[j];
+
+			for (int i = 0; i < FORMAT_INFOS.length; i++)
+			{
+				FormatInfo formatInfo = FORMAT_INFOS[i];
+				if ((!formatInfo.canRead) || (!formatInfo.canWrite))
+					continue;
+
+				Debug.debug("grayscale test: " + formatInfo.format.name);
+
+				boolean imageExact = true;
+				if (formatInfo.colorSupport == COLOR_BITMAP)
+					imageExact = false;
+
+				roundtrip(formatInfo, testImage, "gray", imageExact);
+			}
+		}
+	}
 
 	public void testLimitedColorRoundtrip() throws IOException,
 			ImageReadException, ImageWriteException
@@ -371,12 +371,11 @@
 				if (formatInfo.colorSupport == COLOR_GRAYSCALE)
 					imageExact = false;
 
-				testRoundtrip(formatInfo, testImage, "indexable", imageExact);
+				roundtrip(formatInfo, testImage, "indexable", imageExact);
 			}
 		}
 	}
 
-
 	public void testFullColorRoundtrip() throws IOException,
 			ImageReadException, ImageWriteException
 	{
@@ -407,13 +406,13 @@
 					imageExact = false;
 				if (formatInfo.colorSupport == COLOR_LIMITED_INDEX)
 					imageExact = false;
-				
-				testRoundtrip(formatInfo, testImage, "fullColor", imageExact);
+
+				roundtrip(formatInfo, testImage, "fullColor", imageExact);
 			}
 		}
 	}
 
-	private void testRoundtrip(FormatInfo formatInfo, BufferedImage testImage,
+	private void roundtrip(FormatInfo formatInfo, BufferedImage testImage,
 			String tempPrefix, boolean imageExact) throws IOException,
 			ImageReadException, ImageWriteException
 	{