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

Java tutorial

Introduction

Here is the source code for com.cmsoftware.keyron.controlador.AplicacionFunciones.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.Actualizacion;
import com.cmsoftware.keyron.modelo.Empleado;
import java.net.URLEncoder;
import org.json.JSONObject;

/**
 *
 * @author Cristiam Mercado cristiammercadoj@gmail.com
 * @version 1.0
 */
public class AplicacionFunciones {

    /**
     * Instancia de la clase parser de Json.
     */
    private final Json json;

    /**
     * URL del servicio web de actualizaciones.
     */
    private static final String ACCESO_URL_APLICACION = "http://dev.keyron.hol.es/Servicios/aplicacion.php";

    /**
     * Variable post para la accion de chequear version.
     */
    private static final String ACCION_CHEQUEAR = "chequear";

    /**
     * Variable post para la accion de contacto con soporte.
     */
    private static final String ACCION_CONTACTO = "contacto";

    /**
     * Constructor de la clase AplicacionFunciones.
     */
    public AplicacionFunciones() {
        json = new Json();
    }

    /**
     * Chequea si hay una versin mas reciente de la aplicacin.
     *
     * @return Cdigo de respuesta del web service.
     */
    public int chequearVersion() {
        String parametros;

        try {
            parametros = "accion=" + URLEncoder.encode(ACCION_CHEQUEAR, "UTF-8") + "&version="
                    + URLEncoder.encode(Configuracion.getInstancia().getVersion() + "", "UTF-8") + "&plataforma="
                    + URLEncoder.encode("windows", "UTF-8");
            JSONObject respuesta = json.getRespuestaAPI(ACCESO_URL_APLICACION, parametros);
            int key_error = respuesta.getInt("error");

            if (key_error == 0) {
                JSONObject update = respuesta.getJSONObject("actualizacion");
                Actualizacion actualizacion = new Actualizacion();
                actualizacion.setVersion(update.getInt("version"));
                actualizacion.setPlataforma(update.getString("plataforma"));
                actualizacion.setFecha(update.getString("fecha"));
                actualizacion.setLink(update.getString("enlace"));
                actualizacion.setDescripcion(update.getString("descripcion"));
                actualizacion.setTamano(update.getLong("tamano"));
                Optimizacion.getInstancia().setActualizacion(actualizacion);
            }
            return key_error;
        } catch (Exception e) {
            System.err.println("ERROR AplicacionFunciones:79 -> " + e.toString());
            Log.agregarError(e);
            return -1;
        }
    }

    /**
     * Envia el mensaje de soporte a la plataforma web para su procesamiento.
     *
     * @param empleado Empleado remitente.
     * @param asunto Asunto del mensaje.
     * @param mensaje Texto del mensaje
     * @return Cdigo de respuesta del web service.
     */
    public int contactoSoporte(Empleado empleado, String asunto, String mensaje) {

        String parametros;

        try {
            parametros = "accion=" + URLEncoder.encode(ACCION_CONTACTO, "UTF-8") + "&nombre="
                    + URLEncoder.encode(empleado.getNombre() + " " + empleado.getApellido(), "UTF-8") + "&correo="
                    + URLEncoder.encode(empleado.getCorreo(), "UTF-8") + "&asunto="
                    + URLEncoder.encode(asunto, "UTF-8") + "&mensaje=" + URLEncoder.encode(mensaje, "UTF-8");
            JSONObject respuesta = json.getRespuestaAPI(ACCESO_URL_APLICACION, parametros);
            int key_error = respuesta.getInt("error");
            return key_error;
        } catch (Exception e) {
            System.err.println("ERROR AplicacionFunciones:107 -> " + e.toString());
            Log.agregarError(e);
            return -1;
        }
    }

    /**
     * Verifica las actualizaciones del programa acorde a la configuracin
     * establecida.
     *
     * @return true si hay actualizacin disponible de acuerdo a la
     * configuracin, false en caso contrario.
     */
    public boolean verificarActualizacion() {
        if (Configuracion.getInstancia().isActualizar()) {
            return chequearVersion() == 0;
        } else {
            return false;
        }
    }
}