com.cmsoftware.keyron.controlador.UsuarioFunciones.java Source code

Java tutorial

Introduction

Here is the source code for com.cmsoftware.keyron.controlador.UsuarioFunciones.java

Source

/*
 * 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;
        }
    }
}