Mercurial > hg > digilib-old
comparison servlet/src/digilib/image/ImageLoaderImageInfoDocuInfo.java @ 170:d40922628e4a
Servlet Version 1.16b2 with new DigilibParameter code.
- more generic class for request parameters
- like already done for DiglibConfig
- changes in JSPs for new request stuff
- changes in ImageSize class so size=0 is "wildcard"
- missing dw and dh parameters now treated as wildcards
- changed package name in imageinfo class
author | robcast |
---|---|
date | Wed, 29 Oct 2003 22:47:15 +0100 |
parents | e743b853efca |
children | afe7ff98bb71 |
comparison
equal
deleted
inserted
replaced
169:93dd5e1c57d3 | 170:d40922628e4a |
---|---|
18 | 18 |
19 * Created on 11.06.2003 | 19 * Created on 11.06.2003 |
20 */ | 20 */ |
21 package digilib.image; | 21 package digilib.image; |
22 | 22 |
23 import ImageInfo; | |
24 | |
25 import java.io.File; | 23 import java.io.File; |
26 import java.io.IOException; | 24 import java.io.IOException; |
27 import java.io.RandomAccessFile; | 25 import java.io.RandomAccessFile; |
28 import java.util.Iterator; | 26 import java.util.Iterator; |
29 | 27 |
30 import javax.imageio.ImageIO; | 28 import javax.imageio.ImageIO; |
31 import javax.imageio.ImageReader; | 29 import javax.imageio.ImageReader; |
32 import javax.imageio.stream.ImageInputStream; | 30 import javax.imageio.stream.ImageInputStream; |
33 | 31 |
32 import org.marcoschmidt.image.ImageInfo; | |
33 | |
34 import digilib.io.FileOpException; | 34 import digilib.io.FileOpException; |
35 import digilib.io.FileOps; | 35 import digilib.io.FileOps; |
36 import digilib.io.ImageFile; | 36 import digilib.io.ImageFile; |
37 import digilib.io.ImageFileset; | |
37 | 38 |
38 /** | 39 /** |
39 * @author casties | 40 * @author casties |
40 * | 41 * |
41 */ | 42 */ |
42 public class ImageLoaderImageInfoDocuInfo implements DocuInfo { | 43 public class ImageLoaderImageInfoDocuInfo implements DocuInfo { |
43 | 44 |
44 /* check image size and type and store in ImageFile f */ | 45 /* check image size and type and store in ImageFile f */ |
45 public boolean checkFile(ImageFile imgf) throws IOException { | 46 public boolean checkFile(ImageFile imgf) throws IOException { |
47 ImageFileset imgfs = imgf.getParent(); | |
46 File f = imgf.getFile(); | 48 File f = imgf.getFile(); |
47 if (f == null) { | 49 if (f == null) { |
48 throw new IOException("File not found!"); | 50 throw new IOException("File not found!"); |
49 } | 51 } |
50 RandomAccessFile raf = new RandomAccessFile(f, "r"); | 52 RandomAccessFile raf = new RandomAccessFile(f, "r"); |
57 if (iif.check()) { | 59 if (iif.check()) { |
58 ImageSize d = | 60 ImageSize d = |
59 new ImageSize(iif.getWidth(), iif.getHeight()); | 61 new ImageSize(iif.getWidth(), iif.getHeight()); |
60 imgf.setSize(d); | 62 imgf.setSize(d); |
61 imgf.setMimetype(iif.getMimeType()); | 63 imgf.setMimetype(iif.getMimeType()); |
64 if (imgfs != null) { | |
65 imgfs.setAspect(d); | |
66 } | |
62 raf.close(); | 67 raf.close(); |
63 } else { | 68 } else { |
64 // else use ImageReader | 69 // else use ImageReader |
65 ImageInputStream istream = ImageIO.createImageInputStream(raf); | 70 ImageInputStream istream = ImageIO.createImageInputStream(raf); |
66 Iterator readers = ImageIO.getImageReaders(istream); | 71 Iterator readers = ImageIO.getImageReaders(istream); |
80 new ImageSize(reader.getWidth(0), reader.getHeight(0)); | 85 new ImageSize(reader.getWidth(0), reader.getHeight(0)); |
81 imgf.setSize(d); | 86 imgf.setSize(d); |
82 String t = reader.getFormatName(); | 87 String t = reader.getFormatName(); |
83 t = FileOps.mimeForFile(f); | 88 t = FileOps.mimeForFile(f); |
84 imgf.setMimetype(t); | 89 imgf.setMimetype(t); |
90 if (imgfs != null) { | |
91 imgfs.setAspect(d); | |
92 } | |
85 // dispose the reader to free resources | 93 // dispose the reader to free resources |
86 reader.dispose(); | 94 reader.dispose(); |
87 } | 95 } |
88 return true; | 96 return true; |
89 } | 97 } |