package test.global;
import java.io.File;
import java.rmi.RemoteException;
import javax.swing.JOptionPane;
import com.Commentaire;
import com.Groupe;
import com.Message;
import com.Publication;
import profil.ProfilSocial;
import profil.Profil.Sexe;
import util.Constantes;
import util.Dates;
import util.ProfilException;
import client.Client;
import client.ClientChat;
public class mainTestGlobal {
static ProfilSocial profilClient;
//static ProfilSocial profilCourant;
/**
* @param args
*/
@SuppressWarnings("serial")
public static void main(String[] args) {
try {
File f = new File(Constantes.PROFIL);
f.delete();
File f1 = new File(Constantes.GROUPES);
f1.delete();
//simulation de creation de client
Client.newProfil(new ProfilSocial("dalleria", "tarek", "antoine", "dalle-rive", Sexe.H));
Client.newProfil(new ProfilSocial("kev", "kev", "kev", "kev", Sexe.H));
//simulation connexion
profilClient = (ProfilSocial) Client.connexion("dalleria", "tarek");
//creation tchat
ClientChat client_chat = new ClientChat(Constantes.SERVER, Constantes.PORT,"dalleria") {
@Override
public void afficherMessage(Message message) throws RemoteException {
JOptionPane.showMessageDialog(null, message.getTexte());
}
};
client_chat.connexion();
// simu ajout ami - bidirectionnel
Client.addFriend(profilClient.getPseudo(), Client.getProfil("kev").getPseudo());
refreshProfilClient(); // maj
// ajout pub
Publication pub = new Publication("kev", "Salut t nivo sur TalkToTarek ?!");
Client.publier(profilClient.getPseudo(), pub); // sav ?
refreshProfilClient();
//Client.modifyProfil("dalleria", profilClient); // serial ?!
//ajout comm et cie
boolean reussi = Client.commenter(pub, new Commentaire("dalleria", "haha oui si nivo mdr kivin !"), "kev"); // serial ? !
pub.dislike("kev"); // no serial aqui !
pub.like("dalleria"); // no serial aqui !
System.out.println(reussi);
refreshProfilClient();
afficherPublications(profilClient);
System.out.println();
afficherAmis(profilClient); // kevin en theorie ?
System.out.println();
// simu creation de groupe
Client.newGroup(new Groupe("TarekMiage"));
Client.joinGroup(profilClient.getPseudo(), "TarekMiage");
Client.joinGroup("kev", "TarekMiage");
//simu pubi groupe
Client.publierGroupe("TarekMiage", new Publication("dalleria", "j'ai dur !"));
refreshProfilClient();
afficherProfil(profilClient);
System.out.println();
ClientChat client_chat2 = new ClientChat(Constantes.SERVER, Constantes.PORT,"kev") {
@Override
public void afficherMessage(Message message) throws RemoteException {
JOptionPane.showMessageDialog(null, message.getTexte());
}
};
client_chat2.connexion();
System.out.println();
refreshProfilClient();
System.out.println();
afficherGroupeTarek();
refreshProfilClient();
//simulation deco tchat
client_chat2.deconnexion();
client_chat.deconnexion();
System.out.println();
System.exit(0);// buter moi !!!
} catch (RemoteException e) {
e.printStackTrace();
} catch (ProfilException e) {
e.printStackTrace();
}
}
public static void refreshProfilClient() throws RemoteException {
//rafraichissement du profil
profilClient = (ProfilSocial) Client.getProfil(profilClient.getPseudo());
if (profilClient == null)
JOptionPane.showMessageDialog(null, "tout cassé !!! AAAAA ! Tarek !");
}
public static void afficherAmis(ProfilSocial p) {
//affichage des amis du client
System.out.println("Amis de : " + p.getPseudo());
for (String ami : p.getAmis()){
System.out.println("pseudo ami : "+ami);
}
}//fin afficherAmis
public static void afficherProfil(ProfilSocial p) {
System.out.println("----- " + p.getPseudo() + " -----");
for(String inte : p.getInterets()) {
System.out.println("interet : "+inte);
}
}
public static void afficherPublications(ProfilSocial p) {
System.out.println("Publications du mur de: " + p.getPseudo());
for (Publication pub : p.getPublications()){
System.out.println("-------------");
System.out.println("Auteur : " + pub.getPseudo());
System.out.println("Texte : " + pub.getTexte());
System.out.println("Date : " + Dates.getStringDate(pub.getDate()) + " " + Dates.getStringHour(pub.getDate()));
System.out.println("Commentaires : "+pub.getCommentaires().size());
for (Commentaire com : pub.getCommentaires()) {
System.out.println(" Auteur : " + com.getPseudo());
System.out.println(" Texte : " + com.getTexte());
}
}
}
public static void afficherGroupeTarek() throws RemoteException{
System.out.println("groupe tarek");
Groupe gr = Client.getGroup("TarekMiage");
for (String pseudo : gr.getMembres()) {
System.out.println("pseudo membre :" + pseudo);
}
for (Publication pub : gr.getPublications()) {
System.out.println("publi :" + pub.getTexte() + " par " +pub.getPseudo());
}
}
}