/* * Input.java * * Created on den 31 augusti 2001, 11:18 */ package ip1.u5.d; import java.io.*; import org.jdom.input.*; import org.jdom.*; /** * * @author h&m * @version */ public class Input implements Runnable { private BufferedReader input; private Client parent; /** Creates new Input */ public Input(Client parent, InputStream is) { this.parent = parent; input = new BufferedReader(new InputStreamReader(is)); Thread t = new Thread(this); t.setDaemon(true); //avslutar sig automatiskt när applikationen avslutas t.start(); } public void run() { SAXBuilder builder = new SAXBuilder(true); while(true) { try { /* Väntar här till input.readLine() ger resultat, om valid plockas önskad * info ut och skickas till föräldern, annars kastas ett JDOMException och * väntan fortsätter */ Document doc = builder.build(new StringReader(input.readLine())); String n = doc.getRootElement().getChild("header").getChild("id").getChild("name").getText(); String b = doc.getRootElement().getChild("body").getText(); parent.appendMessage(n + ": " + b); } catch(IOException e) { System.out.println(e.getMessage()); System.exit(5); } catch(JDOMException e) { System.out.println(e.getMessage()); } } } }