# HG changeset patch # User robcast # Date 1304417888 -7200 # Node ID afd82fe0c48a4c8e8dff7a9d41921fdf2f8d01ad # Parent 4f8f2b9ab539bc8a3b0ca9f637f0cfb66fb618ec move Texter servlet to its own maven module diff -r 4f8f2b9ab539 -r afd82fe0c48a pdf/pom.xml --- a/pdf/pom.xml Tue Apr 26 21:02:31 2011 +0200 +++ b/pdf/pom.xml Tue May 03 12:18:08 2011 +0200 @@ -1,73 +1,80 @@ - 4.0.0 - - digilib - digilib - 2.0-SNAPSHOT - - digilib - digilib-pdf - 2.0-SNAPSHOT - digilib-pdf - The Digital Image Library - PDF generation servlet - http://digilib.berlios.de - - - digilib - digilib-common - jar - compile - - - com.itextpdf - itextpdf - jar - compile - - - javax.servlet - servlet-api - 2.3 - jar - provided - - - - - servlet2 - - true - - servletapi - 2 - - - - - digilib - digilib-servlet2 - jar - provided - - - - - servlet3 - - - servletapi - 3 - - - - - digilib - digilib-servlet3 - jar - provided - - - - + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + + digilib + digilib + 2.0-SNAPSHOT + + digilib + digilib-pdf + 2.0-SNAPSHOT + digilib-pdf + The Digital Image Library - PDF generation servlet + http://digilib.berlios.de + + + digilib + digilib-common + jar + compile + + + com.itextpdf + itextpdf + jar + compile + + + + + servlet2 + + true + + servletapi + 2 + + + + + digilib + digilib-servlet2 + jar + provided + + + javax.servlet + servlet-api + 2.3 + jar + provided + + + + + servlet3 + + + servletapi + 3 + + + + + digilib + digilib-servlet3 + jar + provided + + + org.mortbay.jetty + servlet-api + 3.0.20100224 + jar + provided + + + + \ No newline at end of file diff -r 4f8f2b9ab539 -r afd82fe0c48a pom.xml --- a/pom.xml Tue Apr 26 21:02:31 2011 +0200 +++ b/pom.xml Tue May 03 12:18:08 2011 +0200 @@ -189,5 +189,6 @@ servlet2 servlet3 pdf + text \ No newline at end of file diff -r 4f8f2b9ab539 -r afd82fe0c48a servlet2/src/main/java/digilib/servlet/Texter.java --- a/servlet2/src/main/java/digilib/servlet/Texter.java Tue Apr 26 21:02:31 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,189 +0,0 @@ -/* Texter.java -- Servlet for displaying text - * Digital Image Library servlet components - * Copyright (C) 2003 Robert Casties (robcast@mail.berlios.de) - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) - * any later version. Please read license.txt for the full details. A copy of - * the GPL may be found at http://www.gnu.org/copyleft/lgpl.html - * You should have received a copy of the GNU General Public License along with this - * program; if not, write to the Free Software Foundation, Inc., 59 Temple - * Place, Suite 330, Boston, MA 02111-1307 USA - * - * Created on 15.09.2003 by casties - */ - -package digilib.servlet; - -import java.io.IOException; - -import javax.servlet.ServletConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.log4j.Logger; - -import digilib.auth.AuthOps; -import digilib.image.ImageOpException; -import digilib.io.DocuDirCache; -import digilib.io.FileOps; -import digilib.io.FileOps.FileClass; -import digilib.io.TextFile; - -/** - * Servlet for displaying text - * - * - * @author casties - * - */ -public class Texter extends HttpServlet { - - private static final long serialVersionUID = 6678666342141409867L; - - /** Servlet version */ - public static String tlVersion = "0.1b3"; - - /** DigilibConfiguration instance */ - DigilibServletConfiguration dlConfig = null; - - /** general logger */ - Logger logger = Logger.getLogger("digilib.texter"); - - /** logger for accounting requests */ - protected static Logger accountlog = Logger.getLogger("account.texter.request"); - - /** FileOps instance */ - FileOps fileOp; - - /** AuthOps instance */ - AuthOps authOp; - - /** ServletOps instance */ - ServletOps servletOp; - - /** DocuDirCache instance */ - DocuDirCache dirCache; - - /** use authentication */ - boolean useAuthentication = false; - - /* - * (non-Javadoc) - * - * @see javax.servlet.Servlet#init(javax.servlet.ServletConfig) - */ - public void init(ServletConfig config) throws ServletException { - super.init(config); - - System.out.println("***** Digital Image Library Text Servlet (version " - + tlVersion + ") *****"); - - // get our ServletContext - ServletContext context = config.getServletContext(); - // see if there is a Configuration instance - dlConfig = (DigilibServletConfiguration) context - .getAttribute("digilib.servlet.configuration"); - if (dlConfig == null) { - // no Configuration - throw new ServletException("No Configuration!"); - } - // say hello in the log file - logger.info("***** Digital Image Library Text Servlet (version " - + tlVersion + ") *****"); - - // set our AuthOps - useAuthentication = dlConfig.getAsBoolean("use-authorization"); - authOp = (AuthOps) dlConfig.getValue("servlet.auth.op"); - // DocuDirCache instance - dirCache = (DocuDirCache) dlConfig.getValue("servlet.dir.cache"); - } - - /* - * (non-Javadoc) - * - * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, - * javax.servlet.http.HttpServletResponse) - */ - protected void doGet(HttpServletRequest request, - HttpServletResponse response) throws ServletException, IOException { - accountlog.info("GET from " + request.getRemoteAddr()); - // do the processing - processRequest(request, response); - } - - /* - * (non-Javadoc) - * - * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, - * javax.servlet.http.HttpServletResponse) - */ - protected void doPost(HttpServletRequest request, - HttpServletResponse response) throws ServletException, IOException { - accountlog.info("POST from " + request.getRemoteAddr()); - // do the processing - processRequest(request, response); - } - - protected void processRequest(HttpServletRequest request, - HttpServletResponse response) { - - /* - * request parameters - */ - // create new request with defaults - DigilibServletRequest dlRequest = new DigilibServletRequest(request); - try { - - /* - * find the file to load/send - */ - TextFile f = getTextFile(dlRequest, "/txt"); - if (f != null) { - ServletOps.sendFile(f.getFile(), null, null, response, logger); - } else { - f = getTextFile(dlRequest, ""); - if (f != null) { - ServletOps.sendFile(f.getFile(), null, null, response, logger); - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND, "Text-File not found!"); - //ServletOps.htmlMessage("No Text-File!", response); - } - } - - } catch (ImageOpException e) { - // most likely wrong file format... - logger.error("ERROR sending text file: ", e); - try { - response.sendError(HttpServletResponse.SC_BAD_REQUEST); - } catch (IOException e1) { - logger.error("ERROR sending error: ", e1); - } - } catch (IOException e) { - logger.error("ERROR sending text file: ", e); - } - } - - - /** - * Looks for a file in the given subDirectory. - * - * @param dlRequest - * The received request which has the file path. - * @param subDirectory - * The subDirectory of the file path where the file should - * be found. - * @return The wanted Textfile or null if there wasn't a file. - */ - - private TextFile getTextFile(DigilibServletRequest dlRequest, String subDirectory) { - String loadPathName = dlRequest.getFilePath() + subDirectory; - // find the file(set) - return (TextFile) dirCache.getFile(loadPathName, dlRequest.getAsInt("pn"), - FileClass.TEXT); - } -} \ No newline at end of file diff -r 4f8f2b9ab539 -r afd82fe0c48a servlet3/src/main/java/digilib/servlet/Texter.java --- a/servlet3/src/main/java/digilib/servlet/Texter.java Tue Apr 26 21:02:31 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,189 +0,0 @@ -/* Texter.java -- Servlet for displaying text - * Digital Image Library servlet components - * Copyright (C) 2003 Robert Casties (robcast@mail.berlios.de) - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) - * any later version. Please read license.txt for the full details. A copy of - * the GPL may be found at http://www.gnu.org/copyleft/lgpl.html - * You should have received a copy of the GNU General Public License along with this - * program; if not, write to the Free Software Foundation, Inc., 59 Temple - * Place, Suite 330, Boston, MA 02111-1307 USA - * - * Created on 15.09.2003 by casties - */ - -package digilib.servlet; - -import java.io.IOException; - -import javax.servlet.ServletConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.log4j.Logger; - -import digilib.auth.AuthOps; -import digilib.image.ImageOpException; -import digilib.io.DocuDirCache; -import digilib.io.FileOps; -import digilib.io.FileOps.FileClass; -import digilib.io.TextFile; - -/** - * Servlet for displaying text - * - * - * @author casties - * - */ -public class Texter extends HttpServlet { - - private static final long serialVersionUID = 6678666342141409867L; - - /** Servlet version */ - public static String tlVersion = "0.1b3"; - - /** DigilibConfiguration instance */ - DigilibConfiguration dlConfig = null; - - /** general logger */ - Logger logger = Logger.getLogger("digilib.texter"); - - /** logger for accounting requests */ - protected static Logger accountlog = Logger.getLogger("account.texter.request"); - - /** FileOps instance */ - FileOps fileOp; - - /** AuthOps instance */ - AuthOps authOp; - - /** ServletOps instance */ - ServletOps servletOp; - - /** DocuDirCache instance */ - DocuDirCache dirCache; - - /** use authentication */ - boolean useAuthentication = false; - - /* - * (non-Javadoc) - * - * @see javax.servlet.Servlet#init(javax.servlet.ServletConfig) - */ - public void init(ServletConfig config) throws ServletException { - super.init(config); - - System.out.println("***** Digital Image Library Text Servlet (version " - + tlVersion + ") *****"); - - // get our ServletContext - ServletContext context = config.getServletContext(); - // see if there is a Configuration instance - dlConfig = (DigilibConfiguration) context - .getAttribute("digilib.servlet.configuration"); - if (dlConfig == null) { - // no Configuration - throw new ServletException("No Configuration!"); - } - // say hello in the log file - logger.info("***** Digital Image Library Text Servlet (version " - + tlVersion + ") *****"); - - // set our AuthOps - useAuthentication = dlConfig.getAsBoolean("use-authorization"); - authOp = (AuthOps) dlConfig.getValue("servlet.auth.op"); - // DocuDirCache instance - dirCache = (DocuDirCache) dlConfig.getValue("servlet.dir.cache"); - } - - /* - * (non-Javadoc) - * - * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, - * javax.servlet.http.HttpServletResponse) - */ - protected void doGet(HttpServletRequest request, - HttpServletResponse response) throws ServletException, IOException { - accountlog.info("GET from " + request.getRemoteAddr()); - // do the processing - processRequest(request, response); - } - - /* - * (non-Javadoc) - * - * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, - * javax.servlet.http.HttpServletResponse) - */ - protected void doPost(HttpServletRequest request, - HttpServletResponse response) throws ServletException, IOException { - accountlog.info("POST from " + request.getRemoteAddr()); - // do the processing - processRequest(request, response); - } - - protected void processRequest(HttpServletRequest request, - HttpServletResponse response) { - - /* - * request parameters - */ - // create new request with defaults - DigilibServletRequest dlRequest = new DigilibServletRequest(request); - try { - - /* - * find the file to load/send - */ - TextFile f = getTextFile(dlRequest, "/txt"); - if (f != null) { - ServletOps.sendFile(f.getFile(), null, null, response, logger); - } else { - f = getTextFile(dlRequest, ""); - if (f != null) { - ServletOps.sendFile(f.getFile(), null, null, response, logger); - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND, "Text-File not found!"); - //ServletOps.htmlMessage("No Text-File!", response); - } - } - - } catch (ImageOpException e) { - // most likely wrong file format... - logger.error("ERROR sending text file: ", e); - try { - response.sendError(HttpServletResponse.SC_BAD_REQUEST); - } catch (IOException e1) { - logger.error("ERROR sending error: ", e1); - } - } catch (IOException e) { - logger.error("ERROR sending text file: ", e); - } - } - - - /** - * Looks for a file in the given subDirectory. - * - * @param dlRequest - * The received request which has the file path. - * @param subDirectory - * The subDirectory of the file path where the file should - * be found. - * @return The wanted Textfile or null if there wasn't a file. - */ - - private TextFile getTextFile(DigilibRequest dlRequest, String subDirectory) { - String loadPathName = dlRequest.getFilePath() + subDirectory; - // find the file(set) - return (TextFile) dirCache.getFile(loadPathName, dlRequest.getAsInt("pn"), - FileClass.TEXT); - } -} \ No newline at end of file diff -r 4f8f2b9ab539 -r afd82fe0c48a text/pom.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/text/pom.xml Tue May 03 12:18:08 2011 +0200 @@ -0,0 +1,74 @@ + + 4.0.0 + + digilib + digilib + 2.0-SNAPSHOT + + digilib + text + 2.0-SNAPSHOT + digilib-text + + + digilib + digilib-common + jar + compile + + + The Digital Image Library - text (plain or XML) serving servlet + http://digilib.berlios.de + + + servlet2 + + true + + servletapi + 2 + + + + + digilib + digilib-servlet2 + jar + provided + + + javax.servlet + servlet-api + 2.3 + jar + provided + + + + + servlet3 + + + servletapi + 3 + + + + + digilib + digilib-servlet3 + jar + provided + + + org.mortbay.jetty + servlet-api + 3.0.20100224 + jar + provided + + + + + \ No newline at end of file diff -r 4f8f2b9ab539 -r afd82fe0c48a text/src/main/java/digilib/servlet/Texter.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/text/src/main/java/digilib/servlet/Texter.java Tue May 03 12:18:08 2011 +0200 @@ -0,0 +1,189 @@ +/* Texter.java -- Servlet for displaying text + * Digital Image Library servlet components + * Copyright (C) 2003 Robert Casties (robcast@mail.berlios.de) + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation; either version 2 of the License, or (at your option) + * any later version. Please read license.txt for the full details. A copy of + * the GPL may be found at http://www.gnu.org/copyleft/lgpl.html + * You should have received a copy of the GNU General Public License along with this + * program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on 15.09.2003 by casties + */ + +package digilib.servlet; + +import java.io.IOException; + +import javax.servlet.ServletConfig; +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.log4j.Logger; + +import digilib.auth.AuthOps; +import digilib.image.ImageOpException; +import digilib.io.DocuDirCache; +import digilib.io.FileOps; +import digilib.io.FileOps.FileClass; +import digilib.io.TextFile; + +/** + * Servlet for displaying text + * + * + * @author casties + * + */ +public class Texter extends HttpServlet { + + private static final long serialVersionUID = 6678666342141409867L; + + /** Servlet version */ + public static String tlVersion = "0.1b3"; + + /** DigilibConfiguration instance */ + DigilibServletConfiguration dlConfig = null; + + /** general logger */ + Logger logger = Logger.getLogger("digilib.texter"); + + /** logger for accounting requests */ + protected static Logger accountlog = Logger.getLogger("account.texter.request"); + + /** FileOps instance */ + FileOps fileOp; + + /** AuthOps instance */ + AuthOps authOp; + + /** ServletOps instance */ + ServletOps servletOp; + + /** DocuDirCache instance */ + DocuDirCache dirCache; + + /** use authentication */ + boolean useAuthentication = false; + + /* + * (non-Javadoc) + * + * @see javax.servlet.Servlet#init(javax.servlet.ServletConfig) + */ + public void init(ServletConfig config) throws ServletException { + super.init(config); + + System.out.println("***** Digital Image Library Text Servlet (version " + + tlVersion + ") *****"); + + // get our ServletContext + ServletContext context = config.getServletContext(); + // see if there is a Configuration instance + dlConfig = (DigilibServletConfiguration) context + .getAttribute("digilib.servlet.configuration"); + if (dlConfig == null) { + // no Configuration + throw new ServletException("No Configuration!"); + } + // say hello in the log file + logger.info("***** Digital Image Library Text Servlet (version " + + tlVersion + ") *****"); + + // set our AuthOps + useAuthentication = dlConfig.getAsBoolean("use-authorization"); + authOp = (AuthOps) dlConfig.getValue("servlet.auth.op"); + // DocuDirCache instance + dirCache = (DocuDirCache) dlConfig.getValue("servlet.dir.cache"); + } + + /* + * (non-Javadoc) + * + * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, + * javax.servlet.http.HttpServletResponse) + */ + protected void doGet(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + accountlog.info("GET from " + request.getRemoteAddr()); + // do the processing + processRequest(request, response); + } + + /* + * (non-Javadoc) + * + * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, + * javax.servlet.http.HttpServletResponse) + */ + protected void doPost(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + accountlog.info("POST from " + request.getRemoteAddr()); + // do the processing + processRequest(request, response); + } + + protected void processRequest(HttpServletRequest request, + HttpServletResponse response) { + + /* + * request parameters + */ + // create new request with defaults + DigilibServletRequest dlRequest = new DigilibServletRequest(request); + try { + + /* + * find the file to load/send + */ + TextFile f = getTextFile(dlRequest, "/txt"); + if (f != null) { + ServletOps.sendFile(f.getFile(), null, null, response, logger); + } else { + f = getTextFile(dlRequest, ""); + if (f != null) { + ServletOps.sendFile(f.getFile(), null, null, response, logger); + } else { + response.sendError(HttpServletResponse.SC_NOT_FOUND, "Text-File not found!"); + //ServletOps.htmlMessage("No Text-File!", response); + } + } + + } catch (ImageOpException e) { + // most likely wrong file format... + logger.error("ERROR sending text file: ", e); + try { + response.sendError(HttpServletResponse.SC_BAD_REQUEST); + } catch (IOException e1) { + logger.error("ERROR sending error: ", e1); + } + } catch (IOException e) { + logger.error("ERROR sending text file: ", e); + } + } + + + /** + * Looks for a file in the given subDirectory. + * + * @param dlRequest + * The received request which has the file path. + * @param subDirectory + * The subDirectory of the file path where the file should + * be found. + * @return The wanted Textfile or null if there wasn't a file. + */ + + private TextFile getTextFile(DigilibServletRequest dlRequest, String subDirectory) { + String loadPathName = dlRequest.getFilePath() + subDirectory; + // find the file(set) + return (TextFile) dirCache.getFile(loadPathName, dlRequest.getAsInt("pn"), + FileClass.TEXT); + } +} \ No newline at end of file diff -r 4f8f2b9ab539 -r afd82fe0c48a webapp/pom.xml --- a/webapp/pom.xml Tue Apr 26 21:02:31 2011 +0200 +++ b/webapp/pom.xml Tue May 03 12:18:08 2011 +0200 @@ -91,5 +91,16 @@ + + text + + + digilib + digilib-text + jar + compile + + +