/09.Hibernate/13.Login-Struts-Spring-Hibernate/src/controlador/Signin.java

https://gitlab.com/eliAgirre/java-web-course · Java · 145 lines · 108 code · 33 blank · 4 comment · 9 complexity · 704f7605a09a6fee7557e478eab112db MD5 · raw file

  1. package controlador;
  2. import java.util.Map;
  3. import negocio.OperarImp;
  4. import org.springframework.web.context.WebApplicationContext;
  5. import modelo.Usuario;
  6. import utilidades.SpringUtil;
  7. import com.opensymphony.xwork2.ActionContext;
  8. import com.opensymphony.xwork2.ActionSupport;
  9. public class Signin extends ActionSupport{
  10. private static final long serialVersionUID = 1L;
  11. private String username;
  12. private String codigoPc;
  13. private String password;
  14. private String nombre;
  15. private String email;
  16. private String resultado;
  17. // business logic
  18. @SuppressWarnings({ "unchecked" })
  19. public String execute() {
  20. WebApplicationContext context=SpringUtil.getWebApplicationContext();
  21. Map<String,String> tmpSession=(Map<String,String>)ActionContext.getContext().getSession();
  22. Map<String,Usuario> usuarioSession=(Map<String,Usuario>)ActionContext.getContext().getSession();
  23. OperarImp operar=(OperarImp) context.getBean("operarImpID");
  24. Usuario usuario=(Usuario)context.getBean("usuarioID");
  25. Usuario usuarioBusq=(Usuario)context.getBean("usuarioID");
  26. tmpSession.put("user", getUsername());
  27. tmpSession.put("pass", getPassword());
  28. int iContador=0;
  29. usuarioBusq=operar.buscaMaxPc();
  30. if(usuarioBusq!=null){
  31. tmpSession.put("contador", usuarioBusq.getCodigoPc());
  32. iContador=Integer.parseInt(tmpSession.get("contador"));
  33. }
  34. else{
  35. iContador=0;
  36. }
  37. if(getUsername().equalsIgnoreCase(tmpSession.get("user")) && getPassword().equalsIgnoreCase(tmpSession.get("pass"))){
  38. iContador++;
  39. usuario.setUsername(getUsername());
  40. usuario.setCodigoPc(String.valueOf(iContador));
  41. usuario.setPassword(getPassword());
  42. usuario.setNombre(getNombre());
  43. usuario.setEmail(getEmail());
  44. usuarioSession.put("usuario", usuario); // se guarda en la sesion
  45. if(operar.grabarUno(usuario)){
  46. resultado="Usuario registrado";
  47. return "SUCCESS_BIEN";
  48. }
  49. else{
  50. resultado="Usuario no registrado";
  51. return "SUCCESS_MAL";
  52. }
  53. }
  54. else{
  55. resultado="No coinciden el usuario y la contraseña";
  56. return "SUCCESS_MAL";
  57. }
  58. }
  59. // simple validation
  60. public void validate(){
  61. if(getUsername().length()==0){
  62. addFieldError("error_user", getText("login.user.requerido"));
  63. }
  64. if(getUsername().length()>10){
  65. addFieldError("error_user_maximo", getText("<font color='green'>El usuario debe ser menor de 10 caracteres</font>"));
  66. }
  67. if(getPassword().length()==0){
  68. addFieldError("errorpassword", getText("login.password.requerido"));
  69. }
  70. if(getNombre().length()==0){
  71. addFieldError("errornombre", getText("signin.nombre.requerido"));
  72. }
  73. if(getEmail().length()==0){
  74. addFieldError("erroremail", getText("signin.email.requerido"));
  75. }
  76. }
  77. // getters
  78. public String getUsername() {
  79. return username;
  80. }
  81. public String getCodigoPc(){
  82. return codigoPc;
  83. }
  84. public String getPassword() {
  85. return password;
  86. }
  87. public String getNombre() {
  88. return nombre;
  89. }
  90. public String getEmail() {
  91. return email;
  92. }
  93. public String getResultado() {
  94. return resultado;
  95. }
  96. // setters
  97. public void setUsername(String username) {
  98. this.username = username;
  99. }
  100. public void setCodigoPc(String codigoPc){
  101. this.codigoPc = codigoPc;
  102. }
  103. public void setPassword(String password) {
  104. this.password = password;
  105. }
  106. public void setNombre(String nombre) {
  107. this.nombre = nombre;
  108. }
  109. public void setEmail(String email) {
  110. this.email = email;
  111. }
  112. }