Mercurial > hg > fulltextSearch
annotate src/de/mpiwg/dwinter/fulltext/ticket/TicketWriter.java @ 0:72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
https://it-dev.mpiwg-berlin.mpg.de/tracs/pythonOcropusTools/ticket/16
author | dwinter |
---|---|
date | Wed, 03 Nov 2010 12:26:20 +0100 |
parents | |
children | 2b29b0b6db16 |
rev | line source |
---|---|
0
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
1 package de.mpiwg.dwinter.fulltext.ticket; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
2 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
3 import java.io.BufferedInputStream; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
4 import java.io.ByteArrayInputStream; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
5 import java.io.File; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
6 import java.io.FileInputStream; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
7 import java.io.FileNotFoundException; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
8 import java.io.FileOutputStream; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
9 import java.io.FileReader; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
10 import java.io.FileWriter; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
11 import java.io.IOException; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
12 import java.io.InputStream; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
13 import java.io.OutputStreamWriter; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
14 import java.nio.CharBuffer; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
15 import java.text.DateFormat; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
16 import java.text.SimpleDateFormat; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
17 import java.util.ArrayList; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
18 import java.util.Date; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
19 import java.util.HashMap; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
20 import java.util.List; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
21 import java.util.Map; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
22 import java.util.Random; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
23 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
24 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
25 import org.apache.commons.io.FileUtils; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
26 import org.apache.log4j.Level; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
27 import org.apache.log4j.Logger; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
28 import org.apache.lucene.index.IndexReader; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
29 import org.apache.lucene.search.Query; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
30 import org.apache.lucene.search.TopDocs; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
31 import org.apache.lucene.search.TopScoreDocCollector; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
32 import org.jdom.Document; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
33 import org.jdom.Element; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
34 import org.jdom.JDOMException; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
35 import org.jdom.input.SAXBuilder; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
36 import org.jdom.output.XMLOutputter; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
37 import org.jdom.xpath.XPath; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
38 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
39 import com.sun.org.apache.xpath.internal.operations.Bool; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
40 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
41 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
42 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
43 import de.mpiwg.dwinter.fulltext.search.utils.OCRDoc; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
44 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
45 /** |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
46 * @author dwinter |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
47 * |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
48 * Schreibt die Ergebnisse einer Suche in ein Ticket |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
49 */ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
50 public class TicketWriter { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
51 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
52 protected static Logger logger = Logger.getRootLogger(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
53 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
54 private static final String TICKET_PATH = "/tmp/ticketfolder"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
55 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
56 protected static final String PATHSEPARATOR = "/"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
57 protected static final char PATHSEPARATORCHAR = '/'; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
58 protected File ticketFile; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
59 private Map<String,LanguageWriter> languageFolders = new HashMap<String,LanguageWriter>(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
60 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
61 private String ticket; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
62 private Boolean ticketOpen = false; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
63 private HashMap<String,Boolean> ticketOpenLangs = new HashMap<String,Boolean>(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
64 private File lastChangeFile; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
65 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
66 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
67 /** Erzeuge TicketWriter fuer ein Ticker |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
68 * @param ticket |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
69 * @throws IOException |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
70 */ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
71 public TicketWriter(String ticket) throws IOException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
72 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
73 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
74 this.ticket = ticket; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
75 ticketOpen = true; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
76 ticketFile = new File(TICKET_PATH+PATHSEPARATOR+ticket); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
77 if(!ticketFile.exists()){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
78 logger.debug("Create Ticketfolder:"+ticketFile.getCanonicalPath()); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
79 if(!ticketFile.mkdirs()) |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
80 throw new IOException(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
81 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
82 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
83 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
84 lastChangeFile = new File(ticketFile.getAbsoluteFile()+PATHSEPARATOR+"lastChange"); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
85 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
86 commitTicket(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
87 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
88 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
89 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
90 public TicketWriter(String ticket, Query query) throws IOException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
91 this(ticket); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
92 saveQuery(query); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
93 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
94 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
95 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
96 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
97 public TicketWriter(String ticket, Query query,ArrayList<String> languages) throws IOException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
98 this(ticket); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
99 saveQuery(query); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
100 for (String lang: languages){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
101 ticketOpenLangs.put(lang, true); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
102 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
103 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
104 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
105 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
106 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
107 public TicketWriter(String ticket, Query query, String language) throws IOException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
108 this(ticket); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
109 saveQuery(query); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
110 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
111 LanguageWriter lw = new LanguageWriter(ticket, language); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
112 lw.saveQuery(query); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
113 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
114 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
115 public void saveQuery(Query query) throws IOException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
116 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
117 File qf = new File(ticketFile+PATHSEPARATOR+"query"); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
118 FileWriter fw = new FileWriter(qf); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
119 fw.write(query.toString()); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
120 fw.close(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
121 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
122 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
123 /** Sichert die Suchergebnisse fŸr ein Ticket und eine Sprache. |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
124 * @param language |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
125 * @param docs |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
126 * @param reader |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
127 * @throws IOException |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
128 */ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
129 public void writeResultsForLanguageSearch(String language, TopDocs docs, IndexReader reader) throws IOException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
130 LanguageWriter lw = new LanguageWriter(ticket, language); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
131 Integer counter= lw.writeResults(docs, reader); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
132 lw.writeResultInfo(docs,counter); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
133 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
134 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
135 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
136 /** Gibt bekannt, dass sich ein Ticket geaendert hat. |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
137 * @param ticket |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
138 * @throws IOException |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
139 */ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
140 public void commitTicket() throws IOException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
141 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
142 FileWriter lastChangeFw = new FileWriter(lastChangeFile); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
143 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
144 Date currentDate = new java.util.Date(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
145 DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
146 lastChangeFw.write(dateFormat.format(currentDate)); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
147 lastChangeFw.close(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
148 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
149 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
150 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
151 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
152 /**Schreibe ein Ergebnis in das Ticket |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
153 * @param language |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
154 * @param ocrDoc |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
155 * @throws IOException |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
156 */ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
157 public void writeDoc(String language, OCRDoc ocrDoc) throws IOException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
158 LanguageWriter lw = new LanguageWriter(ticket, language); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
159 lw.writeDoc(ocrDoc); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
160 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
161 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
162 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
163 /** |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
164 * Ticket closed |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
165 * @throws IOException |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
166 */ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
167 public void closeTicket() throws IOException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
168 ticketOpen=false; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
169 FileWriter lastChangeFw = new FileWriter(lastChangeFile); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
170 lastChangeFw.write("closed"); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
171 lastChangeFw.close(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
172 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
173 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
174 }// TODO Auto-generated method stub |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
175 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
176 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
177 /** |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
178 * @param language |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
179 * close a ticket for a language |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
180 * @throws IOException |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
181 */ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
182 public void closeTicket(String language) throws IOException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
183 String filename = lastChangeFile.getAbsolutePath()+"_"+language; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
184 FileWriter lastChangeFw = new FileWriter(new File(filename)); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
185 lastChangeFw.write("closed"); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
186 lastChangeFw.close(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
187 ticketOpenLangs.put(language, false); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
188 // gehe durch alle sprache und schliesse das gesamte ticket falls alle tickets fuer die sprachen geschlossen sind |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
189 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
190 Boolean close = true; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
191 for (String lang: ticketOpenLangs.keySet()){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
192 if (ticketOpenLangs.get(lang)) |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
193 close = false; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
194 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
195 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
196 if (close){ // kein ticket mehr offen dann |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
197 closeTicket(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
198 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
199 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
200 }// TODO Auto-generated method stub |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
201 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
202 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
203 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
204 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
205 static public String getNewTicket(){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
206 Random rd = new Random(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
207 String tnr = String.valueOf(rd.nextInt()); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
208 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
209 File ticketFile = new File(TICKET_PATH+PATHSEPARATOR+tnr); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
210 while (ticketFile.exists()){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
211 tnr = String.valueOf(Math.abs(rd.nextInt())); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
212 ticketFile = new File(TICKET_PATH+PATHSEPARATOR+tnr); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
213 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
214 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
215 return tnr; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
216 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
217 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
218 public static String getXML(String ticket) throws FileNotFoundException, IOException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
219 String ret="<ticket><number>"+ticket+"</number>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
220 File ticketFile = new File(TICKET_PATH+PATHSEPARATOR+ticket); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
221 if (!ticketFile.exists()){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
222 return null; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
223 }else{ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
224 File lastChangeFile = new File(ticketFile.getAbsoluteFile()+PATHSEPARATOR+"lastChange"); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
225 if (!lastChangeFile.exists()){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
226 return null; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
227 }else{ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
228 ret += "<lastChanged>"+readFileToString(lastChangeFile)+"</lastChanged>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
229 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
230 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
231 File queryFile = new File(ticketFile.getAbsoluteFile()+PATHSEPARATOR+"query"); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
232 if (!queryFile.exists()){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
233 return null; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
234 }else{ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
235 ret += "<query>"+readFileToString(queryFile)+"</query>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
236 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
237 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
238 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
239 //gehe jetzt durch das directory alle directory dort sind sprachen abhaengige resultsets |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
240 for (File file: ticketFile.listFiles()){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
241 if(file.isDirectory()){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
242 ret+="<lang>"+file.getName()+"</lang>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
243 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
244 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
245 ret +="</ticket>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
246 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
247 return ret; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
248 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
249 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
250 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
251 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
252 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
253 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
254 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
255 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
256 /** |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
257 * Hole das Ergebnis des Tickets in der entsprechenden Sprachen |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
258 * |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
259 * @param ticket |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
260 * @param lang |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
261 * @return |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
262 * @throws FileNotFoundException |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
263 * @throws IOException |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
264 */ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
265 public static String getResultXML(String ticket, String lang) throws FileNotFoundException, IOException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
266 String ret="<resultSet lang=\""+lang+"\" queryString=\""+getQueryString(lang,ticket)+"\"><number>"+ticket+"</number>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
267 File ticketFile = new File(TICKET_PATH+PATHSEPARATOR+ticket); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
268 if (!ticketFile.exists()){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
269 return null; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
270 }else{ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
271 File resultFile = new File(ticketFile.getAbsoluteFile()+PATHSEPARATOR+lang+PATHSEPARATOR+"result"); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
272 if (!resultFile.exists()){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
273 return null; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
274 }else{ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
275 ret += "<results>"+readFileToString(resultFile)+"</results>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
276 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
277 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
278 ret +="</resultSet>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
279 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
280 return ret; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
281 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
282 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
283 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
284 /** |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
285 * Hole die Ergebnisse der entsprechende Sprache aus dem Ticket, |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
286 * eingeschrŠnkt auf durch from to angegebenen Datensaetze. |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
287 * Achtung: der erste Datensatz hat die Nummer 0. |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
288 * @param ticket |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
289 * @param lang |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
290 * @param from |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
291 * @param to |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
292 * @return |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
293 * @throws IOException |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
294 * @throws FileNotFoundException |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
295 * @throws JDOMException |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
296 */ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
297 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
298 public static String getResultXML(String ticket, String lang, |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
299 Integer from, Integer to) throws FileNotFoundException, IOException, JDOMException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
300 String ret = getResultXML(ticket, lang); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
301 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
302 String retresult="<resultSet lang=\""+lang+"\" queryString=\""+getQueryString(lang,ticket)+"\"><number>"+ticket+"</number><results>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
303 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
304 SAXBuilder builder = new SAXBuilder(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
305 InputStream stream = new ByteArrayInputStream(ret.getBytes("utf-8")); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
306 Document doc = builder.build(stream); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
307 XPath xpath = XPath.newInstance("//result"); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
308 List<Element> resultsElements = xpath.selectNodes(doc); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
309 if (resultsElements.size()>(from-1)) {// zaehlweise, der erste Datensatz hat die Nummer 0 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
310 to = Math.min(to, resultsElements.size()-1); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
311 for(int i =from;i<=to;i++){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
312 Element el = resultsElements.get(i); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
313 String str = (new XMLOutputter()).outputString(el); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
314 retresult+=str; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
315 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
316 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
317 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
318 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
319 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
320 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
321 return retresult+ "</results></resultSet>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
322 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
323 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
324 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
325 public static String getResultInfoXML(String ticket, String lang) throws IOException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
326 String ret=""; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
327 File ticketFile = new File(TICKET_PATH+PATHSEPARATOR+ticket); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
328 if (!ticketFile.exists()){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
329 return null; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
330 }else{ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
331 File resultFile = new File(ticketFile.getAbsoluteFile()+PATHSEPARATOR+lang+PATHSEPARATOR+"resultInfo"); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
332 if (!resultFile.exists()){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
333 return null; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
334 }else{ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
335 ret += readFileToString(resultFile); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
336 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
337 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
338 return ret; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
339 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
340 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
341 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
342 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
343 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
344 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
345 private static String getQueryString(String ticket) throws FileNotFoundException, IOException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
346 String ticketString = TICKET_PATH+PATHSEPARATOR+ticket; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
347 File qf = new File(ticketString+PATHSEPARATOR+"query"); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
348 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
349 return readFileToString(qf); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
350 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
351 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
352 private static String getQueryString(String lang,String ticket) throws FileNotFoundException, IOException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
353 String ticketString = TICKET_PATH+PATHSEPARATOR+ticket+PATHSEPARATOR+lang; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
354 File qf = new File(ticketString+PATHSEPARATOR+"query"); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
355 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
356 return readFileToString(qf); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
357 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
358 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
359 public static String getPagesWithHits(String ticket, String lang, |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
360 String textId) { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
361 String ret="<xml xmlns:xlink=\"http://www.w3.org/1999/xlink\">"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
362 File textIdFile = new File(TICKET_PATH+PATHSEPARATOR+ticket+PATHSEPARATOR+lang+PATHSEPARATOR+textId); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
363 if (!textIdFile.exists()){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
364 return null; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
365 }else{ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
366 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
367 //String url = String.format(DIGIVIEWBASICSTRING, generateImagePath(textId,pageFileName),generateMarksFromPoints(points)); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
368 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
369 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
370 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
371 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
372 int pages = textIdFile.listFiles().length; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
373 ret+="<numberOfPages>"+String.valueOf(pages)+"</numberOfPages><pages>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
374 for (File file: textIdFile.listFiles()){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
375 ret+="<page xlink:href=\"tickets/"+ ticket+"/"+lang+"/"+textId +"/" +file.getName()+"\">"+file.getName()+"</page>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
376 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
377 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
378 ret +="</pages></xml>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
379 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
380 return ret; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
381 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
382 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
383 public static String getHitsOnPage(String ticket, String lang, |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
384 String textId, String restPath) throws FileNotFoundException, IOException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
385 String ret="<xml>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
386 File pageFile = new File(TICKET_PATH+PATHSEPARATOR+ticket+PATHSEPARATOR+lang+PATHSEPARATOR+textId+PATHSEPARATOR+restPath); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
387 if (!pageFile.exists()){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
388 return null; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
389 }else{ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
390 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
391 String fl = readFileToString(pageFile); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
392 String[] splitted = fl.split("\n"); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
393 for (String lin:splitted){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
394 ret+="<line>"+lin+"</line>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
395 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
396 ret +="</xml>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
397 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
398 return ret; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
399 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
400 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
401 private static String readFileToString(File lastChangeFile) |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
402 throws FileNotFoundException, IOException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
403 byte[] buffer = new byte[(int) lastChangeFile.length()]; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
404 BufferedInputStream f = new BufferedInputStream(new FileInputStream(lastChangeFile)); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
405 f.read(buffer); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
406 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
407 return new String(buffer,"utf-8"); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
408 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
409 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
410 public static boolean isClosed(String ticket) { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
411 File ticketFile = new File(TICKET_PATH+PATHSEPARATOR+ticket); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
412 if (!ticketFile.exists()){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
413 return false; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
414 }else{ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
415 File lastChangeFile = new File(ticketFile.getAbsoluteFile()+PATHSEPARATOR+"lastChange"); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
416 if (!lastChangeFile.exists()){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
417 return false; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
418 }else{ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
419 try { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
420 if (readFileToString(lastChangeFile).equals("closed")) |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
421 return true; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
422 } catch (FileNotFoundException e) { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
423 return false; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
424 } catch (IOException e) { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
425 return false; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
426 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
427 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
428 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
429 return false; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
430 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
431 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
432 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
433 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
434 public static boolean exists(String ticket) { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
435 File ticketFile = new File(TICKET_PATH+PATHSEPARATOR+ticket); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
436 return ticketFile.exists(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
437 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
438 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
439 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
440 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
441 public static String getAllTickets() { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
442 File ticketFolder = new File(TICKET_PATH); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
443 String[] tickets = ticketFolder.list(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
444 String ret="<xml><tickets>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
445 for (String ticket: tickets){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
446 ret+="<ticket><id>"+ticket+"</id></ticket>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
447 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
448 ret +="</tickets></xml>"; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
449 return ret; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
450 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
451 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
452 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
453 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
454 public static void main(String[] args){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
455 if (args.length==0){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
456 System.out.println("Usage: TicketWriter -clean minutes, loescht alle tickets, die aelter als minutes sind."); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
457 System.exit(1); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
458 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
459 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
460 if (args[0].equals("-clean")){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
461 if (args.length<2){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
462 System.out.println("Usage: TicketWriter -clean minutes, loescht alle tickets, die aelter als minutes sind."); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
463 System.exit(1); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
464 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
465 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
466 try { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
467 cleanTickets(args[1]); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
468 } catch (IOException e) { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
469 // TODO Auto-generated catch block |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
470 e.printStackTrace(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
471 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
472 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
473 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
474 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
475 private static void cleanTickets(String minutes) throws IOException { |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
476 File ticketFolder = new File(TICKET_PATH); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
477 File[] tickets = ticketFolder.listFiles(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
478 for (File ticket:tickets){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
479 File lmFile = new File(ticket.getAbsolutePath()+PATHSEPARATOR+"lastChange"); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
480 long time = lmFile.lastModified(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
481 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
482 long currentime = System.currentTimeMillis(); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
483 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
484 long diff = currentime-time; |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
485 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
486 if (diff > Long.valueOf(minutes)*60*1000){ |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
487 FileUtils.deleteDirectory(ticket); |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
488 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
489 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
490 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
491 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
492 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
493 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
494 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
495 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
496 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
497 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
498 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
499 } |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
500 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
501 |
72a015318a6d
CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an.
dwinter
parents:
diff
changeset
|
502 |