java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/chat/Spojeni.java
changeset 149 8238cdb4113a
child 151 d7b5099bf65e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/chat/Spojeni.java	Wed Jun 30 00:26:14 2010 +0200
     1.3 @@ -0,0 +1,56 @@
     1.4 +package cz.frantovo.nekurak.chat;
     1.5 +
     1.6 +import java.util.ArrayList;
     1.7 +import java.util.Collection;
     1.8 +import java.util.logging.Level;
     1.9 +import java.util.logging.Logger;
    1.10 +import org.jivesoftware.smack.ConnectionConfiguration;
    1.11 +import org.jivesoftware.smack.XMPPConnection;
    1.12 +import org.jivesoftware.smack.XMPPException;
    1.13 +
    1.14 +/**
    1.15 + *
    1.16 + * @author fiki
    1.17 + */
    1.18 +public class Spojeni {
    1.19 +
    1.20 +	private XMPPConnection spojeni;
    1.21 +	private Collection<MistnostPripojena> mistnosti = new ArrayList<MistnostPripojena>();
    1.22 +	private static final Logger log = Logger.getLogger(Spojeni.class.getSimpleName());
    1.23 +
    1.24 +	public Spojeni(UcetRobota ucet) throws XMPPException {
    1.25 +		/** Navážeme spojení */
    1.26 +		ConnectionConfiguration nastaveni = new ConnectionConfiguration(ucet.getAdresaServeru(), ucet.getPort(), ucet.getDomena());
    1.27 +		spojeni = new XMPPConnection(nastaveni);
    1.28 +		spojeni.connect();
    1.29 +		spojeni.login(ucet.getUzivatelskeJmeno(), ucet.getUzivatelskeHeslo(), ucet.getProstredek());
    1.30 +
    1.31 +		/** Vstoupíme do místností */
    1.32 +		for (Mistnost m : ucet.getMistnosti()) {
    1.33 +			MistnostPripojena mp = new MistnostPripojena(m, this);
    1.34 +			mistnosti.add(mp);
    1.35 +		}
    1.36 +	}
    1.37 +
    1.38 +	public void odpoj() {
    1.39 +		/** Rozloučíme se ve všech místnostech */
    1.40 +		try {
    1.41 +			for (MistnostPripojena mp : mistnosti) {
    1.42 +				mp.odejdi();
    1.43 +			}
    1.44 +		} catch (Exception e) {
    1.45 +			log.log(Level.WARNING, "Nepodařilo se odejít z místnosti před ukončením spojení.", e);
    1.46 +		}
    1.47 +
    1.48 +		/** Ukončíme spojení */
    1.49 +		spojeni.disconnect();
    1.50 +	}
    1.51 +
    1.52 +	public XMPPConnection getSpojeni() {
    1.53 +		return spojeni;
    1.54 +	}
    1.55 +
    1.56 +	public Collection<MistnostPripojena> getMistnosti() {
    1.57 +		return mistnosti;
    1.58 +	}
    1.59 +}