annotate src/de/mpiwg/dwinter/duomo/lexdump/LexDumpImporter.java @ 5:923e73fa07f1

Minor changes, Suche nach Objekten nach readableId jetzt einschraenkbar, nicht auf subclassen ausweiten.
author dwinter
date Mon, 07 Feb 2011 16:51:38 +0100
parents fb3f3df002df
children 919e9f3b5efd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
fb3f3df002df first release
dwinter
parents:
diff changeset
1 package de.mpiwg.dwinter.duomo.lexdump;
fb3f3df002df first release
dwinter
parents:
diff changeset
2
fb3f3df002df first release
dwinter
parents:
diff changeset
3 import java.io.File;
fb3f3df002df first release
dwinter
parents:
diff changeset
4 import java.io.IOException;
fb3f3df002df first release
dwinter
parents:
diff changeset
5 import java.util.List;
fb3f3df002df first release
dwinter
parents:
diff changeset
6
fb3f3df002df first release
dwinter
parents:
diff changeset
7 import org.jdom.Attribute;
fb3f3df002df first release
dwinter
parents:
diff changeset
8 import org.jdom.Document;
fb3f3df002df first release
dwinter
parents:
diff changeset
9 import org.jdom.Element;
fb3f3df002df first release
dwinter
parents:
diff changeset
10 import org.jdom.JDOMException;
fb3f3df002df first release
dwinter
parents:
diff changeset
11 import org.jdom.input.SAXBuilder;
fb3f3df002df first release
dwinter
parents:
diff changeset
12 import org.jdom.xpath.XPath;
fb3f3df002df first release
dwinter
parents:
diff changeset
13
fb3f3df002df first release
dwinter
parents:
diff changeset
14
fb3f3df002df first release
dwinter
parents:
diff changeset
15 public class LexDumpImporter {
fb3f3df002df first release
dwinter
parents:
diff changeset
16
fb3f3df002df first release
dwinter
parents:
diff changeset
17 private Document doc;
fb3f3df002df first release
dwinter
parents:
diff changeset
18
fb3f3df002df first release
dwinter
parents:
diff changeset
19 public LexDumpImporter(String path) throws JDOMException, IOException{
fb3f3df002df first release
dwinter
parents:
diff changeset
20
fb3f3df002df first release
dwinter
parents:
diff changeset
21 SAXBuilder builder = new SAXBuilder();
fb3f3df002df first release
dwinter
parents:
diff changeset
22
fb3f3df002df first release
dwinter
parents:
diff changeset
23 doc = builder.build(new File(path));
fb3f3df002df first release
dwinter
parents:
diff changeset
24
fb3f3df002df first release
dwinter
parents:
diff changeset
25 }
fb3f3df002df first release
dwinter
parents:
diff changeset
26
fb3f3df002df first release
dwinter
parents:
diff changeset
27 @SuppressWarnings("unchecked")
fb3f3df002df first release
dwinter
parents:
diff changeset
28 public List<Element> getCartas() throws JDOMException{
fb3f3df002df first release
dwinter
parents:
diff changeset
29 return (List<Element>)XPath.selectNodes(doc, "//carta");
fb3f3df002df first release
dwinter
parents:
diff changeset
30 }
fb3f3df002df first release
dwinter
parents:
diff changeset
31
fb3f3df002df first release
dwinter
parents:
diff changeset
32 public List<Element> getSignatures() throws JDOMException {
fb3f3df002df first release
dwinter
parents:
diff changeset
33 return (List<Element>)XPath.selectNodes(doc, "//segna");
fb3f3df002df first release
dwinter
parents:
diff changeset
34 }
fb3f3df002df first release
dwinter
parents:
diff changeset
35
fb3f3df002df first release
dwinter
parents:
diff changeset
36 public String getValue(Object context, String path) throws JDOMException {
fb3f3df002df first release
dwinter
parents:
diff changeset
37
fb3f3df002df first release
dwinter
parents:
diff changeset
38 Object node = XPath.selectSingleNode(context, path);
fb3f3df002df first release
dwinter
parents:
diff changeset
39
fb3f3df002df first release
dwinter
parents:
diff changeset
40 if (node==null){
fb3f3df002df first release
dwinter
parents:
diff changeset
41 return "";
fb3f3df002df first release
dwinter
parents:
diff changeset
42 } else if (Element.class.isInstance(node)){
fb3f3df002df first release
dwinter
parents:
diff changeset
43 return ((Element)node).getTextTrim();
fb3f3df002df first release
dwinter
parents:
diff changeset
44 } else if (Attribute.class.isInstance(node)){
fb3f3df002df first release
dwinter
parents:
diff changeset
45 return ((Attribute)node).getValue();
fb3f3df002df first release
dwinter
parents:
diff changeset
46 }
fb3f3df002df first release
dwinter
parents:
diff changeset
47
fb3f3df002df first release
dwinter
parents:
diff changeset
48 return "";
fb3f3df002df first release
dwinter
parents:
diff changeset
49 }
fb3f3df002df first release
dwinter
parents:
diff changeset
50 }