comparison src/de/mpiwg/dwinter/fulltextSearchServer/SearchTicket.java @ 1:83e9a828e794

Version mit integrierter Suche ?ber XML-Volltexte
author dwinter
date Wed, 26 Jan 2011 14:41:34 +0100
parents db87c1b7eb6d
children
comparison
equal deleted inserted replaced
0:db87c1b7eb6d 1:83e9a828e794
1 package de.mpiwg.dwinter.fulltextSearchServer; 1 package de.mpiwg.dwinter.fulltextSearchServer;
2 2
3 import java.io.File; 3 import java.io.File;
4 import java.io.IOException; 4 import java.io.IOException;
5 import java.io.UnsupportedEncodingException; 5 import java.io.UnsupportedEncodingException;
6 import java.net.URLDecoder;
7 import java.util.List;
6 import java.util.Properties; 8 import java.util.Properties;
7 import java.util.concurrent.ConcurrentMap; 9 import java.util.concurrent.ConcurrentMap;
8 10
9 import org.apache.log4j.Logger; 11 import org.apache.log4j.Logger;
10 import org.apache.lucene.index.CorruptIndexException; 12 import org.apache.lucene.index.CorruptIndexException;
13 import org.apache.lucene.search.Query;
11 import org.apache.lucene.store.LockObtainFailedException; 14 import org.apache.lucene.store.LockObtainFailedException;
12 import org.restlet.Context; 15 import org.restlet.Context;
13 import org.restlet.data.Form; 16 import org.restlet.data.Form;
14 import org.restlet.data.MediaType; 17 import org.restlet.data.MediaType;
15 import org.restlet.data.Status; 18 import org.restlet.data.Status;
25 28
26 import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.MimeUtility; 29 import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.MimeUtility;
27 30
28 31
29 import de.mpiwg.dwinter.fulltext.search.FulltextSearchDocsLines; 32 import de.mpiwg.dwinter.fulltext.search.FulltextSearchDocsLines;
33 import de.mpiwg.dwinter.fulltext.search.IFulltextSearchDocsLines;
34 import de.mpiwg.dwinter.fulltext.search.utils.OCRDoc;
35 import de.mpiwg.dwinter.fulltext.search.xmlsearchadapter.XMLSearchServerAdapter;
30 import de.mpiwg.dwinter.fulltext.ticket.TicketWriter; 36 import de.mpiwg.dwinter.fulltext.ticket.TicketWriter;
31 import de.mpiwg.dwinter.fulltextSearchServer.Utils.ConfigurationManager; 37 import de.mpiwg.dwinter.fulltextSearchServer.Utils.ConfigurationManager;
32 import de.mpiwg.dwinter.fulltextSearchServer.searchThreads.SearchInlinesThread; 38 import de.mpiwg.dwinter.fulltextSearchServer.searchThreads.SearchInlinesThread;
33 39
34 40
101 //now do the search 107 //now do the search
102 Form searchForm = new Form(search); 108 Form searchForm = new Form(search);
103 109
104 //String ticket = generateTicket(); 110 //String ticket = generateTicket();
105 String searchString=searchForm.getValues("searchString"); 111 String searchString=searchForm.getValues("searchString");
106 String languages=searchForm.getValues("languages"); // language der form la1_la2_la3___ 112 String languages;
113 try {
114 languages = URLDecoder.decode(searchForm.getValues("languages"),"utf-8");
115 } catch (UnsupportedEncodingException e1) {
116 // TODO Auto-generated catch block
117 e1.printStackTrace();
118 languages="";
119 } // language der form la1_la2_la3___
107 String searchMetaData=searchForm.getValues("searchMetaData"); 120 String searchMetaData=searchForm.getValues("searchMetaData");
108 //no Searchstring 121 //no Searchstring
109 if (searchString==null || languages==null ) 122 if (searchString==null || languages==null )
110 return null; 123 return null;
111 124
144 } else { 157 } else {
145 fulltextSearcher = (FulltextSearchDocsLines) attrs.get("searcher"); 158 fulltextSearcher = (FulltextSearchDocsLines) attrs.get("searcher");
146 } 159 }
147 160
148 161
162 IFulltextSearchDocsLines[] fulltextSearchers = new IFulltextSearchDocsLines[]{fulltextSearcher, new XMLSearchServerAdapter()};
163
164
149 165
150 String[] langs = languages.split("_"); 166 String[] langs = languages.split("_");
151 167
152 for (String lang: langs){ 168 for (String lang: langs){
153 SearchInlinesThread st = new SearchInlinesThread(fulltextSearcher, searchString, searchMetaData,lang,ticket); 169 SearchInlinesThread st = new SearchInlinesThread(fulltextSearchers, searchString, searchMetaData,lang,ticket);
154 st.start(); 170 st.start();
155 } 171 }
156 172
157 String htmlTicket = wrapHTML(ticket); 173 String htmlTicket = wrapHTML(ticket);
158 Representation representation = new StringRepresentation(htmlTicket,MediaType.TEXT_HTML); 174 Representation representation = new StringRepresentation(htmlTicket,MediaType.TEXT_HTML);