changeset 589:73e041c710d3 stream

more work on stream input
author robcast
date Thu, 06 Jan 2011 17:33:01 +0100
parents aee436f0549d
children 69bc69381ac4
files servlet/src/digilib/image/ImageJobDescription.java servlet/src/digilib/image/ImageLoaderDocuImage.java servlet/src/digilib/image/ImageWorker.java servlet/src/digilib/image/JAIImageLoaderDocuImage.java servlet/src/digilib/io/MetadataMap.java
diffstat 5 files changed, 11 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/servlet/src/digilib/image/ImageJobDescription.java	Thu Jan 06 14:37:50 2011 +0100
+++ b/servlet/src/digilib/image/ImageJobDescription.java	Thu Jan 06 17:33:01 2011 +0100
@@ -11,7 +11,6 @@
 import digilib.io.FileOpException;
 import digilib.io.FileOps;
 import digilib.io.FileOps.FileClass;
-import digilib.io.ImageFile;
 import digilib.io.ImageInput;
 import digilib.io.ImageSet;
 import digilib.servlet.DigilibConfiguration;
@@ -26,8 +25,6 @@
  * 
  * This contains the functionality formerly found in Scaler, processRequest, only factorized.
  * 
- * TODO clean up...
- * 
  * @author cmielack, casties
  *
  */
@@ -44,7 +41,7 @@
 	ImageSize expectedSourceSize = null;
 	Float scaleXY = null;
 	Rectangle2D userImgArea = null;
-	Rectangle2D outerUserImgArea= null;
+	Rectangle2D outerUserImgArea = null;
 	Boolean imageSendable = null;
 	String mimeType;
 	Integer paramDW;
@@ -138,7 +135,6 @@
 	}
 	
 	public ImageInput getFileToLoad() throws IOException {
-		
 		if(fileToLoad == null){
 			fileset = getFileset();
 			
--- a/servlet/src/digilib/image/ImageLoaderDocuImage.java	Thu Jan 06 14:37:50 2011 +0100
+++ b/servlet/src/digilib/image/ImageLoaderDocuImage.java	Thu Jan 06 17:33:01 2011 +0100
@@ -49,7 +49,6 @@
 
 import digilib.io.FileOpException;
 import digilib.io.FileOps;
-import digilib.io.ImageSet;
 import digilib.io.ImageInput;
 
 /** Implementation of DocuImage using the ImageLoader API of Java 1.4 and Java2D. */
--- a/servlet/src/digilib/image/ImageWorker.java	Thu Jan 06 14:37:50 2011 +0100
+++ b/servlet/src/digilib/image/ImageWorker.java	Thu Jan 06 17:33:01 2011 +0100
@@ -10,7 +10,6 @@
 import org.apache.log4j.Logger;
 
 import digilib.io.FileOpException;
-import digilib.io.ImageInput;
 import digilib.servlet.DigilibConfiguration;
 
 /** Worker that renders an image.
@@ -70,19 +69,14 @@
                 logger.debug("Using subsampling: " + subsamp + " rest "
                         + scaleXY);
             }
-
-            docuImage.loadSubimage((ImageInput) jobinfo.getFileToLoad(), loadRect, (int) subsamp); //FIXME: cast to file
-
+            docuImage.loadSubimage(jobinfo.getFileToLoad(), loadRect, (int) subsamp);
             logger.debug("SUBSAMP: " + subsamp + " -> " + docuImage.getSize());
-
             docuImage.scale(scaleXY, scaleXY);
-
         } else {
             // else load and crop the whole file
-            docuImage.loadImage((ImageInput) jobinfo.getFileToLoad()); //FIXME: cast to file
+            docuImage.loadImage(jobinfo.getFileToLoad());
             docuImage.crop((int) loadRect.getX(), (int) loadRect.getY(),
                     (int) loadRect.getWidth(), (int) loadRect.getHeight());
-
             docuImage.scale(scaleXY, scaleXY);
         }
 
--- a/servlet/src/digilib/image/JAIImageLoaderDocuImage.java	Thu Jan 06 14:37:50 2011 +0100
+++ b/servlet/src/digilib/image/JAIImageLoaderDocuImage.java	Thu Jan 06 17:33:01 2011 +0100
@@ -81,9 +81,12 @@
 
 	/* Load an image file into the Object. */
 	public void loadImage(ImageInput ii) throws FileOpException {
-		logger.debug("loadImage: "+ii.getFile());
-		//System.gc();
-		img = JAI.create("ImageRead", ii.getFile().getAbsolutePath());
+		logger.debug("loadImage: "+ii);
+		if (ii.hasImageInputStream()) {
+			img = JAI.create("ImageRead", ii.getImageInputStream());
+		} else if (ii.hasFile()) {
+			img = JAI.create("ImageRead", ii.getFile().getAbsolutePath());
+		}
 		if (img == null) {
 			throw new FileOpException("Unable to load File!");
 		}
@@ -127,8 +130,8 @@
             throw new FileOpException("Can't find Reader to load File!");
         }
         reader = readers.next();
+        logger.debug("ImageIO: this reader: " + reader.getClass());
         /* are there more readers? */
-        logger.debug("ImageIO: this reader: " + reader.getClass());
         /* while (readers.hasNext()) {
             logger.debug("ImageIO: next reader: " + readers.next().getClass());
         } */
--- a/servlet/src/digilib/io/MetadataMap.java	Thu Jan 06 14:37:50 2011 +0100
+++ b/servlet/src/digilib/io/MetadataMap.java	Thu Jan 06 17:33:01 2011 +0100
@@ -9,6 +9,7 @@
  * @author casties
  *
  */
+@SuppressWarnings("serial")
 public class MetadataMap extends HashMap<String, String> {
 
 }