package ppj09.gwt.swapweb.server; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import ppj09.gwt.swapweb.client.datatype.User; import ppj09.gwt.swapweb.client.serverInterface.UserManager; import com.google.gwt.user.server.rpc.RemoteServiceServlet; /** * The server side implementation of the RPC service. */ public class UserManagerImpl extends RemoteServiceServlet implements UserManager { private static final long serialVersionUID = 1L; DataBankerQueries db = new DataBankerQueries(); SessionHandler sh = new SessionHandler(); /** * Stefan Elm Legt den neuen User über den DataBanker in der Datenbank ab * * return = 0 -> FEHLER - User nicht angelegt return = 1 -> OK */ public int createUser(User newUser) { // TODO Auto-generated method stub return db.createUser(newUser); } /** * Stefan Elm Holt sich im Authentication Modul einen hash vom pw, und * gleicht ihn dann mit dem (user,pw) Tupel in der DB ab. * * return = 0 -> KOMBINATION user, pwHash nicht vorhanden - nicht angemeldet * return = 1 -> OK - user erfolgreich angemeldet */ public boolean loginRequest(String user, String pwHash) { // TODO Auto-generated method stub boolean ex = db.loginRequest(user, pwHash); if (ex) { sh.setSession(user, this.getThreadLocalRequest()); } return ex; } /* * return null -> Fehler beim Auslesen des Users return User -> erfolgreich * ausgelesen */ public User getUserProfile(String userId) { return db.getUserProfile(userId); } public boolean checkUsername(String username) { // TODO Auto-generated method stub System.out.println("check username test"); return db.checkUsername(username); } public int getSessionId() { String user = sh.getSession(this.getThreadLocalRequest()); if (user == null) { return 0; } else { return db.getUserId(user); } } public String getUserSession() { return sh.getSession(this.getThreadLocalRequest()); } public User getUser() { String user = sh.getSession(this.getThreadLocalRequest()); if (user == null) { return null; } else { return db.getUserProfile(user); } } public User getUser(String username) { if (username == null) { return null; } else { return db.getUserProfile(username); } } public int updateUser(User newUser) { String user = sh.getSession(this.getThreadLocalRequest()); return db.updateUser(user, newUser); } public boolean checkPassword(String password) { String user = sh.getSession(this.getThreadLocalRequest()); boolean ex = db.loginRequest(user, password); return ex; } }