Mercurial > hg > digilib-old
comparison servlet/src/digilib/io/DigilibInfoReader.java @ 557:0885f5ca5b24 digilibPDF
more refactoring and rearranging
pdf and image generation works now
author | robcast |
---|---|
date | Thu, 16 Dec 2010 21:19:11 +0100 |
parents | servlet/src/digilib/servlet/DigilibInfoReader.java@9cedd170b581 |
children |
comparison
equal
deleted
inserted
replaced
556:5cc180bb0a5c | 557:0885f5ca5b24 |
---|---|
1 package digilib.io; | |
2 | |
3 /** DigilibInfoReader | |
4 * A class for reading the information from info.xml files used in digilib image directories. | |
5 * | |
6 */ | |
7 | |
8 import java.io.File; | |
9 import java.util.List; | |
10 | |
11 import org.apache.log4j.Logger; | |
12 import org.jdom.Document; | |
13 import org.jdom.Element; | |
14 import org.jdom.input.SAXBuilder; | |
15 | |
16 | |
17 | |
18 public class DigilibInfoReader { | |
19 | |
20 /** gengeral logger for this class */ | |
21 protected static Logger logger = Logger.getLogger("digilib.servlet"); | |
22 | |
23 private String filename = null; | |
24 //private static String base_element = "info"; | |
25 | |
26 public DigilibInfoReader(String fn){ | |
27 filename = fn; | |
28 } | |
29 | |
30 /** | |
31 * Returns the attribute defined by 'attr' as a String. | |
32 * | |
33 * @param attr | |
34 * @return | |
35 */ | |
36 @SuppressWarnings("unchecked") // Element.getChildren() returns naked List | |
37 public String getAsString(String attr){ | |
38 try{ | |
39 SAXBuilder builder = new SAXBuilder(); | |
40 Document doc = builder.build(new File(filename)); | |
41 Element root = doc.getRootElement(); | |
42 List<Element> mainElements = root.getChildren(); | |
43 // logger.debug("XML mainElements:"+mainElements.toString()); | |
44 | |
45 for(int i=0; i<mainElements.size(); i++){ | |
46 Element elem = mainElements.get(i); | |
47 if(elem.getName()==attr){ | |
48 // logger.debug(attr+" == "+(String)elem.getTextTrim()); | |
49 return (String)elem.getTextTrim(); | |
50 } | |
51 } | |
52 | |
53 } | |
54 catch(Exception e){ | |
55 logger.error(e.getMessage()); | |
56 } | |
57 return null; | |
58 } | |
59 | |
60 | |
61 /** | |
62 * Find out if the info.xml exists | |
63 * @return | |
64 */ | |
65 public boolean hasInfo(){ | |
66 try { | |
67 SAXBuilder builder = new SAXBuilder(); | |
68 builder.build(new File(filename)); | |
69 return true; | |
70 } | |
71 catch(Exception e){ | |
72 return false; | |
73 } | |
74 } | |
75 | |
76 } |