# 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};