Package labsis.usuario.managers

Source Code of labsis.usuario.managers.Manager

package labsis.usuario.managers;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import labsis.usuario.dao.DaoLogUsuario;
import labsis.usuario.dao.DaoTipoUsuario;
import labsis.usuario.dao.DaoUsuario;
import labsis.usuario.model.LogUsuario;
import labsis.usuario.model.Operacao;
import labsis.usuario.model.TipoUsuario;
import labsis.usuario.model.Usuario;

public class Manager {

  private static Manager manager;

  public static Manager getInstace() {
    if (manager == null)
      manager = new Manager();
    return manager;
  }

  // a seguir metodos que representam operacoes de usuarios

  public Usuario login(String username, String password) {
    DaoUsuario du = null;
    try {
      du = new DaoUsuario();
      Usuario u = (Usuario) du.find(username);
      if (u != null && u.getSenha().equals(password)) {
        return u;
      }
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    } catch (SQLException e) {
      e.printStackTrace();
    } finally {
      try {
        du.close();
        addLog(username, 1);
      } catch (SQLException e) {
        e.printStackTrace();
      } catch (ClassNotFoundException e) {
        e.printStackTrace();
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    return null;
  }

  public boolean logoff(String username) {
    boolean b = false;
    try {
      b = addLog(username, 2);
    } catch (SQLException e) {
      e.printStackTrace();
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    }
    return b;
  }

  public List<Usuario> retrieveUsers(String username) {
    DaoUsuario du = null;
    List<Usuario> ulist = new ArrayList<Usuario>();
    try {
      du = new DaoUsuario();
      List l = du.retrieve();
      for (Object o : l) {
        Usuario u = (Usuario) o;
        ulist.add(u);
      }
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    } catch (SQLException e) {
      e.printStackTrace();
    } finally {
      try {
        du.close();
        addLog(username, 3);
      } catch (SQLException e) {
        e.printStackTrace();
      } catch (ClassNotFoundException e) {
        e.printStackTrace();
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    return ulist;
  }

  public List<Usuario> retrieveUsers(String username, int pageNum) {
    DaoUsuario du = null;
    List<Usuario> ulist = new ArrayList<Usuario>();
    try {
      du = new DaoUsuario();
      List l = du.retrieve(pageNum, 5);
      Integer totalPages = (Integer) l.remove(l.size() - 1);
      for (Object o : l) {
        Usuario u = (Usuario) o;
        ulist.add(u);
      }
      ulist.add(new Usuario(totalPages + "", null, null, null));
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    } catch (SQLException e) {
      e.printStackTrace();
    } finally {
      try {
        du.close();
        addLog(username, 3);
      } catch (SQLException e) {
        e.printStackTrace();
      } catch (ClassNotFoundException e) {
        e.printStackTrace();
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    return ulist;
  }

  public String deleteUser(String delusername, String username) {
    DaoUsuario du = null;
    String msg = "Usuario " + delusername + " deletado com sucesso!";
    try {
      du = new DaoUsuario();
      du.delete(new Usuario(delusername, null, null, null));
    } catch (ClassNotFoundException e) {
      msg = "Erro no driver SQL!";
      e.printStackTrace();
    } catch (SQLException e) {
      msg = "Erro de consulta SQL!";
      e.printStackTrace();
    } finally {
      try {
        du.close();
        if (!delusername.equals(username))
          addLog(username, 5);
      } catch (SQLException e) {
        e.printStackTrace();
      } catch (ClassNotFoundException e) {
        e.printStackTrace();
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    return msg;
  }

  public String updateUser(String updateusername, String nome, String senha,
      int tipousuarioid, String username) {
    DaoUsuario du = null;
    String msg = "Usuario " + updateusername + " alterado com sucesso!";
    try {
      du = new DaoUsuario();
      du.update(new Usuario(updateusername, senha, nome, new TipoUsuario(
          tipousuarioid, "", null)));
    } catch (ClassNotFoundException e) {
      msg = "Erro no driver SQL!";
      e.printStackTrace();
    } catch (SQLException e) {
      msg = "Erro de consulta SQL!";
      e.printStackTrace();
    } finally {
      try {
        du.close();
        addLog(username, 4);
      } catch (SQLException e) {
        e.printStackTrace();
      } catch (ClassNotFoundException e) {
        e.printStackTrace();
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    return msg;

  }

  public String createUser(String newusername, String senha, String nome,
      int tipousuarioid, String username) {
    DaoUsuario du = null;
    String msg = "";
    try {
      du = new DaoUsuario();
      if(du.create(new Usuario(newusername, senha, nome, new TipoUsuario(
          tipousuarioid, "", null)))){
        msg = "Usuario '" + newusername + "' criado com sucesso!";
      }else{
        msg = "Usuario '" + newusername + "' ja existe";
      }
    } catch (ClassNotFoundException e) {
      msg = "Erro no driver SQL!";
      e.printStackTrace();
    } catch (SQLException e) {
      msg = "Erro de consulta SQL!";
      e.printStackTrace();
    } finally {
      try {
        du.close();
        addLog(username, 6);
      } catch (SQLException e) {
        e.printStackTrace();
      } catch (ClassNotFoundException e) {
        e.printStackTrace();
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    return msg;
  }

  public List<LogUsuario> retrieveLogs(int pageNum) {
    DaoLogUsuario dl = null;
    List<LogUsuario> l = new ArrayList<LogUsuario>();
    try {
      dl = new DaoLogUsuario();
      List<Object> list = dl.retrieve(pageNum, 15);
      Integer totalPages = (Integer) list.remove(list.size() - 1);
      for (Object o : list) {
        LogUsuario lu = (LogUsuario) o;
        l.add(lu);
      }
      l.add(new LogUsuario(totalPages, null, null, null));
    } catch (SQLException e) {
      e.printStackTrace();
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    } finally {
      try {
        dl.close();
      } catch (SQLException e) {
        e.printStackTrace();
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    return l;
  }

  // metodos usados para formularios

  public List<TipoUsuario> getTipoUsuarios() {
    List<TipoUsuario> l = new ArrayList<TipoUsuario>();
    DaoTipoUsuario dt = null;
    try {
      dt = new DaoTipoUsuario();
      for (Object o : dt.retrieve()) {
        TipoUsuario tu = (TipoUsuario) o;
        l.add(tu);
      }
    } catch (SQLException e) {
      e.printStackTrace();
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    } finally {
      try {
        dt.close();
      } catch (SQLException e) {
        e.printStackTrace();
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    return l;
  }

  public Usuario getUser(String username) {
    DaoUsuario du = null;
    Usuario u = null;
    try {
      du = new DaoUsuario();
      u = (Usuario) du.find(username);
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    } catch (SQLException e) {
      e.printStackTrace();
    } finally {
      try {
        du.close();
      } catch (SQLException e) {
        e.printStackTrace();
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    return u;
  }

  // metodo usado apenas para registrar log de usuarios

  private boolean addLog(String username, int operacaoid)
      throws SQLException, ClassNotFoundException {
    DaoLogUsuario dl = null;
    dl = new DaoLogUsuario();
    boolean b = dl.create(new LogUsuario(0, new Operacao(operacaoid, null,null),
        new Usuario(username, null, null, null), null));
    dl.close();
    return b;
  }
}
TOP

Related Classes of labsis.usuario.managers.Manager

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.