# HG changeset patch # User robcast # Date 1293025560 -3600 # Node ID 6e8488acb4994a9c48b6303cbeffc4b33ae0625a # Parent fd2ef7e461198ef4a9d9a02459be2057038d600d fixed default file class for DocuDir.size() diff -r fd2ef7e46119 -r 6e8488acb499 client/digitallibrary/dirInfo-xml.jsp --- a/client/digitallibrary/dirInfo-xml.jsp Tue Dec 21 20:24:09 2010 +0100 +++ b/client/digitallibrary/dirInfo-xml.jsp Wed Dec 22 14:46:00 2010 +0100 @@ -1,3 +1,4 @@ +<%@page import="digilib.io.FileOps"%> <%@ page language="java" %><%! // create DocumentBean instance for all JSP requests digilib.servlet.DocumentBean docBean = new digilib.servlet.DocumentBean(); @@ -22,17 +23,19 @@ digilib.io.DocuDirCache dirCache = (digilib.io.DocuDirCache) dlConfig.getValue("servlet.dir.cache"); // get directory digilib.io.DocuDirectory dir = dirCache.getDirectory(dlRequest.getFilePath()); +FileOps.FileClass fc = FileOps.FileClass.IMAGE; +int dirSize = dir.size(); %> + <% if (dir != null) { %> - <%= dir.size() %> + <%= dirSize %> <%= dir.getDirName() %> <%= dir.getDir().getPath() %> <% if (!dlRequest.hasOption("mo", "dir")) { - int l = dir.size(); - for (int i = 0; i < l; i++) { - digilib.io.DocuDirent f = dir.get(i); + for (int i = 0; i < dirSize; i++) { + digilib.io.DocuDirent f = dir.get(i, fc); String fn = (f != null) ? f.getName() : "null"; %> <%= i+1 %> diff -r fd2ef7e46119 -r 6e8488acb499 servlet/src/digilib/io/DocuDirectory.java --- a/servlet/src/digilib/io/DocuDirectory.java Tue Dec 21 20:24:09 2010 +0100 +++ b/servlet/src/digilib/io/DocuDirectory.java Wed Dec 22 14:46:00 2010 +0100 @@ -40,6 +40,9 @@ /** list of files (DocuDirent) */ private List> list = null; + /** default FileClass for unspecified calls */ + public static FileClass defaultFileClass = FileClass.IMAGE; + /** directory object is valid (exists on disk) */ private boolean isValid = false; @@ -108,7 +111,7 @@ * */ public int size() { - return ((list != null) && (list.get(0) != null)) ? list.get(0).size() : 0; + return size(defaultFileClass); } /** @@ -118,7 +121,13 @@ * fileClass */ public int size(FileClass fc) { - return ((list != null) && (list.get(fc.ordinal()) != null)) ? list.get(fc.ordinal()).size() : 0; + if (list != null) { + List l = list.get(fc.ordinal()); + if (l != null) { + return l.size(); + } + } + return 0; } /** @@ -128,10 +137,7 @@ * @return */ public ImageFileset get(int index) { - if ((list == null) || (list.get(0) == null) || (index >= list.get(0).size())) { - return null; - } - return (ImageFileset) list.get(0).get(index); + return (ImageFileset) get(index, defaultFileClass); } /** @@ -468,12 +474,7 @@ * @return DocuDirent */ public DocuDirent find(String fn) { - FileClass fc = FileOps.classForFilename(fn); - int i = indexOf(fn, fc); - if (i >= 0) { - return (DocuDirent) list.get(0).get(i); - } - return null; + return find(fn, defaultFileClass); } /** diff -r fd2ef7e46119 -r 6e8488acb499 servlet/src/digilib/servlet/Scaler.java --- a/servlet/src/digilib/servlet/Scaler.java Tue Dec 21 20:24:09 2010 +0100 +++ b/servlet/src/digilib/servlet/Scaler.java Wed Dec 22 14:46:00 2010 +0100 @@ -32,7 +32,7 @@ public class Scaler extends HttpServlet { /** digilib servlet version (for all components) */ - public static final String version = "1.8.2a"; + public static final String version = "1.8.2b"; /** servlet error codes */ public static enum Error {UNKNOWN, AUTH, FILE, IMAGE};