comparison servlet/src/digilib/image/ImageInfoDocuImage.java @ 588:aee436f0549d stream

more work on stream input
author robcast
date Thu, 06 Jan 2011 14:37:50 +0100
parents 50f291d808b1
children 69bc69381ac4
comparison
equal deleted inserted replaced
587:720d061a1b30 588:aee436f0549d
7 import java.io.IOException; 7 import java.io.IOException;
8 import java.io.RandomAccessFile; 8 import java.io.RandomAccessFile;
9 9
10 import org.marcoschmidt.image.ImageInfo; 10 import org.marcoschmidt.image.ImageInfo;
11 11
12 import digilib.io.ImageFile;
13 import digilib.io.ImageInput; 12 import digilib.io.ImageInput;
14 13
15 /** Simple abstract implementation of the <code>DocuImage</code> interface. 14 /** Simple abstract implementation of the <code>DocuImage</code> interface.
16 * Implements only the identify method using the ImageInfo class. 15 * Implements only the identify method using the ImageInfo class.
17 * @author casties 16 * @author casties
18 * 17 *
19 */ 18 */
20 public abstract class ImageInfoDocuImage extends DocuImageImpl { 19 public abstract class ImageInfoDocuImage extends DocuImageImpl {
21 20
22 /** Check image size and type and store in ImageFile f */ 21 /** Check image size and type and store in ImageFile f */
23 public ImageInput identify(ImageFile imgf) throws IOException { 22 public ImageInput identify(ImageInput ii) throws IOException {
24 // fileset to store the information 23 // fileset to store the information
25 File f = imgf.getFile(); 24 File f = ii.getFile();
26 if (f == null) { 25 if (f == null) {
27 throw new IOException("File not found!"); 26 throw new IOException("File not found!");
28 } 27 }
29 RandomAccessFile raf = new RandomAccessFile(f, "r"); 28 RandomAccessFile raf = new RandomAccessFile(f, "r");
30 // set up ImageInfo object 29 // set up ImageInfo object
34 iif.setDetermineImageNumber(false); 33 iif.setDetermineImageNumber(false);
35 logger.debug("identifying (ImageInfo) " + f); 34 logger.debug("identifying (ImageInfo) " + f);
36 // try with ImageInfo first 35 // try with ImageInfo first
37 if (iif.check()) { 36 if (iif.check()) {
38 ImageSize d = new ImageSize(iif.getWidth(), iif.getHeight()); 37 ImageSize d = new ImageSize(iif.getWidth(), iif.getHeight());
39 imgf.setSize(d); 38 ii.setSize(d);
40 imgf.setMimetype(iif.getMimeType()); 39 ii.setMimetype(iif.getMimeType());
41 //logger.debug(" format:"+iif.getFormatName()); 40 //logger.debug(" format:"+iif.getFormatName());
42 raf.close(); 41 raf.close();
43 logger.debug("image size: " + imgf.getSize()); 42 logger.debug("image size: " + ii.getSize());
44 return imgf; 43 return ii;
45 } else { 44 } else {
46 raf.close(); 45 raf.close();
47 } 46 }
48 return null; 47 return null;
49 } 48 }