comparison servlet/src/digilib/io/DocuDirCache.java @ 758:485b85f6e097 stream

fixed jsp to work with new classes. try SynchronizedHashMap.
author robcast
date Mon, 07 Feb 2011 11:02:23 +0100
parents 4f5aaa0de456
children 16a16ca5f651
comparison
equal deleted inserted replaced
757:5d3f74f378dd 758:485b85f6e097
25 import java.io.File; 25 import java.io.File;
26 import java.util.HashMap; 26 import java.util.HashMap;
27 import java.util.LinkedList; 27 import java.util.LinkedList;
28 import java.util.List; 28 import java.util.List;
29 import java.util.Map; 29 import java.util.Map;
30 import java.util.concurrent.ConcurrentHashMap;
30 31
31 import org.apache.log4j.Logger; 32 import org.apache.log4j.Logger;
32 33
33 import digilib.io.FileOps.FileClass; 34 import digilib.io.FileOps.FileClass;
34 import digilib.servlet.DigilibConfiguration; 35 import digilib.servlet.DigilibConfiguration;
40 41
41 /** general logger for this class */ 42 /** general logger for this class */
42 Logger logger = Logger.getLogger(this.getClass()); 43 Logger logger = Logger.getLogger(this.getClass());
43 44
44 /** HashMap of directories */ 45 /** HashMap of directories */
45 Map<String, DocuDirectory> map = null; 46 Map<String, DocuDirectory> map = new ConcurrentHashMap<String, DocuDirectory>();
46 47
47 /** names of base directories */ 48 /** names of base directories */
48 String[] baseDirNames = null; 49 String[] baseDirNames = null;
49 50
50 /** array of allowed file classes (image/text) */ 51 /** array of allowed file classes (image/text) */
69 * base directory names 70 * base directory names
70 */ 71 */
71 public DocuDirCache(String[] bd, FileClass[] fcs, 72 public DocuDirCache(String[] bd, FileClass[] fcs,
72 DigilibConfiguration dlConfig) { 73 DigilibConfiguration dlConfig) {
73 baseDirNames = bd; 74 baseDirNames = bd;
74 map = new HashMap<String, DocuDirectory>();
75 this.fileClasses = fcs; 75 this.fileClasses = fcs;
76 } 76 }
77 77
78 /** 78 /**
79 * Constructor with array of base directory names. 79 * Constructor with array of base directory names.
81 * @param bd 81 * @param bd
82 * base directory names 82 * base directory names
83 */ 83 */
84 public DocuDirCache(String[] bd) { 84 public DocuDirCache(String[] bd) {
85 baseDirNames = bd; 85 baseDirNames = bd;
86 map = new HashMap<String, DocuDirectory>();
87 // default file class is CLASS_IMAGE 86 // default file class is CLASS_IMAGE
88 fileClasses = new FileClass[] { FileClass.IMAGE }; 87 fileClasses = new FileClass[] { FileClass.IMAGE };
89 } 88 }
90 89
91 /** 90 /**