Mercurial > hg > digilib-old
diff servlet/src/digilib/servlet/Scaler.java @ 153:4980c969be4c
Servlet version 1.16a1
- cleanup of DigilibConfig class
- now uses new Parameter and ParameterMap classes
- new parameter default-quality
author | robcast |
---|---|
date | Wed, 03 Sep 2003 00:56:16 +0200 |
parents | bc8df0133c04 |
children | 688ad0b8b0fa |
line wrap: on
line diff
--- a/servlet/src/digilib/servlet/Scaler.java Wed Sep 03 00:54:38 2003 +0200 +++ b/servlet/src/digilib/servlet/Scaler.java Wed Sep 03 00:56:16 2003 +0200 @@ -58,7 +58,7 @@ public class Scaler extends HttpServlet { // digilib servlet version (for all components) - public static final String dlVersion = "1.15b1"; + public static final String dlVersion = "1.16a1"; // Utils instance with debuglevel Utils util; @@ -70,6 +70,17 @@ ServletOps servletOp; // DocuDirCache instance DocuDirCache dirCache; + + // deny image file + File denyImgFile; + // error image file + File errorImgFile; + // subsampling before scaling + float minSubsample = 2f; + // send files as is? + boolean sendFileAllowed = true; + // default scaling quality + int defaultQuality = 1; // DigilibConfiguration instance DigilibConfiguration dlConfig; @@ -90,6 +101,7 @@ // Debuggin! //TCTool tctool = new TCTool(); + System.out.println( "***** Digital Image Library Servlet (version " + dlVersion @@ -110,19 +122,22 @@ throw new ServletException(e); } } - // set the servlet version - dlConfig.setServletVersion(dlVersion); // first we need an Utils util = dlConfig.getUtil(); // set our AuthOps - useAuthentication = dlConfig.isUseAuthentication(); - authOp = dlConfig.getAuthOp(); + useAuthentication = dlConfig.getAsBoolean("use-authorization"); + authOp = (AuthOps) dlConfig.getValue("servlet.auth.op"); // FileOps instance fileOp = new FileOps(util); // AuthOps instance servletOp = new ServletOps(util); // DocuDirCache instance - dirCache = dlConfig.getDirCache(); + dirCache = (DocuDirCache) dlConfig.getValue("servlet.dir.cache"); + denyImgFile = new File(dlConfig.getAsString("denied-image")); + errorImgFile = new File(dlConfig.getAsString("error-image")); + sendFileAllowed = dlConfig.getAsBoolean("sendfile-allowed"); + minSubsample = dlConfig.getAsFloat("subsample-minimum"); + defaultQuality = dlConfig.getAsInt("default-quality"); } /** Process the HTTP Get request*/ @@ -183,7 +198,7 @@ // use hires images only boolean hiresOnly = false; // interpolation to use for scaling - int scaleQual = 1; + int scaleQual = defaultQuality; // send html error message (or image file) boolean errorMsgHtml = false; // mirror the image @@ -265,7 +280,7 @@ } else if (dlRequest.isOption("file")) { scaleToFit = false; absoluteScale = false; - if (dlConfig.isSendFileAllowed()) { + if (sendFileAllowed) { cropToFit = false; sendFile = true; } else { @@ -336,9 +351,7 @@ "ERROR: Unauthorized access!", response); } else { - servletOp.sendFile( - new File(dlConfig.getDenyImgFileName()), - response); + servletOp.sendFile(denyImgFile, response); } return; } @@ -445,7 +458,8 @@ if ((loresOnly && imageSendable && fileToLoad.getSize().isSmallerThan(expectedSourceSize)) - || (!(loresOnly || hiresOnly) && fileToLoad.getSize().fitsIn(expectedSourceSize)) + || (!(loresOnly || hiresOnly) + && fileToLoad.getSize().fitsIn(expectedSourceSize)) || sendFile) { util.dprintln(1, "Sending File as is."); @@ -630,7 +644,7 @@ if (scaleQual > 0) { subsamp = Math.max( - Math.floor(subf / dlConfig.getMinSubsample()), + Math.floor(subf / minSubsample), 1d); } else { subsamp = Math.floor(subf); @@ -762,9 +776,7 @@ "ERROR: File IO Error: " + e, response); } else { - servletOp.sendFile( - new File(dlConfig.getErrorImgFileName()), - response); + servletOp.sendFile(errorImgFile, response); } } catch (FileOpException ex) { } // so we don't get a loop @@ -776,9 +788,7 @@ "ERROR: Authorization error: " + e, response); } else { - servletOp.sendFile( - new File(dlConfig.getErrorImgFileName()), - response); + servletOp.sendFile(errorImgFile, response); } } catch (FileOpException ex) { } // so we don't get a loop @@ -790,9 +800,7 @@ "ERROR: Image Operation Error: " + e, response); } else { - servletOp.sendFile( - new File(dlConfig.getErrorImgFileName()), - response); + servletOp.sendFile(errorImgFile, response); } } catch (FileOpException ex) { } // so we don't get a loop @@ -805,9 +813,7 @@ "ERROR: Other Image Operation Error: " + e, response); } else { - servletOp.sendFile( - new File(dlConfig.getErrorImgFileName()), - response); + servletOp.sendFile(errorImgFile, response); } } catch (FileOpException ex) { } // so we don't get a loop