java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ext/Texy.java
author František Kučera <franta-hg@frantovo.cz>
Mon May 24 19:00:43 2010 +0200 (2010-05-24)
changeset 119 d91f600c4645
child 123 9135d52e8b0a
permissions -rw-r--r--
Adaptér pro Texy (volání vzdálené služby) + základní testy.
     1 package cz.frantovo.nekurak.ext;
     2 
     3 import java.io.BufferedReader;
     4 import java.io.InputStreamReader;
     5 import java.io.OutputStreamWriter;
     6 import java.net.URL;
     7 import java.net.URLConnection;
     8 import java.net.URLEncoder;
     9 
    10 /**
    11  * Neprovádí vlastní interpretaci Texy syntaxe, ale volá HTTP službu napsanou v PHP.
    12  * @author fiki
    13  */
    14 public class Texy {
    15 
    16     /** TODO: parametrizovatelnost/localhost ? */
    17     private static final String URL_SLUZBY = "http://nekurak.net/texy/http/";
    18 
    19     public String preved(String text) {
    20 	try {
    21 	    URL url = new URL(URL_SLUZBY);
    22 	    URLConnection spojeni = url.openConnection();
    23 	    spojeni.setDoOutput(true);
    24 
    25 	    /** Odešleme data */
    26 	    OutputStreamWriter wr = new OutputStreamWriter(spojeni.getOutputStream());
    27 	    wr.write(URLEncoder.encode(text, "UTF-8"));
    28 	    wr.flush();
    29 
    30 	    /** Přijmeme odpověď */
    31 	    BufferedReader rd = new BufferedReader(new InputStreamReader(spojeni.getInputStream()));
    32 	    StringBuffer vysledek = new StringBuffer();
    33 	    String radka;
    34 	    while ((radka = rd.readLine()) != null) {
    35 		vysledek.append(radka);
    36 	    }
    37 
    38 	    // TODO: → finally
    39 	    wr.close();
    40 	    rd.close();
    41 
    42 	    return vysledek.toString();
    43 	} catch (Exception e) {
    44 	    return "TODO:chyba";
    45 	} finally {
    46 	    // TODO
    47 	}
    48     }
    49 }