# HG changeset patch # User robcast # Date 1361291545 -3600 # Node ID 2ee26167682818eaca555d29278f555e05ec7d9f # Parent 7a4f27ee087fb8c3cfe62903a24c492539b506a3 better out-of-the box experience: * digilib works without config files using sensible defaults * new sample images folder used by default * config files moved to templates diff -r 7a4f27ee087f -r 2ee261676828 servlet2/src/main/java/digilib/servlet/DigilibServletConfiguration.java --- a/servlet2/src/main/java/digilib/servlet/DigilibServletConfiguration.java Tue Feb 19 17:27:53 2013 +0100 +++ b/servlet2/src/main/java/digilib/servlet/DigilibServletConfiguration.java Tue Feb 19 17:32:25 2013 +0100 @@ -24,6 +24,7 @@ import java.io.File; import java.util.Map; import java.util.Map.Entry; +import java.util.concurrent.atomic.AtomicInteger; import javax.servlet.ServletContext; import javax.servlet.ServletException; @@ -36,47 +37,50 @@ /** * Class to hold the digilib servlet configuration parameters. The parameters * can be read from the digilib-config file and be passed to other servlets or - * beans.
errorImgFileName: image file to send in case of error.
- * denyImgFileName: image file to send if access is denied.
baseDirs: - * array of base directories in order of preference (prescaled versions first). - *
useAuth: use authentication information.
authConfPath: - * authentication configuration file.
...
+ * beans.
+ * errorImgFileName: image file to send in case of error.
+ * denyImgFileName: image file to send if access is denied.
+ * baseDirs: array of base directories in order of preference (prescaled + * versions first).
+ * useAuth: use authentication information.
+ * authConfPath: authentication configuration file.
+ * ...
* * @author casties - * + * */ public class DigilibServletConfiguration extends DigilibConfiguration { - /** - * Definition of parameters and default values. - */ - protected void initParams() { - /* - * Definition of parameters and default values. System parameters that - * are not read from config file have a type 's'. - */ + /** time the webapp (i.e. this class) was loaded */ + public final Long webappStartTime = System.currentTimeMillis(); + + /** counter for HttpRequests (mostly for debugging) */ + public AtomicInteger webappRequestCnt = new AtomicInteger(0); + + /** counter for open HttpRequests (mostly for debugging) */ + public AtomicInteger openRequestCnt = new AtomicInteger(0); - // digilib servlet version - newParameter( - "servlet.version", - digilib.servlet.Scaler.getVersion(), - null, - 's'); - // configuration file location - newParameter("servlet.config.file", null, null, 's'); - // DocuDirCache instance - newParameter("servlet.dir.cache", null, null, 's'); - // DocuImage class instance - newParameter( - "servlet.docuimage.class", - digilib.image.ImageLoaderDocuImage.class, - null, - 's'); - // DocuImage version - newParameter("servlet.docuimage.version", - "?", null, 's'); - // AuthOps instance for authentication - newParameter("servlet.auth.op", null, null, 's'); + /** + * Definition of parameters and default values. + */ + protected void initParams() { + /* + * Definition of parameters and default values. System parameters that + * are not read from config file have a type 's'. + */ + + // digilib servlet version + newParameter("servlet.version", digilib.servlet.Scaler.getVersion(), null, 's'); + // configuration file location + newParameter("servlet.config.file", null, null, 's'); + // DocuDirCache instance + newParameter("servlet.dir.cache", null, null, 's'); + // DocuImage class instance + newParameter("servlet.docuimage.class", digilib.image.ImageLoaderDocuImage.class, null, 's'); + // DocuImage version + newParameter("servlet.docuimage.version", "?", null, 's'); + // AuthOps instance for authentication + newParameter("servlet.auth.op", null, null, 's'); // Executor for image operations newParameter("servlet.worker.imageexecutor", null, null, 's'); // Executor for PDF operations @@ -84,69 +88,55 @@ // Executor for PDF-image operations newParameter("servlet.worker.pdfimageexecutor", null, null, 's'); - /* - * parameters that can be read from config file have a type 'f' - */ + /* + * parameters that can be read from config file have a type 'f' + */ - // image file to send in case of error - newParameter( - "error-image", - new File("img/digilib-error.png"), - null, - 'f'); - // image file to send if access is denied - newParameter( - "denied-image", - new File("img/digilib-denied.png"), - null, - 'f'); - // image file to send if image file not found - newParameter( - "notfound-image", - new File("img/digilib-notfound.png"), - null, - 'f'); - // base directories in order of preference (prescaled versions last) - String[] bd = { "/docuserver/images", "/docuserver/scaled/small" }; - newParameter("basedir-list", bd, null, 'f'); - // use authentication information - newParameter("use-authorization", Boolean.FALSE, null, 'f'); - // authentication configuration file - newParameter("auth-file", new File("digilib-auth.xml"), null, 'f'); - // sending image files as-is allowed - newParameter("sendfile-allowed", Boolean.TRUE, null, 'f'); - // Type of DocuImage instance - newParameter( - "docuimage-class", - "digilib.image.ImageLoaderDocuImage", - null, - 'f'); - // part of URL used to indicate authorized access - newParameter("auth-url-path", "authenticated/", null, 'f'); - // degree of subsampling on image load - newParameter("subsample-minimum", new Float(2f), null, 'f'); - // default scaling quality - newParameter("default-quality", new Integer(1), null, 'f'); - // use mapping file to translate paths - newParameter("use-mapping", Boolean.FALSE, null, 'f'); - // mapping file location - newParameter("mapping-file", new File("digilib-map.xml"), null, 'f'); - // log4j config file location - newParameter("log-config-file", new File("log4j-config.xml"), null, 'f'); - // maximum destination image size (0 means no limit) - newParameter("max-image-size", new Integer(0), null, 'f'); - // number of working threads - newParameter("worker-threads", new Integer(1), null, 'f'); - // max number of waiting threads - newParameter("max-waiting-threads", new Integer(20), null, 'f'); - // number of pdf-generation threads - newParameter("pdf-worker-threads", new Integer(1), null, 'f'); - // max number of waiting pdf-generation threads - newParameter("pdf-max-waiting-threads", new Integer(20), null, 'f'); - // number of pdf-image generation threads - newParameter("pdf-image-worker-threads", new Integer(1), null, 'f'); - // max number of waiting pdf-image generation threads - newParameter("pdf-image-max-waiting-threads", new Integer(10), null, 'f'); + // image file to send in case of error + newParameter("error-image", new File("img/digilib-error.png"), null, 'f'); + // image file to send if access is denied + newParameter("denied-image", new File("img/digilib-denied.png"), null, 'f'); + // image file to send if image file not found + newParameter("notfound-image", new File("img/digilib-notfound.png"), null, 'f'); + // base directories in order of preference (prescaled versions last) + String[] bd = { "sample-images" }; + newParameter("basedir-list", bd, null, 'f'); + // use authentication information + newParameter("use-authorization", Boolean.FALSE, null, 'f'); + // authentication configuration file + newParameter("auth-file", new File("digilib-auth.xml"), null, 'f'); + // sending image files as-is allowed + newParameter("sendfile-allowed", Boolean.TRUE, null, 'f'); + // Type of DocuImage instance + newParameter("docuimage-class", "digilib.image.ImageLoaderDocuImage", null, 'f'); + // part of URL used to indicate authorized access + newParameter("auth-url-path", "authenticated/", null, 'f'); + // degree of subsampling on image load + newParameter("subsample-minimum", new Float(2f), null, 'f'); + // default scaling quality + newParameter("default-quality", new Integer(2), null, 'f'); + // use mapping file to translate paths + newParameter("use-mapping", Boolean.FALSE, null, 'f'); + // mapping file location + newParameter("mapping-file", new File("digilib-map.xml"), null, 'f'); + // log4j config file location + newParameter("log-config-file", new File("log4j-config.xml"), null, 'f'); + // maximum destination image size (0 means no limit) + newParameter("max-image-size", new Integer(0), null, 'f'); + // number of working threads + newParameter("worker-threads", new Integer(1), null, 'f'); + // max number of waiting threads + newParameter("max-waiting-threads", new Integer(20), null, 'f'); + // timeout for worker threads (ms) + newParameter("worker-timeout", new Integer(60000), null, 'f'); + // number of pdf-generation threads + newParameter("pdf-worker-threads", new Integer(1), null, 'f'); + // max number of waiting pdf-generation threads + newParameter("pdf-max-waiting-threads", new Integer(20), null, 'f'); + // number of pdf-image generation threads + newParameter("pdf-image-worker-threads", new Integer(1), null, 'f'); + // max number of waiting pdf-image generation threads + newParameter("pdf-image-max-waiting-threads", new Integer(10), null, 'f'); // PDF generation temp directory newParameter("pdf-temp-dir", "pdf_temp", null, 'f'); // PDF generation cache directory @@ -155,17 +145,18 @@ newParameter("img-diskcache-allowed", Boolean.TRUE, null, 'f'); // default type of error message (image, text, code) newParameter("default-errmsg-type", "image", null, 'f'); - } + } - /** - * Constructor taking a ServletConfig. Reads the config file location from - * an init parameter and loads the config file. Calls readConfig(). - * - * @see readConfig() - */ - public DigilibServletConfiguration(ServletContext c) throws Exception { - readConfig(c); - } + /** + * Constructor taking a ServletConfig. Reads the config file location from + * an init parameter and loads the config file. Calls + * readConfig(). + * + * @see readConfig() + */ + public DigilibServletConfiguration(ServletContext c) throws Exception { + readConfig(c); + } /** * read parameter list from the XML file in init parameter "config-file" or @@ -184,60 +175,66 @@ } String fn = c.getInitParameter("config-file"); if (fn == null) { + logger.debug("readConfig: no param config-file"); fn = ServletOps.getConfigFile("digilib-config.xml", c); - if (fn == null) { - logger.fatal("readConfig: no param config-file"); - throw new ServletException("ERROR: no digilib config file!"); - } } File f = new File(fn); - // setup config file list reader - XMLListLoader lilo = new XMLListLoader("digilib-config", "parameter", - "name", "value"); - // read config file into HashMap - Map confTable = lilo.loadURL(f.toURL().toString()); + if (f.canRead()) { + // setup config file list reader + XMLListLoader lilo = new XMLListLoader("digilib-config", "parameter", "name", "value"); + // read config file into HashMap + Map confTable = lilo.loadURL(f.toURL().toString()); - // set config file path parameter - setValue("servlet.config.file", f.getCanonicalPath()); + // set config file path parameter + setValue("servlet.config.file", f.getCanonicalPath()); - /* - * read parameters - */ + /* + * read parameters + */ - for (Entry confEntry : confTable.entrySet()) { - Parameter p = get(confEntry.getKey()); - if (p != null) { - if (p.getType() == 's') { - // type 's' Parameters are not overwritten. - continue; - } - if (!p.setValueFromString(confEntry.getValue())) { - /* - * automatic conversion failed -- try special cases - */ + for (Entry confEntry : confTable.entrySet()) { + Parameter p = get(confEntry.getKey()); + if (p != null) { + if (p.getType() == 's') { + // type 's' Parameters are not overwritten. + continue; + } + if (!p.setValueFromString(confEntry.getValue())) { + /* + * automatic conversion failed -- try special cases + */ - // basedir-list - if (confEntry.getKey().equals("basedir-list")) { - // split list into directories - String[] dirs = FileOps.pathToArray(confEntry.getValue()); - for (int j = 0; j < dirs.length; j++) { - // make relative directory paths be inside the webapp - dirs[j] = ServletOps.getFile(dirs[j], c); - } - if (dirs != null) { - p.setValue(dirs); + // basedir-list + if (confEntry.getKey().equals("basedir-list")) { + // split list into directories + String[] dirs = FileOps.pathToArray(confEntry.getValue()); + for (int j = 0; j < dirs.length; j++) { + // make relative directory paths be inside the + // webapp + dirs[j] = ServletOps.getFile(dirs[j], c); + } + if (dirs != null) { + p.setValue(dirs); + } } } + } else { + // parameter unknown -- just add + newParameter(confEntry.getKey(), null, confEntry.getValue(), 'f'); } - } else { - // parameter unknown -- just add - newParameter(confEntry.getKey(), null, confEntry.getValue(), - 'f'); + } + } else { + logger.warn("No digilib config file! Using defaults!"); + // update basedir-list + String[] dirs = (String[]) this.getValue("basedir-list"); + for (int j = 0; j < dirs.length; j++) { + // make relative directory paths be inside the + // webapp + dirs[j] = ServletOps.getFile(dirs[j], c); } } // initialise static DocuImage class instance - DigilibServletConfiguration.docuImageClass = (Class) Class - .forName(getAsString("docuimage-class")); + DigilibServletConfiguration.docuImageClass = (Class) Class.forName(getAsString("docuimage-class")); setValue("servlet.docuimage.version", getDocuImageInstance().getVersion()); } diff -r 7a4f27ee087f -r 2ee261676828 servlet2/src/main/java/digilib/servlet/Scaler.java --- a/servlet2/src/main/java/digilib/servlet/Scaler.java Tue Feb 19 17:27:53 2013 +0100 +++ b/servlet2/src/main/java/digilib/servlet/Scaler.java Tue Feb 19 17:32:25 2013 +0100 @@ -34,7 +34,7 @@ private static final long serialVersionUID = -5439198888139362735L; /** digilib servlet version (for all components) */ - public static final String version = "2.1b2 noasync"; + public static final String version = "2.1b3 noasync"; /** servlet error codes */ public static enum Error {UNKNOWN, AUTH, FILE, IMAGE}; diff -r 7a4f27ee087f -r 2ee261676828 servlet3/src/main/java/digilib/servlet/DigilibServletConfiguration.java --- a/servlet3/src/main/java/digilib/servlet/DigilibServletConfiguration.java Tue Feb 19 17:27:53 2013 +0100 +++ b/servlet3/src/main/java/digilib/servlet/DigilibServletConfiguration.java Tue Feb 19 17:32:25 2013 +0100 @@ -27,7 +27,6 @@ import java.util.concurrent.atomic.AtomicInteger; import javax.servlet.ServletContext; -import javax.servlet.ServletException; import digilib.image.DocuImageImpl; import digilib.io.FileOps; @@ -53,7 +52,7 @@ /** time the webapp (i.e. this class) was loaded */ public final Long webappStartTime = System.currentTimeMillis(); - + /** counter for HttpRequests (mostly for debugging) */ public AtomicInteger webappRequestCnt = new AtomicInteger(0); @@ -70,18 +69,15 @@ */ // digilib servlet version - newParameter("servlet.version", digilib.servlet.Scaler.getVersion(), - null, 's'); + newParameter("servlet.version", digilib.servlet.Scaler.getVersion(), null, 's'); // configuration file location newParameter("servlet.config.file", null, null, 's'); // DocuDirCache instance newParameter("servlet.dir.cache", null, null, 's'); // DocuImage class instance - newParameter("servlet.docuimage.class", - digilib.image.ImageLoaderDocuImage.class, null, 's'); + newParameter("servlet.docuimage.class", digilib.image.ImageLoaderDocuImage.class, null, 's'); // DocuImage version - newParameter("servlet.docuimage.version", - "?", null, 's'); + newParameter("servlet.docuimage.version", "?", null, 's'); // AuthOps instance for authentication newParameter("servlet.auth.op", null, null, 's'); // Executor for image operations @@ -96,16 +92,13 @@ */ // image file to send in case of error - newParameter("error-image", new File("img/digilib-error.png"), null, - 'f'); + newParameter("error-image", new File("img/digilib-error.png"), null, 'f'); // image file to send if access is denied - newParameter("denied-image", new File("img/digilib-denied.png"), null, - 'f'); + newParameter("denied-image", new File("img/digilib-denied.png"), null, 'f'); // image file to send if image file not found - newParameter("notfound-image", new File("img/digilib-notfound.png"), - null, 'f'); + newParameter("notfound-image", new File("img/digilib-notfound.png"), null, 'f'); // base directories in order of preference (prescaled versions last) - String[] bd = { "/docuserver/images", "/docuserver/scaled/small" }; + String[] bd = { "sample-images" }; newParameter("basedir-list", bd, null, 'f'); // use authentication information newParameter("use-authorization", Boolean.FALSE, null, 'f'); @@ -120,7 +113,7 @@ // degree of subsampling on image load newParameter("subsample-minimum", new Float(2f), null, 'f'); // default scaling quality - newParameter("default-quality", new Integer(1), null, 'f'); + newParameter("default-quality", new Integer(2), null, 'f'); // use mapping file to translate paths newParameter("use-mapping", Boolean.FALSE, null, 'f'); // mapping file location @@ -142,8 +135,7 @@ // number of pdf-image generation threads newParameter("pdf-image-worker-threads", new Integer(1), null, 'f'); // max number of waiting pdf-image generation threads - newParameter("pdf-image-max-waiting-threads", new Integer(10), null, - 'f'); + newParameter("pdf-image-max-waiting-threads", new Integer(10), null, 'f'); // PDF generation temp directory newParameter("pdf-temp-dir", "pdf_temp", null, 'f'); // PDF generation cache directory @@ -182,59 +174,66 @@ } String fn = c.getInitParameter("config-file"); if (fn == null) { + logger.debug("readConfig: no param config-file"); fn = ServletOps.getConfigFile("digilib-config.xml", c); - if (fn == null) { - logger.fatal("readConfig: no param config-file"); - throw new ServletException("ERROR: no digilib config file!"); - } } File f = new File(fn); - // setup config file list reader - XMLListLoader lilo = new XMLListLoader("digilib-config", "parameter", - "name", "value"); - // read config file into HashMap - Map confTable = lilo.loadURL(f.toURL().toString()); + if (f.canRead()) { + // setup config file list reader + XMLListLoader lilo = new XMLListLoader("digilib-config", "parameter", "name", "value"); + // read config file into HashMap + Map confTable = lilo.loadURL(f.toURL().toString()); - // set config file path parameter - setValue("servlet.config.file", f.getCanonicalPath()); + // set config file path parameter + setValue("servlet.config.file", f.getCanonicalPath()); - /* - * read parameters - */ + /* + * read parameters + */ - for (Entry confEntry : confTable.entrySet()) { - Parameter p = get(confEntry.getKey()); - if (p != null) { - if (p.getType() == 's') { - // type 's' Parameters are not overwritten. - continue; - } - if (!p.setValueFromString(confEntry.getValue())) { - /* - * automatic conversion failed -- try special cases - */ + for (Entry confEntry : confTable.entrySet()) { + Parameter p = get(confEntry.getKey()); + if (p != null) { + if (p.getType() == 's') { + // type 's' Parameters are not overwritten. + continue; + } + if (!p.setValueFromString(confEntry.getValue())) { + /* + * automatic conversion failed -- try special cases + */ - // basedir-list - if (confEntry.getKey().equals("basedir-list")) { - // split list into directories - String[] dirs = FileOps.pathToArray(confEntry.getValue()); - for (int j = 0; j < dirs.length; j++) { - // make relative directory paths be inside the webapp - dirs[j] = ServletOps.getFile(dirs[j], c); - } - if (dirs != null) { - p.setValue(dirs); + // basedir-list + if (confEntry.getKey().equals("basedir-list")) { + // split list into directories + String[] dirs = FileOps.pathToArray(confEntry.getValue()); + for (int j = 0; j < dirs.length; j++) { + // make relative directory paths be inside the + // webapp + dirs[j] = ServletOps.getFile(dirs[j], c); + } + if (dirs != null) { + p.setValue(dirs); + } } } + } else { + // parameter unknown -- just add + newParameter(confEntry.getKey(), null, confEntry.getValue(), 'f'); } - } else { - // parameter unknown -- just add - newParameter(confEntry.getKey(), null, confEntry.getValue(), 'f'); + } + } else { + logger.warn("No digilib config file! Using defaults!"); + // update basedir-list + String[] dirs = (String[]) this.getValue("basedir-list"); + for (int j = 0; j < dirs.length; j++) { + // make relative directory paths be inside the + // webapp + dirs[j] = ServletOps.getFile(dirs[j], c); } } // initialise static DocuImage class instance - DigilibServletConfiguration.docuImageClass = (Class) Class - .forName(getAsString("docuimage-class")); + DigilibServletConfiguration.docuImageClass = (Class) Class.forName(getAsString("docuimage-class")); setValue("servlet.docuimage.version", getDocuImageInstance().getVersion()); } diff -r 7a4f27ee087f -r 2ee261676828 servlet3/src/main/java/digilib/servlet/Initialiser.java --- a/servlet3/src/main/java/digilib/servlet/Initialiser.java Tue Feb 19 17:27:53 2013 +0100 +++ b/servlet3/src/main/java/digilib/servlet/Initialiser.java Tue Feb 19 17:32:25 2013 +0100 @@ -54,7 +54,7 @@ /** servlet version */ - public static final String version = "0.3"; + public static final String version = "0.4"; /** gengeral logger for this class */ private static Logger logger = Logger.getLogger("digilib.init"); @@ -97,8 +97,10 @@ // set up the logger File logConf = ServletOps.getConfigFile((File) dlConfig .getValue("log-config-file"), context); - DOMConfigurator.configure(logConf.getAbsolutePath()); - dlConfig.setValue("log-config-file", logConf); + if (logConf.canRead()) { + DOMConfigurator.configure(logConf.getAbsolutePath()); + dlConfig.setValue("log-config-file", logConf); + } // say hello in the log file logger .info("***** Digital Image Library Initialiser (version " diff -r 7a4f27ee087f -r 2ee261676828 servlet3/src/main/java/digilib/servlet/Scaler.java --- a/servlet3/src/main/java/digilib/servlet/Scaler.java Tue Feb 19 17:27:53 2013 +0100 +++ b/servlet3/src/main/java/digilib/servlet/Scaler.java Tue Feb 19 17:32:25 2013 +0100 @@ -31,7 +31,7 @@ private static final long serialVersionUID = 5289386646192471549L; /** digilib servlet version (for all components) */ - public static final String version = "2.1b2 async"; + public static final String version = "2.1b3 async"; /** servlet error codes */ public static enum Error { diff -r 7a4f27ee087f -r 2ee261676828 webapp/src/main/webapp/WEB-INF/digilib-auth.xml --- a/webapp/src/main/webapp/WEB-INF/digilib-auth.xml Tue Feb 19 17:27:53 2013 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ - - - - - - - - - - - - -
-
-
- - - diff -r 7a4f27ee087f -r 2ee261676828 webapp/src/main/webapp/WEB-INF/digilib-auth.xml.template --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webapp/src/main/webapp/WEB-INF/digilib-auth.xml.template Tue Feb 19 17:32:25 2013 +0100 @@ -0,0 +1,27 @@ + + + + + + + + + + + + +
+
+
+ + + diff -r 7a4f27ee087f -r 2ee261676828 webapp/src/main/webapp/WEB-INF/digilib-config.xml --- a/webapp/src/main/webapp/WEB-INF/digilib-config.xml Tue Feb 19 17:27:53 2013 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,89 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 7a4f27ee087f -r 2ee261676828 webapp/src/main/webapp/WEB-INF/digilib-config.xml.template --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webapp/src/main/webapp/WEB-INF/digilib-config.xml.template Tue Feb 19 17:32:25 2013 +0100 @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 7a4f27ee087f -r 2ee261676828 webapp/src/main/webapp/WEB-INF/digilib-map.xml --- a/webapp/src/main/webapp/WEB-INF/digilib-map.xml Tue Feb 19 17:27:53 2013 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff -r 7a4f27ee087f -r 2ee261676828 webapp/src/main/webapp/WEB-INF/digilib-map.xml.template --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webapp/src/main/webapp/WEB-INF/digilib-map.xml.template Tue Feb 19 17:32:25 2013 +0100 @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff -r 7a4f27ee087f -r 2ee261676828 webapp/src/main/webapp/WEB-INF/log4j-config.xml --- a/webapp/src/main/webapp/WEB-INF/log4j-config.xml Tue Feb 19 17:27:53 2013 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 7a4f27ee087f -r 2ee261676828 webapp/src/main/webapp/WEB-INF/log4j-config.xml.template --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webapp/src/main/webapp/WEB-INF/log4j-config.xml.template Tue Feb 19 17:32:25 2013 +0100 @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 7a4f27ee087f -r 2ee261676828 webapp/src/main/webapp/sample-images/digilib-logo.png Binary file webapp/src/main/webapp/sample-images/digilib-logo.png has changed diff -r 7a4f27ee087f -r 2ee261676828 webapp/src/main/webapp/sample-images/p0005.jpg Binary file webapp/src/main/webapp/sample-images/p0005.jpg has changed diff -r 7a4f27ee087f -r 2ee261676828 webapp/src/main/webapp/sample-images/p0005.jpg.meta --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webapp/src/main/webapp/sample-images/p0005.jpg.meta Tue Feb 19 17:32:25 2013 +0100 @@ -0,0 +1,15 @@ + + + + + 370 + + + + Max Planck Institute for the History of Science, Library + http://www.mpiwg-berlin.mpg.de/ + + + + + diff -r 7a4f27ee087f -r 2ee261676828 webapp/src/main/webapp/sample-images/ruler.tif Binary file webapp/src/main/webapp/sample-images/ruler.tif has changed diff -r 7a4f27ee087f -r 2ee261676828 webapp/src/main/webapp/sample-images/ruler.tif.meta --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webapp/src/main/webapp/sample-images/ruler.tif.meta Tue Feb 19 17:32:25 2013 +0100 @@ -0,0 +1,8 @@ + + + + + 300 + + + diff -r 7a4f27ee087f -r 2ee261676828 webapp/src/main/webapp/sample-images/xterm_color_chart.png Binary file webapp/src/main/webapp/sample-images/xterm_color_chart.png has changed