annotate servlet/src/digilib/servlet/Scaler.java @ 500:b2325b33b77b digilibPDF

completely restructured the scaler
author cmielack
date Mon, 23 Feb 2009 14:45:22 +0100
parents 0ff3ede32060
children d960b7c68b08
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
1 package digilib.servlet;
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
2
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
3 import java.awt.Image;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
4 import java.awt.geom.Rectangle2D;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
5 import java.io.BufferedOutputStream;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
6 import java.io.File;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
7 import java.io.IOException;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
8 import java.io.InputStream;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
9 import java.io.OutputStream;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
10 import java.util.List;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
11
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
12 import javax.servlet.ServletConfig;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
13 import javax.servlet.ServletContext;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
14 import javax.servlet.ServletException;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
15 import javax.servlet.http.HttpServletRequest;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
16 import javax.servlet.http.HttpServletResponse;
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
17
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
18 import org.apache.log4j.Logger;
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
19
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
20 import digilib.auth.AuthOpException;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
21 import digilib.auth.AuthOps;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
22 import digilib.image.ImageOpException;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
23 import digilib.io.DocuDirCache;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
24 import digilib.io.DocuDirent;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
25 import digilib.io.FileOps;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
26 import digilib.io.ImageFile;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
27 import digilib.io.ImageFileset;
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
28
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
29 public class Scaler extends RequestHandler {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
30
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
31 /** digilib servlet version (for all components) */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
32 public static final String dlVersion = "1.7.0b";
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
33
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
34 /** general error code */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
35 public static final int ERROR_UNKNOWN = 0;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
36
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
37 /** error code for authentication error */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
38 public static final int ERROR_AUTH = 1;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
39
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
40 /** error code for file operation error */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
41 public static final int ERROR_FILE = 2;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
42
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
43 /** error code for image operation error */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
44 public static final int ERROR_IMAGE = 3;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
45
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
46 /** DocuDirCache instance */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
47 DocuDirCache dirCache;
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
48
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
49 /** authentication error image file */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
50 File denyImgFile;
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
51
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
52 /** image error image file */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
53 File errorImgFile;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
54
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
55 /** not found error image file */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
56 File notfoundImgFile;
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
57
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
58 /** subsampling before scaling */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
59 float minSubsample = 2f;
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
60
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
61 /** send files as is? */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
62 boolean sendFileAllowed = true;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
63
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
64 /** default scaling quality */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
65 int defaultQuality = 1;
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
66
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
67 /** DigilibConfiguration instance */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
68 DigilibConfiguration dlConfig;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
69
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
70 /** use authorization database */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
71 boolean useAuthorization = true;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
72
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
73 /** AuthOps instance */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
74 AuthOps authOp;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
75
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
76 // EXPRIMENTAL
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
77 /** try to enlarge cropping area for "oblique" angles */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
78 boolean wholeRotArea = false;
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
79
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
80 /**
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
81 * Initialisation on first run.
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
82 *
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
83 * @see javax.servlet.Servlet#init(javax.servlet.ServletConfig)
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
84 */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
85 public void init(ServletConfig config) throws ServletException {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
86 super.init(config);
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
87
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
88 System.out
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
89 .println("***** Digital Image Library Image Scaler Servlet (version "
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
90 + dlVersion + ") *****");
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
91 // say hello in the log file
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
92 logger
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
93 .info("***** Digital Image Library Image Scaler Servlet (version "
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
94 + dlVersion + ") *****");
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
95
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
96 // get our ServletContext
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
97 ServletContext context = config.getServletContext();
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
98 // see if there is a Configuration instance
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
99 dlConfig = (DigilibConfiguration) context
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
100 .getAttribute("digilib.servlet.configuration");
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
101 if (dlConfig == null) {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
102 // no Configuration
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
103 throw new ServletException("No Configuration!");
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
104 }
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
105 // set our AuthOps
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
106 useAuthorization = dlConfig.getAsBoolean("use-authorization");
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
107 authOp = (AuthOps) dlConfig.getValue("servlet.auth.op");
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
108
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
109 // DocuDirCache instance
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
110 dirCache = (DocuDirCache) dlConfig.getValue("servlet.dir.cache");
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
111 denyImgFile = ServletOps.getFile((File) dlConfig.getValue("denied-image"), config);
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
112 errorImgFile = ServletOps.getFile((File) dlConfig.getValue("error-image"), config);
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
113 notfoundImgFile = ServletOps.getFile((File) dlConfig.getValue("notfound-image"), config);
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
114 sendFileAllowed = dlConfig.getAsBoolean("sendfile-allowed");
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
115 minSubsample = dlConfig.getAsFloat("subsample-minimum");
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
116 defaultQuality = dlConfig.getAsInt("default-quality");
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
117 }
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
118
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
119 @Override
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
120 public void processRequest(HttpServletRequest request,
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
121 HttpServletResponse response) throws ServletException, ImageOpException {
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
122
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
123
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
124 if (dlConfig == null) {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
125 throw new ServletException("ERROR: No Configuration!");
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
126 }
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
127
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
128 accountlog.debug("request: " + request.getQueryString());
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
129 logger.debug("request: " + request.getQueryString());
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
130
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
131
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
132
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
133 // define the job information
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
134 ImageJobInformation jobdeclaration = new ImageJobInformation();
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
135
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
136 jobdeclaration.setWithRequest(request);
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
137 jobdeclaration.setConfig(dlConfig);
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
138
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
139
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
140
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
141
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
142 // TODO check, if file can be sent without transformations
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
143
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
144
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
145
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
146
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
147 OutputStream outputstream = null;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
148 try {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
149 outputstream = response.getOutputStream();
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
150 } catch (IOException e1) {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
151 // TODO Auto-generated catch block
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
152 e1.printStackTrace();
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
153 logger.error(e1.getMessage());
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
154 }
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
155
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
156
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
157 DigilibWorker job=null;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
158 try {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
159
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
160 /* logger.debug(outputstream.toString());
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
161 logger.debug(jobdeclaration.get_mimeType().toString());
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
162 logger.debug(jobdeclaration.get_scaleQual().toString());
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
163 logger.debug(jobdeclaration.getAsFloat("rot"));
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
164 logger.debug(jobdeclaration.getAsFloat("cont"));
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
165 logger.debug(jobdeclaration.getAsFloat("brgt"));
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
166 logger.debug(jobdeclaration.get_paramRGBM().toString());
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
167 logger.debug(jobdeclaration.get_paramRGBA().toString());
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
168 logger.debug("fileToLoad " + jobdeclaration.get_fileToLoad().toString());
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
169 logger.debug("scaleXY " + jobdeclaration.get_scaleXY());
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
170 logger.debug("get_outerUserImgArea " + jobdeclaration.get_outerUserImgArea().toString());
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
171 logger.debug("get_innerUserImgArea " + jobdeclaration.get_innerUserImgArea().toString());
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
172 logger.debug("minSubsample " + minSubsample);
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
173 logger.debug("get_wholeRotArea " + jobdeclaration.get_wholeRotArea());
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
174 logger.debug("get_forceType "+jobdeclaration.get_forceType()); */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
175
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
176 float scaleXY = jobdeclaration.get_scaleXY();
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
177
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
178 long startTime = System.currentTimeMillis();
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
179
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
180
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
181 job = new DigilibImageWorker(dlConfig,
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
182 outputstream ,
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
183 jobdeclaration.get_mimeType(),
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
184 jobdeclaration.get_scaleQual(),
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
185 //jobdeclaration,
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
186 jobdeclaration.getAsFloat("rot"),
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
187 jobdeclaration.getAsFloat("cont"),
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
188 jobdeclaration.getAsFloat("brgt"),
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
189 jobdeclaration.get_paramRGBM(),
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
190 jobdeclaration.get_paramRGBA(),
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
191 jobdeclaration.get_fileToLoad(),
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
192 scaleXY,
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
193 jobdeclaration.get_outerUserImgArea(),
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
194 jobdeclaration.get_innerUserImgArea(),
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
195 minSubsample,
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
196 jobdeclaration.get_wholeRotArea(),
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
197 jobdeclaration.get_forceType(),
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
198 jobdeclaration.get_hmir(),
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
199 jobdeclaration.get_vmir());
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
200
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
201 job.run();
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
202
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
203 if (job.hasError()) {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
204 throw new ImageOpException(job.getError().toString());
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
205 }
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
206
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
207 try {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
208 outputstream.flush();
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
209 logger.debug("Job Processing Time: "+ (System.currentTimeMillis()-startTime) + "ms");
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
210 } catch (IOException e) {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
211 // TODO Auto-generated catch block
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
212 e.printStackTrace();
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
213 logger.error(e.getMessage());
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
214 response.sendError(1);
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
215 }
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
216
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
217
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
218 } catch (IOException e) {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
219 // TODO Auto-generated catch block
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
220 e.printStackTrace();
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
221 logger.error(e.getClass()+": "+ e.getMessage());
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
222 //response.sendError(1);
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
223 } catch (ImageOpException e) {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
224 // TODO Auto-generated catch block
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
225 e.printStackTrace();
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
226 logger.error(e.getClass()+": "+ e.getMessage());
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
227 //response.sendError(1);
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
228 }
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
229
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
230
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
231
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
232
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
233
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
234 /*boolean errorMsgHtml = false;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
235
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
236 if(jobdeclaration.hasOption("mo","errtxt")){
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
237 errorMsgHtml = true;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
238 } else if (jobdeclaration.hasOption("mo","errimg")) {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
239 errorMsgHtml = true;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
240 }
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
241
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
242
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
243
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
244 */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
245
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
246
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
247 }
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
248
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
249
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
250
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
251 /**
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
252 * Sends an error to the client as text or image.
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
253 *
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
254 * @param asHTML
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
255 * @param type
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
256 * @param msg
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
257 * @param response
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
258 */
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
259 public void digilibError(boolean asHTML, int type, String msg,
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
260 HttpServletResponse response) {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
261 try {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
262 File img = null;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
263 if (type == ERROR_AUTH) {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
264 if (msg == null) {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
265 msg = "ERROR: Unauthorized access!";
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
266 }
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
267 img = denyImgFile;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
268 } else if (type == ERROR_FILE) {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
269 if (msg == null) {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
270 msg = "ERROR: Image file not found!";
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
271 }
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
272 img = notfoundImgFile;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
273 } else {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
274 if (msg == null) {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
275 msg = "ERROR: Other image error!";
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
276 }
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
277 img = this.errorImgFile;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
278 }
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
279 if (asHTML && (img != null)) {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
280 ServletOps.htmlMessage(msg, response);
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
281 } else {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
282 ServletOps.sendFile(img, null, response);
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
283 }
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
284 } catch (IOException e) {
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
285 logger.error("Error sending error!", e);
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
286 }
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
287
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
288 }
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
289
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
290 public static String getVersion(){
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
291 return dlVersion;
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
292 }
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
293
1
0ff3ede32060 Initial revision
robcast
parents:
diff changeset
294
500
b2325b33b77b completely restructured the scaler
cmielack
parents: 1
diff changeset
295 }