103 lignes
2,8 Kio
Java
103 lignes
2,8 Kio
Java
package com.sdzee.servlets;
|
|
|
|
import java.io.IOException;
|
|
import java.net.InetAddress;
|
|
import java.util.ArrayList;
|
|
|
|
import javax.servlet.ServletException;
|
|
import javax.servlet.http.*;
|
|
|
|
import com.controller.*;
|
|
|
|
public class Test extends HttpServlet {
|
|
|
|
private DataBase db;
|
|
private ListeContacts listActifs;
|
|
public void init() {
|
|
listActifs = ListeContacts.getInstance();
|
|
db = DataBase.getInstance();
|
|
}
|
|
|
|
public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException{
|
|
System.out.println("j'ai reçu la requete");
|
|
String login;
|
|
String pseudo;
|
|
String res;
|
|
String adr;
|
|
String port;
|
|
String type = request.getParameter("type");
|
|
|
|
switch (type) {
|
|
case "loginExiste":
|
|
login = request.getParameter("login");
|
|
boolean loginOK = DataBase.getInstance().loginExiste(login);
|
|
res = Boolean.toString(loginOK);
|
|
response.setHeader("result", res);
|
|
break;
|
|
case "pseudoOK":
|
|
boolean pseudoOK = true;
|
|
pseudo = request.getParameter("pseudo");
|
|
for(Contact c : listActifs.getListe()) {
|
|
if(c.getPseudo().equals(pseudo)){
|
|
pseudoOK = false;
|
|
}
|
|
}
|
|
res = Boolean.toString(pseudoOK);
|
|
response.setHeader("result", res);
|
|
break;
|
|
case "addUser":
|
|
pseudo = request.getParameter("pseudo");
|
|
adr = request.getParameter("adr");
|
|
String adr2= adr.substring(1);
|
|
System.out.println(adr2);
|
|
port = request.getParameter("port");
|
|
InetAddress address = InetAddress.getByName(adr2);
|
|
int portInt = Integer.parseInt(port);
|
|
Contact user = new Contact(pseudo, address, portInt);
|
|
listActifs.addContact(user);
|
|
break;
|
|
|
|
case "pseudoChanged":
|
|
pseudo = request.getParameter("pseudo");
|
|
String ancienPseudo = request.getParameter("pseudoVieux");
|
|
System.out.println("ancien pseudo :"+ancienPseudo+" et nouveau :"+pseudo);
|
|
for(Contact c : listActifs.getListe()) {
|
|
if(c.getPseudo().equals(ancienPseudo)){
|
|
c.setPseudo(pseudo);
|
|
}
|
|
}
|
|
System.out.println("actifs :"+listActifs.actifUsers());
|
|
break;
|
|
|
|
case "deconnexion":
|
|
pseudo = request.getParameter("pseudo");
|
|
String idRequest = request.getParameter("id");
|
|
System.out.println("actifs :"+listActifs.actifUsers());
|
|
int id = Integer.parseInt(idRequest);
|
|
Contact c = listActifs.findContact(pseudo);
|
|
listActifs.deleteContact(c);
|
|
db.updateStatus(id, "Hors Ligne");
|
|
break;
|
|
|
|
|
|
|
|
|
|
case "getUser":
|
|
pseudo = request.getParameter("pseudo");
|
|
Contact dest = listActifs.findContact(pseudo);
|
|
response.setHeader("address", dest.getAddress().toString());
|
|
response.setHeader("port", Integer.toString(dest.getPort()));
|
|
|
|
break;
|
|
|
|
case "actifs":
|
|
String actifs = listActifs.actifUsers();
|
|
//String actifs = "ceci sont les actifs";
|
|
response.setHeader("actifs", actifs);
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
}
|
|
}
|