java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ext/Texy.java
changeset 119 d91f600c4645
child 123 9135d52e8b0a
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ext/Texy.java	Mon May 24 19:00:43 2010 +0200
     1.3 @@ -0,0 +1,49 @@
     1.4 +package cz.frantovo.nekurak.ext;
     1.5 +
     1.6 +import java.io.BufferedReader;
     1.7 +import java.io.InputStreamReader;
     1.8 +import java.io.OutputStreamWriter;
     1.9 +import java.net.URL;
    1.10 +import java.net.URLConnection;
    1.11 +import java.net.URLEncoder;
    1.12 +
    1.13 +/**
    1.14 + * Neprovádí vlastní interpretaci Texy syntaxe, ale volá HTTP službu napsanou v PHP.
    1.15 + * @author fiki
    1.16 + */
    1.17 +public class Texy {
    1.18 +
    1.19 +    /** TODO: parametrizovatelnost/localhost ? */
    1.20 +    private static final String URL_SLUZBY = "http://nekurak.net/texy/http/";
    1.21 +
    1.22 +    public String preved(String text) {
    1.23 +	try {
    1.24 +	    URL url = new URL(URL_SLUZBY);
    1.25 +	    URLConnection spojeni = url.openConnection();
    1.26 +	    spojeni.setDoOutput(true);
    1.27 +
    1.28 +	    /** Odešleme data */
    1.29 +	    OutputStreamWriter wr = new OutputStreamWriter(spojeni.getOutputStream());
    1.30 +	    wr.write(URLEncoder.encode(text, "UTF-8"));
    1.31 +	    wr.flush();
    1.32 +
    1.33 +	    /** Přijmeme odpověď */
    1.34 +	    BufferedReader rd = new BufferedReader(new InputStreamReader(spojeni.getInputStream()));
    1.35 +	    StringBuffer vysledek = new StringBuffer();
    1.36 +	    String radka;
    1.37 +	    while ((radka = rd.readLine()) != null) {
    1.38 +		vysledek.append(radka);
    1.39 +	    }
    1.40 +
    1.41 +	    // TODO: → finally
    1.42 +	    wr.close();
    1.43 +	    rd.close();
    1.44 +
    1.45 +	    return vysledek.toString();
    1.46 +	} catch (Exception e) {
    1.47 +	    return "TODO:chyba";
    1.48 +	} finally {
    1.49 +	    // TODO
    1.50 +	}
    1.51 +    }
    1.52 +}