diff servlet/src/digilib/image/ImageLoaderImageInfoDocuInfo.java @ 205:6221d688eab6

Servlet version 1.18b9 -- cleanup and bugfixes - fixed bug with slow color JPEGs - better pathname handling - better filehandle cleanup (hopefully)
author robcast
date Fri, 12 Mar 2004 19:52:06 +0100
parents afe7ff98bb71
children c4ee5f0c3a77
line wrap: on
line diff
--- a/servlet/src/digilib/image/ImageLoaderImageInfoDocuInfo.java	Tue Mar 02 13:43:39 2004 +0100
+++ b/servlet/src/digilib/image/ImageLoaderImageInfoDocuInfo.java	Fri Mar 12 19:52:06 2004 +0100
@@ -47,6 +47,7 @@
 
 	/* check image size and type and store in ImageFile f */
 	public boolean checkFile(ImageFile imgf) throws IOException {
+		// fileset to store the information
 		ImageFileset imgfs = imgf.getParent();
 		File f = imgf.getFile();
 		if (f == null) {
@@ -58,6 +59,7 @@
 		iif.setInput(raf);
 		iif.setCollectComments(false);
 		iif.setDetermineImageNumber(false);
+		logger.debug("identifying (ImageInfo) "+f);
 		// try with ImageInfo first
 		if (iif.check()) {
 			ImageSize d =
@@ -69,6 +71,7 @@
 			}
 			raf.close();
 		} else {
+			logger.debug("identifying (ImageIO) "+f);
 			// else use ImageReader
 			ImageInputStream istream = ImageIO.createImageInputStream(raf);
 			Iterator readers = ImageIO.getImageReaders(istream);
@@ -79,9 +82,9 @@
 			}
 			ImageReader reader = (ImageReader) readers.next();
 			/* are there more readers? */
-			logger.debug("this reader: " + reader.getClass());
+			logger.debug("ImageIO: this reader: " + reader.getClass());
 			while (readers.hasNext()) {
-				logger.debug("next reader: " + readers.next().getClass());
+				logger.debug("ImageIO: next reader: " + readers.next().getClass());
 			}
 			reader.setInput(istream);
 			ImageSize d =
@@ -95,6 +98,7 @@
 			}
 			// dispose the reader to free resources
 			reader.dispose();
+			raf.close();
 		}
 		return true;
 	}