package action.cliente; import com.opensymphony.xwork2.ActionSupport; import dao.UsuarioDAO; import java.util.Date; import java.util.Map; import model.Cliente; import model.Direccion; import util.BCrypt; import org.apache.struts2.interceptor.SessionAware; public class RegistrarseAction extends ActionSupport implements SessionAware { /* Formulario */ private String nombre; private String apellidos; private String telefono; private String username; private String password; private String password2; private String email; private String tipo; private String nombrecalle; private String piso; private String letra; private String localidad; private String comunidad; private String provincia; private String pais; private String numero; private String cp; private String cuenta; /* Session */ private Map session; /* Acceso a Datos*/ UsuarioDAO usuarioDAO; private String mensaje; public RegistrarseAction() { usuarioDAO = new UsuarioDAO(); } public String execute() { // Crear Usuario if (usuarioDAO.findByEmail(email) == null) { if (email != null && password != null && password.matches(password2)) { Cliente cliente = new Cliente(); Direccion direccion = new Direccion(); cliente.setEmail(email); //MD5 ... String hashedpw = BCrypt.hashpw(password, BCrypt.gensalt(12)); cliente.setPassword(hashedpw); cliente.setPrivilegios(0); cliente.setNombre(nombre); cliente.setApellido(apellidos); cliente.setNumerodecontacto(telefono); cliente.setUsername(username); cliente.setRegistro(new Date()); cliente.setNumerotarjeta(getCuenta()); direccion.setTipo(tipo); direccion.setNombre(nombrecalle); direccion.setNumero(Integer.parseInt(getNumero())); direccion.setCodigopostal(Integer.valueOf(cp)); direccion.setLocalidad(getLocalidad()); direccion.setProvincia(getProvincia()); direccion.setComunidad(getComunidad()); direccion.setPais(getPais()); direccion.setPiso(Integer.parseInt(piso)); direccion.setPuerta(getLetra()); cliente.setDireccion(direccion); // Almacenarlo usuarioDAO.save(cliente); session = getSession(); session.put("user", cliente); session.put("logged", true); return "SUCCESS"; } } return "ERROR"; } public String getPassword() { return password; } public String getMensaje() { return mensaje; } public void setMensaje(String mensaje) { this.mensaje = mensaje; } public void setPassword(String password) { this.password = password; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Override public void setSession(Map session) { this.session = session; } public Map getSession() { return session; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public String getApellidos() { return apellidos; } public void setApellidos(String apellidos) { this.apellidos = apellidos; } public String getTelefono() { return telefono; } public void setTelefono(String telefono) { this.telefono = telefono; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword2() { return password2; } public void setPassword2(String password2) { this.password2 = password2; } public String getTipo() { return tipo; } public void setTipo(String tipo) { this.tipo = tipo; } public String getNombrecalle() { return nombrecalle; } public void setNombrecalle(String nombrecalle) { this.nombrecalle = nombrecalle; } public String getPiso() { return piso; } public void setPiso(String piso) { this.piso = piso; } public String getLetra() { return letra; } public void setLetra(String letra) { this.letra = letra; } /** * @return the localidad */ public String getLocalidad() { return localidad; } /** * @param localidad the localidad to set */ public void setLocalidad(String localidad) { this.localidad = localidad; } /** * @return the comunidad */ public String getComunidad() { return comunidad; } /** * @param comunidad the comunidad to set */ public void setComunidad(String comunidad) { this.comunidad = comunidad; } /** * @return the provincia */ public String getProvincia() { return provincia; } /** * @param provincia the provincia to set */ public void setProvincia(String provincia) { this.provincia = provincia; } /** * @return the pais */ public String getPais() { return pais; } /** * @param pais the pais to set */ public void setPais(String pais) { this.pais = pais; } /** * @return the numero */ public String getNumero() { return numero; } /** * @param numero the numero to set */ public void setNumero(String numero) { this.numero = numero; } public String getCp() { return cp; } public void setCp(String cp) { this.cp = cp; } /** * @return the cuenta */ public String getCuenta() { return cuenta; } /** * @param cuenta the cuenta to set */ public void setCuenta(String cuenta) { this.cuenta = cuenta; } }