# HG changeset patch # User robcast # Date 1139860638 -3600 # Node ID f1f710ff14ad9821724166ec32398325822b6b6b # Parent d76a9e3f1ec965958a8d749b4603ae6c2ddd8fb2 Servlet version 1.10b - JAIDocuImage loads Flashpix - refactored image detection code into DocuImage - DocuImage has new methods identify() and getSupportedFormats() diff -r d76a9e3f1ec9 -r f1f710ff14ad servlet/src/digilib/image/DocuImageImpl.java --- a/servlet/src/digilib/image/DocuImageImpl.java Mon Feb 13 20:57:18 2006 +0100 +++ b/servlet/src/digilib/image/DocuImageImpl.java Mon Feb 13 20:57:18 2006 +0100 @@ -20,17 +20,19 @@ package digilib.image; -import digilib.io.ImageFileset; import java.awt.Rectangle; import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; import org.apache.log4j.Logger; +import org.marcoschmidt.image.ImageInfo; import digilib.io.FileOpException; import digilib.io.ImageFile; -import org.marcoschmidt.image.ImageInfo; /** Simple abstract implementation of the DocuImage interface. * @@ -73,7 +75,6 @@ /** Check image size and type and store in ImageFile f */ public boolean identify(ImageFile imgf) throws IOException { // fileset to store the information - ImageFileset imgfs = imgf.getParent(); File f = imgf.getFile(); if (f == null) { throw new IOException("File not found!"); @@ -153,6 +154,12 @@ } public void dispose() { + // emtpy implementation + } + + public Iterator getSupportedFormats() { + List empty = new LinkedList(); + return empty.iterator(); } } diff -r d76a9e3f1ec9 -r f1f710ff14ad servlet/src/digilib/image/ImageLoaderDocuImage.java --- a/servlet/src/digilib/image/ImageLoaderDocuImage.java Mon Feb 13 20:57:18 2006 +0100 +++ b/servlet/src/digilib/image/ImageLoaderDocuImage.java Mon Feb 13 20:57:18 2006 +0100 @@ -19,8 +19,6 @@ package digilib.image; -import digilib.io.FileOps; -import digilib.io.ImageFileset; import java.awt.Rectangle; import java.awt.RenderingHints; import java.awt.geom.AffineTransform; @@ -34,6 +32,7 @@ import java.io.IOException; import java.io.OutputStream; import java.io.RandomAccessFile; +import java.util.Arrays; import java.util.Iterator; import javax.imageio.IIOImage; @@ -47,8 +46,9 @@ import javax.imageio.stream.ImageOutputStream; import digilib.io.FileOpException; +import digilib.io.FileOps; import digilib.io.ImageFile; -import org.marcoschmidt.image.ImageInfo; +import digilib.io.ImageFileset; /** Implementation of DocuImage using the ImageLoader API of Java 1.4 and Java2D. */ public class ImageLoaderDocuImage extends DocuImageImpl { @@ -115,6 +115,12 @@ return w; } + /* returns a list of supported image formats */ + public Iterator getSupportedFormats() { + String[] formats = ImageIO.getReaderFormatNames(); + return Arrays.asList(formats).iterator(); + } + /** Check image size and type and store in ImageFile f */ public boolean identify(ImageFile imgf) throws IOException { // try parent method first @@ -160,10 +166,7 @@ raf.close(); } } - return false; -// } catch (Exception e) { -// throw new FileOpException("ERROR: unknown image file format!"); -// } + throw new FileOpException("ERROR: unknown image file format!"); }