Java tutorial
/* * Copyright 2014 Cristiam Mercado. * * Esta obra est licenciada bajo la Licencia: * Creative Commons Atribucin-NoComercial-SinDerivar 4.0 Internacional. * * Para ver una copia de esta licencia, visita: * http://creativecommons.org/licenses/by-nc-nd/4.0/. */ package com.cmsoftware.keyron.controlador; import com.cmsoftware.keyron.modelo.Empleado; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import org.json.JSONObject; /** * Clase que contiene las funciones referentes a usuarios. * * @author Cristiam Mercado cristiammercadoj@gmail.com * @version 1.0 */ public class UsuarioFunciones { /** * Instancia de la clase parser de Json. */ private final Json json; /** * URL del servicio web de acceso. */ private static final String ACCESO_URL = "http://dev.keyron.hol.es/Servicios/acceso.php"; /** * URL del servicio web de usuario. */ private static final String ACCESO_URL_USUARIO = "http://dev.keyron.hol.es/Servicios/usuario.php"; /** * Variable post para la accion de acceso. */ private static final String ACCION_ACCESO = "acceso"; /** * Variable post para la accion de cambiar clave. */ private static final String ACCION_CAMBIO_CLAVE = "cambiarClave"; /** * Variable post para la accion de activar usuario. */ private static final String ACCION_ACTIVACION_USUARIO = "activarUsuario"; /** * Variable post para la accion de desactivar usuario. */ private static final String ACCION_DESACTIVACION_USUARIO = "desactivarUsuario"; /** * Constructor de la clase UsuarioFunciones. */ public UsuarioFunciones() { json = new Json(); } /** * Manda informacin de logueo al Web Service. * * @param correo Correo electrnico del usuario. * @param clave Clave del usuario. * @return Cdigo de respuesta del web service. */ public int iniciarSesion(String correo, String clave) { String parametros; try { parametros = "accion=" + URLEncoder.encode(ACCION_ACCESO, "UTF-8") + "&correo=" + URLEncoder.encode(correo, "UTF-8") + "&clave=" + URLEncoder.encode(clave, "UTF-8"); JSONObject respuesta = json.getRespuestaAPI(ACCESO_URL, parametros); int key_error = respuesta.getInt("error"); if (key_error == 0) { JSONObject employee = respuesta.getJSONObject("empleado"); Empleado empleado = new Empleado(); empleado.setCedula("" + employee.get("cedula")); empleado.setNombre(employee.getString("nombre")); empleado.setApellido(employee.getString("apellido")); empleado.setDireccion(employee.getString("direccion")); empleado.setTelefono("" + employee.get("telefono")); empleado.setCorreo(employee.getString("correo")); empleado.setFechaRegistro(String.valueOf(employee.get("fecha_registro"))); empleado.setNivel(employee.getString("nivel")); empleado.setActivo(employee.getString("activo")); empleado.setFechaActivacion(String.valueOf(employee.get("fecha_activacion"))); empleado.setFechaDesactivacion(String.valueOf(employee.get("fecha_desactivacion"))); Optimizacion.getInstancia().setEmpleadoActual(empleado); } return key_error; } catch (Exception e) { System.err.println("ERROR UsuarioFunciones:106 -> " + e.toString()); Log.agregarError(e); return -1; } } /** * Cambia la clave del usuario recibido por parmetros. * * @param correo Correo electrnico del ususario. * @param clave Clave del usuario. * @param nuevaClave Nueva clave del usuario. * @return Objeto de respuesta Json. */ public JSONObject cambiarClave(String correo, String clave, String nuevaClave) { String parametros = ""; try { parametros = "accion=" + URLEncoder.encode(ACCION_CAMBIO_CLAVE, "UTF-8") + "&correo=" + URLEncoder.encode(correo, "UTF-8") + "&clave=" + URLEncoder.encode(clave, "UTF-8") + "&nuevaClave=" + URLEncoder.encode(nuevaClave, "UTF-8"); } catch (UnsupportedEncodingException e) { System.err.println("ERROR UsuarioFunciones:128 -> " + e.toString()); Log.agregarError(e); } return json.getRespuestaAPI(ACCESO_URL_USUARIO, parametros); } /** * Activa un usuario. * * @param correo Correo del administrador. * @param clave Clave del administrador. * @param cedulaUsuario Cdula del usuario a activar. * @return Objeto de respuesta Json. */ public JSONObject activarUsuario(String correo, String clave, String cedulaUsuario) { String parametros = ""; try { parametros = "accion=" + URLEncoder.encode(ACCION_ACTIVACION_USUARIO, "UTF-8") + "&correo=" + URLEncoder.encode(correo, "UTF-8") + "&clave=" + URLEncoder.encode(clave, "UTF-8") + "&cedula=" + URLEncoder.encode(cedulaUsuario, "UTF-8"); } catch (UnsupportedEncodingException e) { System.err.println("ERROR UsuarioFunciones:150 -> " + e.toString()); Log.agregarError(e); } return json.getRespuestaAPI(ACCESO_URL_USUARIO, parametros); } /** * Desactiva un usuario. * * @param correo Correo del administrador. * @param clave Clave del administrador. * @param cedulaUsuario Cdula del usuario a desactivar. * @return Cdigo de respuesta del web service. */ public int desactivarUsuario(String correo, String clave, String cedulaUsuario) { String parametros = ""; try { parametros = "accion=" + URLEncoder.encode(ACCION_DESACTIVACION_USUARIO, "UTF-8") + "&correo=" + URLEncoder.encode(correo, "UTF-8") + "&clave=" + URLEncoder.encode(clave, "UTF-8") + "&cedula=" + URLEncoder.encode(cedulaUsuario, "UTF-8"); JSONObject respuesta = json.getRespuestaAPI(ACCESO_URL_USUARIO, parametros); int key_error = respuesta.getInt("error"); return key_error; } catch (UnsupportedEncodingException e) { System.err.println("ERROR UsuarioFunciones:175 -> " + e.toString()); Log.agregarError(e); return -1; } } }