diff servlet/src/digilib/io/DocuDirCache.java @ 563:686086d6e6d6 digilibPDF

more refactoring and rearranging more enums pdf and image generation still works
author robcast
date Fri, 17 Dec 2010 20:42:25 +0100
parents 88ec23c2b2fb
children 4f5aaa0de456
line wrap: on
line diff
--- a/servlet/src/digilib/io/DocuDirCache.java	Fri Dec 17 16:24:03 2010 +0100
+++ b/servlet/src/digilib/io/DocuDirCache.java	Fri Dec 17 20:42:25 2010 +0100
@@ -30,6 +30,7 @@
 
 import org.apache.log4j.Logger;
 
+import digilib.io.FileOps.FileClass;
 import digilib.servlet.DigilibConfiguration;
 
 /**
@@ -47,7 +48,7 @@
 	String[] baseDirNames = null;
 
 	/** array of allowed file classes (image/text) */
-	private int[] fileClasses = null;
+	private FileClass[] fileClasses = null;
 
 	/** number of files in the whole cache (approximate) */
 	long numFiles = 0;
@@ -67,11 +68,11 @@
 	 * @param bd
 	 *            base directory names
 	 */
-	public DocuDirCache(String[] bd, int[] fileClasses,
+	public DocuDirCache(String[] bd, FileClass[] fcs,
 			DigilibConfiguration dlConfig) {
 		baseDirNames = bd;
 		map = new HashMap<String, DocuDirectory>();
-		this.fileClasses = fileClasses;
+		this.fileClasses = fcs;
 	}
 
 	/**
@@ -84,8 +85,7 @@
 		baseDirNames = bd;
 		map = new HashMap<String, DocuDirectory>();
 		// default file class is CLASS_IMAGE
-		fileClasses = new int[1];
-		fileClasses[0] = FileOps.CLASS_IMAGE;
+		fileClasses = new FileClass[] { FileClass.IMAGE };
 	}
 
 	/**
@@ -122,7 +122,7 @@
 		String parent = FileOps.parent(newDir.getDirName());
 		if (parent != "") {
 			// check the parent in the cache
-			DocuDirectory pd = (DocuDirectory) map.get(parent);
+			DocuDirectory pd = map.get(parent);
 			if (pd == null) {
 				// the parent is unknown
 				pd = new DocuDirectory(parent, this);
@@ -175,12 +175,12 @@
 	 *            file class
 	 * @return
 	 */
-	public DocuDirent getFile(String fn, int in, int fc) {
+	public DocuDirent getFile(String fn, int in, FileClass fc) {
 		DocuDirectory dd;
 		// file number is 1-based, vector index is 0-based
 		int n = in - 1;
 		// first, assume fn is a directory and look in the cache
-		dd = (DocuDirectory) map.get(fn);
+		dd = map.get(fn);
         // logger.debug("fn: " + fn);
         // logger.debug("dd: " + dd);
 		if (dd == null) {
@@ -206,7 +206,7 @@
 				String d = FileOps.parent(fn);
 				// try it in the cache
                 // logger.debug(fn + " is a file in dir " + d);
-				dd = (DocuDirectory) map.get(d);
+				dd = map.get(d);
 				if (dd == null) {
 					// try to read from disk
 					dd = new DocuDirectory(d, this);
@@ -255,7 +255,7 @@
 	public DocuDirectory getDirectory(String fn) {
 		DocuDirectory dd;
 		// first, assume fn is a directory and look in the cache
-		dd = (DocuDirectory) map.get(fn);
+		dd = map.get(fn);
 		if (dd == null) {
 			// cache miss
 			misses++;
@@ -271,7 +271,7 @@
 				// maybe it's a file
 				if (f.canRead()) {
 					// try the parent directory in the cache
-					dd = (DocuDirectory) map.get(f.getParent());
+					dd = map.get(f.getParent());
 					if (dd == null) {
 						// try to read from disk
 						dd = new DocuDirectory(f.getParent(), this);
@@ -343,14 +343,14 @@
 	/**
 	 * @return
 	 */
-	public int[] getFileClasses() {
+	public FileClass[] getFileClasses() {
 		return fileClasses;
 	}
 
 	/**
 	 * @param fileClasses
 	 */
-	public void setFileClasses(int[] fileClasses) {
+	public void setFileClasses(FileClass[] fileClasses) {
 		this.fileClasses = fileClasses;
 	}