Back to project page LotR_Risk.
The source code is released under:
GNU General Public License
If you think the Android project LotR_Risk listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package net; // w w w . j a va2 s . c o m import java.io.IOException; import java.util.ArrayList; import objects.Joueur; import utils.InterfaceLOTR; public class EnvoiReception extends Thread implements InterfaceLOTR { private ArrayList<Joueur> listJoueur; //Permet de stocker la liste recu ou voulante etre envoye private int traitement; //Sert dfinir le traitement voulu (via constantes InterfaceLOTR) private Reception in; private Emission out; public EnvoiReception(Reception in, Emission out, ArrayList<Joueur> listJoueurs, int traitement) { super(); this.listJoueur = listJoueurs; this.traitement = traitement; this.in = in; this.out = out; } @Override public void run() { try { switch (traitement) { case CREATION_JOUEURS : this.listJoueur = getInfosJoueurs(); break; case SERVEUR_RECEPTION_JOUEURS : getJoueurs(); break; case SERVEUR_ENVOI_JOUEURS : if (sendJoueurs()) System.out.println("Envoi termin avec succs"); else System.out.println("ERREUR lors de l'envoi des joueurs !"); break; } } catch (IOException | ClassNotFoundException e) { e.printStackTrace(); } } /** * Reoit la liste des joueurs envoye par l'application distante. * @throws ClassNotFoundException * @throws IOException */ private ArrayList<Joueur> getInfosJoueurs() throws ClassNotFoundException, IOException { out.sendString("#OK"); //Averti le client que sa demande est bien reue Integer nbJoueurs = in.getInt(); while (nbJoueurs == null) { System.out.println("Erreur de saisie, j'attend un ENTIER"); nbJoueurs = in.getInt(); } if (this.listJoueur == null) this.listJoueur = new ArrayList<Joueur>(nbJoueurs); for (int i = 0; i < nbJoueurs; i ++) { Joueur joueurRecu = in.getJoueur(); if (!listJoueur.contains(joueurRecu)) { listJoueur.add(joueurRecu); System.out.println("Joueur ajout : " + joueurRecu.getNom()); } } return this.listJoueur; } private boolean sendJoueurs() { try { if (listJoueur == null || listJoueur.size() == 0) { out.sendString("#ERROR"); return false; } out.sendString("#OK"); for (Joueur j : listJoueur) out.sendJoueur(j); out.reset(); } catch (IOException e) { return false; } return true; } private void getJoueurs() throws ClassNotFoundException, IOException { out.sendString("#OK"); //Averti le client que sa demande est bien reue for (int i = 0; i < listJoueur.size(); i++) { Joueur joueurRecu = in.getJoueur(); System.out.println(joueurRecu); listJoueur.set(i, joueurRecu); } } public ArrayList<Joueur> getListJoueur() { return listJoueur; } }