diff servlet/src/digilib/io/AliasingDocuDirCache.java @ 259:beed92ee6022

Servlet version 1.21b1 - directory indexing got faster but less safe (configurable by "safe-dir-index") - mo=rawfile supplies filename - DigilibConfig takes File parameters - some SerialVersionUIDs (suggested by Eclipse)
author robcast
date Mon, 11 Oct 2004 21:23:00 +0200
parents f8c82fea551a
children 2c7747cc1838
line wrap: on
line diff
--- a/servlet/src/digilib/io/AliasingDocuDirCache.java	Mon Oct 11 21:17:37 2004 +0200
+++ b/servlet/src/digilib/io/AliasingDocuDirCache.java	Mon Oct 11 21:23:00 2004 +0200
@@ -26,6 +26,8 @@
 import java.util.HashMap;
 import java.util.Iterator;
 
+import digilib.servlet.DigilibConfiguration;
+
 /**
  * @author casties
  *  
@@ -38,21 +40,17 @@
 	 * @param confFileName
 	 * @throws FileOpException
 	 */
-	public AliasingDocuDirCache(
-		String[] baseDirs,
-		int[] fileClasses,
-		String confFileName)
-		throws FileOpException {
+	public AliasingDocuDirCache(String[] baseDirs, int[] fileClasses,
+			File confFile, DigilibConfiguration dlConfig)
+			throws FileOpException {
 		// create standard DocuDirCache
-		super(baseDirs, fileClasses);
+		super(baseDirs, fileClasses, dlConfig);
 		HashMap pathMap = null;
 		// read alias config file
 		try {
-			// create data loader for mapping-file
-			File confFile = new File(confFileName);
 			// load into pathMap
-			XMLListLoader mapLoader =
-				new XMLListLoader("digilib-aliases", "mapping", "link", "dir");
+			XMLListLoader mapLoader = new XMLListLoader("digilib-aliases",
+					"mapping", "link", "dir");
 			pathMap = mapLoader.loadURL(confFile.toURL().toString());
 		} catch (Exception e) {
 			throw new FileOpException("ERROR loading mapping file: " + e);
@@ -64,13 +62,13 @@
 		/*
 		 * load map entries into cache
 		 */
-		
+
 		for (Iterator i = pathMap.keySet().iterator(); i.hasNext();) {
-			String link = FileOps.normalName((String)i.next());
+			String link = FileOps.normalName((String) i.next());
 			String dir = (String) pathMap.get(link);
 			DocuDirectory destDir = new DocuDirectory(dir, this);
 			if (destDir.isValid()) {
-				logger.debug("Aliasing dir: "+link);
+				logger.debug("Aliasing dir: " + link);
 				// add the alias name
 				putName(link, destDir);
 				// add the real dir
@@ -79,17 +77,19 @@
 		}
 	}
 
-	/** Adds a DocuDirectory under another name to the cache.
+	/**
+	 * Adds a DocuDirectory under another name to the cache.
 	 * 
-	 * @param name 
+	 * @param name
 	 * @param newdir
 	 */
 	public void putName(String name, DocuDirectory newdir) {
 		if (map.containsKey(name)) {
-			logger.warn("Duplicate key in AliasingDocuDirCache.put -- ignored!");
+			logger
+					.warn("Duplicate key in AliasingDocuDirCache.put -- ignored!");
 		} else {
 			map.put(name, newdir);
 		}
 	}
-	
+
 }