Testy komentářů, XML.
1 package cz.frantovo.nekurak.ext;
3 import cz.frantovo.nekurak.vyjimky.TexyVyjimka;
4 import java.io.BufferedReader;
5 import java.io.IOException;
6 import java.io.InputStreamReader;
7 import java.io.OutputStreamWriter;
9 import java.net.URLConnection;
10 import java.net.URLEncoder;
11 import java.util.logging.Level;
12 import java.util.logging.Logger;
15 * Neprovádí vlastní interpretaci Texy syntaxe, ale volá HTTP službu napsanou v PHP.
16 * TODO: použít webové služby, nebo něco lepšího než ruční práci s URL.
21 /** TODO: parametrizovatelnost */
22 private static final String URL_SLUZBY = "http://nekurak.net/texy/http/";
23 private static final Logger log = Logger.getLogger(Texy.class.getSimpleName());
25 public String preved(String text) throws TexyVyjimka {
26 OutputStreamWriter wr = null;
27 BufferedReader rd = null;
29 URL url = new URL(URL_SLUZBY);
30 URLConnection spojeni = url.openConnection();
31 spojeni.setDoOutput(true);
34 wr = new OutputStreamWriter(spojeni.getOutputStream());
35 wr.write(URLEncoder.encode(text, "UTF-8"));
38 /** Přijmeme odpověď */
39 rd = new BufferedReader(new InputStreamReader(spojeni.getInputStream()));
40 StringBuffer vysledek = new StringBuffer();
42 while ((radka = rd.readLine()) != null) {
43 vysledek.append(radka);
46 return vysledek.toString();
47 } catch (Exception e) {
48 throw new TexyVyjimka("Chyba při zpracovávání textu: " + text, e);
52 } catch (IOException e) {
53 log.log(Level.WARNING, "Selhalo zavírání OutputStreamWriteru", e);
57 } catch (IOException e) {
58 log.log(Level.WARNING, "Selhalo zavírání BufferedReaderu", e);