Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package controller;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.security.MessageDigest;
- import java.security.NoSuchAlgorithmException;
- import java.sql.SQLException;
- import java.util.LinkedList;
- import javax.servlet.RequestDispatcher;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
- import org.json.simple.JSONObject;
- import org.json.simple.parser.JSONParser;
- import model.EventModelDS;
- import model.ModelInterface;
- import model.User;
- import model.UserModelDS;
- /**
- * Servlet implementation class UserControl
- */
- @WebServlet("/UserController")
- public class UserController extends HttpServlet {
- private static final long serialVersionUID = 1L;
- static ModelInterface<User> model = new UserModelDS();
- private UserModelDS modelDs = (UserModelDS) model;
- public UserController() {
- super();
- }
- private void sendError(String error,HttpServletResponse response) throws IOException{
- PrintWriter out = response.getWriter();
- out.println(error);
- }
- public static String toSHA1(byte[] convertme) {
- MessageDigest md = null;
- try {
- md = MessageDigest.getInstance("SHA-1");
- }
- catch(NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- return new String(md.digest(convertme));
- }
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- doPost(request, response);
- }
- @SuppressWarnings("unchecked")
- protected void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- String action = request.getParameter("action");
- try {
- if (action != null)
- {
- if (action.equalsIgnoreCase("insert"))
- {
- String user = request.getParameter("email");
- String password = request.getParameter("password");
- // Integer priority = null;
- // if (request.getParameter("priority") != null) {
- // priority = Integer.parseInt(request.getParameter("priority"));
- // }
- User bean = new User();
- bean.setUser(user);
- bean.setPassword(password);
- // if (priority != null) bean.setPriority(priority);
- UserModelDS modelDs = (UserModelDS) model;
- if(modelDs.findByName(user) != null )
- {
- sendError("Questo account è già esistente", response);
- return;
- }
- if(model.insert(bean) == false)
- {
- sendError("Errore di Connessione", response);
- return;
- }
- }
- else if(action.equalsIgnoreCase("update"))
- {
- String newPassword = request.getParameter("newPassword");
- JSONObject obj = toJson(newPassword);
- User user = new User();
- if(obj != null){
- user.setPassword(newPassword);
- if(user.getId() == 3){
- int priority = Integer.parseInt(request.getParameter("priority"));
- user.setPriority(priority);
- }
- }
- if(!model.update(user))
- sendError("Errore di Connessione", response);
- }
- else if(action.equalsIgnoreCase("login"))
- {
- HttpSession session = request.getSession();
- LinkedList<Integer> eventsPreferred = new LinkedList<Integer>();
- LinkedList<Integer> eventsLiked = new LinkedList<Integer>();
- session.setAttribute("eventsPreferred", eventsPreferred);
- session.setAttribute("eventsLiked",eventsLiked);
- String email = (String) request.getParameter("email");
- String password = (String) request.getParameter("password");
- User user = modelDs.findByName(email);
- if(user == null)
- {
- sendError("Utente non esiste.", response);
- return;
- }
- String DbPassword = user.getPassword();
- String hashed = toSHA1(password.getBytes());
- if(DbPassword != null)
- {
- if(DbPassword.equals(hashed))
- {
- if(user.getPriority() == 3)
- {
- RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/admin/Admin.jsp");
- dispatcher.forward(request,response);
- }
- session.setAttribute("userId", user.getId());
- }
- else sendError("Credenziali non valide." , response);
- }
- }
- else if(action.equalsIgnoreCase("logout"))
- {
- HttpSession session = request.getSession();
- int idUser = (int) session.getAttribute("userId");
- LinkedList<Integer> liked = (LinkedList<Integer>) session.getAttribute("eventsLiked");
- LinkedList<Integer> preferred = (LinkedList<Integer>) session.getAttribute("eventsPreferred");
- EventModelDS es = new EventModelDS();
- if(liked.size() != 0){
- es.setLikeToEvent(idUser, liked);
- }
- if(preferred.size() != 0){
- es.setEventAsPreferred(idUser, preferred);
- }
- }
- else if(action.equalsIgnoreCase("remove")){
- int id = request.getIntHeader("id");
- if(!model.remove(id))
- sendError("Errore DataBase", response);
- }
- }
- } catch (SQLException e) {
- //System.out.println("Error:" + e.getMessage());
- }
- }
- private JSONObject toJson(String convertJson){
- JSONParser parser = new JSONParser();
- try {
- Object obj = parser.parse(convertJson);
- JSONObject jsonObject = (JSONObject) obj;
- return jsonObject;
- }
- catch(Exception e){
- return null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement