java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/ChatEJB.java
changeset 188 74d06a8a4948
parent 187 e7b3ef7aaef4
child 189 fcd69520f12d
     1.1 --- a/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/ChatEJB.java	Tue Jul 19 15:20:47 2011 +0200
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,105 +0,0 @@
     1.4 -package cz.frantovo.nekurak.ejb;
     1.5 -
     1.6 -import cz.frantovo.nekurak.chat.MistnostPripojena;
     1.7 -import cz.frantovo.nekurak.chat.Nastaveni;
     1.8 -import cz.frantovo.nekurak.chat.Spojeni;
     1.9 -import cz.frantovo.nekurak.chat.SpravceNastaveni;
    1.10 -import cz.frantovo.nekurak.chat.UcetRobota;
    1.11 -import cz.frantovo.nekurak.dto.ZpravaChatu;
    1.12 -import cz.frantovo.nekurak.vyjimky.NekurakVyjimka;
    1.13 -import java.util.ArrayList;
    1.14 -import java.util.Collection;
    1.15 -import java.util.logging.Level;
    1.16 -import java.util.logging.Logger;
    1.17 -import javax.annotation.PostConstruct;
    1.18 -import javax.annotation.PreDestroy;
    1.19 -import javax.ejb.Singleton;
    1.20 -import javax.ejb.Startup;
    1.21 -import javax.naming.NamingException;
    1.22 -
    1.23 -/**
    1.24 - *
    1.25 - * @author fiki
    1.26 - */
    1.27 -@Singleton
    1.28 -@Startup
    1.29 -public class ChatEJB implements ChatRemote {
    1.30 -
    1.31 -	private static final Logger log = Logger.getLogger(ChatRemote.class.getSimpleName());
    1.32 -	private Nastaveni nastaveni;
    1.33 -	private Collection<Spojeni> spojeni = new ArrayList<Spojeni>();
    1.34 -
    1.35 -	@Override
    1.36 -	public void posliZpravu(String mistnost, String prezdivka, String zprava) throws NekurakVyjimka {
    1.37 -		MistnostPripojena mp = najdiMistnost(mistnost);
    1.38 -		if (mp == null) {
    1.39 -			throw new NekurakVyjimka("Místnost s tímto názvem neexistuje", null);
    1.40 -		} else {
    1.41 -			try {
    1.42 -				mp.posliZpravu(new ZpravaChatu(prezdivka, zprava));
    1.43 -			} catch (Exception e) {
    1.44 -				log.log(Level.SEVERE, "Selhalo odesílání zprávy", e);
    1.45 -				throw new NekurakVyjimka("Zprávu se nepodařilo odeslat.", e);
    1.46 -			}
    1.47 -		}
    1.48 -	}
    1.49 -
    1.50 -	/**
    1.51 -	 * @param mistnost název místnosti včetně zavináče a serveru
    1.52 -	 * @param poradoveCislo pořadové číslo poslední zprávy, kterou jsme dostali
    1.53 -	 * @return všechny novější zprávy než dané pořadové číslo
    1.54 -	 * @throws NekurakVyjimka
    1.55 -	 */
    1.56 -	@Override
    1.57 -	public Collection<ZpravaChatu> getZpravy(String mistnost, int poradoveCislo) throws NekurakVyjimka {
    1.58 -		MistnostPripojena mp = najdiMistnost(mistnost);
    1.59 -		if (mp == null) {
    1.60 -			throw new NekurakVyjimka("Místnost s tímto názvem neexistuje", null);
    1.61 -		} else {
    1.62 -			return mp.getZpravy(poradoveCislo);
    1.63 -		}
    1.64 -	}
    1.65 -
    1.66 -	public ChatEJB() throws NekurakVyjimka {
    1.67 -		/** TODO: vyřešit lépe. */
    1.68 -		nastaveni = new SpravceNastaveni().getNastaveni();
    1.69 -	}
    1.70 -
    1.71 -	@PreDestroy
    1.72 -	public void odpoj() {
    1.73 -		for (Spojeni s : spojeni) {
    1.74 -			s.odpoj();
    1.75 -		}
    1.76 -	}
    1.77 -
    1.78 -	//@PostConstruct //dočasně vypnuté
    1.79 -	public void inicializuj() throws NekurakVyjimka, NamingException {
    1.80 -		pripojXMPP();
    1.81 -	}
    1.82 -
    1.83 -	private void pripojXMPP() throws NekurakVyjimka {
    1.84 -		try {
    1.85 -			for (UcetRobota u : nastaveni.getUctyRobota()) {
    1.86 -				Spojeni s = new Spojeni(u);
    1.87 -				spojeni.add(s);
    1.88 -			}
    1.89 -		} catch (Exception e) {
    1.90 -			throw new NekurakVyjimka("Chyba při připojování.", e);
    1.91 -		}
    1.92 -	}
    1.93 -
    1.94 -	/**
    1.95 -	 * @param nazev Název místnosti, kterou hledáme.
    1.96 -	 * @return nalezená místnost, nebo null, pokud místnost nebyla nalezena.
    1.97 -	 */
    1.98 -	private MistnostPripojena najdiMistnost(String nazev) {
    1.99 -		for (Spojeni s : spojeni) {
   1.100 -			for (MistnostPripojena mp : s.getMistnosti()) {
   1.101 -				if (mp.porovnejNazev(nazev)) {
   1.102 -					return mp;
   1.103 -				}
   1.104 -			}
   1.105 -		}
   1.106 -		return null;
   1.107 -	}
   1.108 -}