automatizacionrp.obtenerParametros.java Source code

Java tutorial

Introduction

Here is the source code for automatizacionrp.obtenerParametros.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package automatizacionrp;

import static automatizacionrp.Automatizacionrp.log;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import java.util.StringTokenizer;
import ve.gob.mercal.app.services.Servicio;
import ve.gob.mercal.app.services.existeCampo;

/**
 *
 * @author phd2014
 */
public class obtenerParametros {
    private static Parametros param = new Parametros();
    private static String pdi = "";
    private static String cluster = "";
    private static String bd_pys = "";
    private static String tienda = "";
    private static String aux;
    private static String tipo;
    private static String id;
    private static boolean bandera = false;

    public static Parametros obtenerParametros() {
        log.info("Inicia proceso de obtencin de parmetros");
        try {
            pdi = Servicio.queryapp("SELECT  conf.json_config , pe.id_plan_ejecucion , "
                    + "jo.job FROM public.config as conf, public.plan_ejecuciones as pe , "
                    + "public.pasos_plan_ejecucion as ppe , public.jobs as jo WHERE conf.activo=true "
                    + "and elemento='pdi' and pe.id_job=jo.id_job and pe.id_plan_ejecucion=ppe.id_plan_ejecucion "
                    + "and ppe.status_plan='en espera' and ppe.activo=true and pe.timestamp_planificacion in "
                    + "(SELECT min(pe.timestamp_planificacion) FROM public.config as conf, "
                    + "public.plan_ejecuciones as pe , public.pasos_plan_ejecucion as ppe "
                    + "WHERE conf.activo=true and elemento='pdi'and pe.id_plan_ejecucion=ppe.id_plan_ejecucion "
                    + "and ppe.status_plan='en espera' and ppe.activo=true) and pe.timestamp_planificacion::timestamp <= now()::timestamp LIMIT 1;");

        } catch (Exception e) {
            // TODO Auto-generated catch block
            log.error("Excepcin obteniendo parmetros pdi 1 :");
            log.error(e);
            pdi = "";
        }
        if (pdi.length() <= 2) {
            log.info("No existe planificacion pendiente");
            return param;
        }
        aux = "";
        pdi = pdi.substring(1, pdi.length() - 1);
        JsonParser parser = new JsonParser();
        JsonElement elementObject;
        elementObject = parser.parse(pdi);
        tipo = elementObject.getAsJsonObject().get("job").getAsString();
        id = elementObject.getAsJsonObject().get("id_plan_ejecucion").getAsString();

        try {
            cluster = Servicio.queryapp("SELECT  conf.json_config , pe.id_plan_ejecucion , "
                    + "jo.job FROM public.config as conf, public.plan_ejecuciones as pe , "
                    + "public.pasos_plan_ejecucion as ppe , public.jobs as jo WHERE conf.activo=true "
                    + "and elemento='cluster' and pe.id_job=jo.id_job and pe.id_plan_ejecucion=ppe.id_plan_ejecucion "
                    + "and ppe.status_plan='en espera' and ppe.activo=true and pe.timestamp_planificacion in "
                    + "(SELECT min(pe.timestamp_planificacion) FROM public.config as conf, "
                    + "public.plan_ejecuciones as pe , public.pasos_plan_ejecucion as ppe "
                    + "WHERE conf.activo=true and elemento='cluster'and pe.id_plan_ejecucion=ppe.id_plan_ejecucion "
                    + "and ppe.status_plan='en espera' and ppe.activo=true) and pe.timestamp_planificacion::timestamp <= now()::timestamp limit 1;");

            bd_pys = Servicio.queryapp("SELECT  conf.json_config , pe.id_plan_ejecucion , jo.job "
                    + "FROM public.config as conf, public.plan_ejecuciones as pe , public.pasos_plan_ejecucion as ppe, "
                    + "public.jobs as jo WHERE conf.activo=true and elemento='bd_pys' and pe.id_job=jo.id_job "
                    + "and pe.id_plan_ejecucion=ppe.id_plan_ejecucion and ppe.status_plan='en espera' and ppe.activo=true "
                    + "and pe.timestamp_planificacion in (SELECT min(pe.timestamp_planificacion) FROM public.config as conf,"
                    + "public.plan_ejecuciones as pe , public.pasos_plan_ejecucion as ppe WHERE conf.activo=true "
                    + "and elemento='bd_pys'and pe.id_plan_ejecucion=ppe.id_plan_ejecucion and ppe.status_plan='en espera' and ppe.activo=true) "
                    + "and pe.timestamp_planificacion::timestamp <= now()::timestamp limit 1;");

            tienda = Servicio.queryapp(
                    "SELECT t.tienda,t.host_bd_oracle,t.usuario_bd_oracle,t.pass_usuario_bd_oracle,t.bd_oracle\n"
                            + "  FROM public.plan_ejecuciones as pe,public.tiendas as t\n"
                            + "  where pe.id_plan_ejecucion=" + id + " and pe.id_tienda=t.id_tienda;");

        } catch (Exception e) {
            log.error("Excepcin obteniendo parmetros cluster , bd_pys y tienda :");
            log.error(e);
            tienda = "";
            cluster = "";
            bd_pys = "";
        }
        bandera = true;

        if (pdi.length() > 2) {
            if (existeCampo.existeCampo(pdi, "valor")) {
                aux = elementObject.getAsJsonObject().get("valor").getAsString();
                param.setTransformaciones(aux);
            }
            if (existeCampo.existeCampo(pdi, "timestamp_inicio_ejec")) {
                aux = elementObject.getAsJsonObject().get("timestamp_inicio_ejec").getAsString();
                param.setTimestampIni(aux);
            }
            if (existeCampo.existeCampo(pdi, "timestamp_fin_ejec")) {
                aux = elementObject.getAsJsonObject().get("timestamp_fin_ejec").getAsString();
                param.setTimestampFin(aux);
            }
            if (existeCampo.existeCampo(pdi, "id_plan_ejecucion")) {
                aux = elementObject.getAsJsonObject().get("id_plan_ejecucion").getAsString();
                param.setIdplanEjec(aux);
            }
            pdi = elementObject.getAsJsonObject().get("json_config").getAsString();
            elementObject = parser.parse(pdi);
            if (existeCampo.existeCampo(pdi, "directorio_pdi")) {
                aux = elementObject.getAsJsonObject().get("directorio_pdi").getAsString();
                param.setDirPDI(aux);
            }
            if (existeCampo.existeCampo(pdi, "repositorio")) {
                aux = elementObject.getAsJsonObject().get("repositorio").getAsString();
                param.setRepositorio(aux);
            }
            if (existeCampo.existeCampo(pdi, "usuario_repositorio")) {
                aux = elementObject.getAsJsonObject().get("usuario_repositorio").getAsString();
                param.setUsuarioRepositorio(aux);
            }
            if (existeCampo.existeCampo(pdi, "password")) {
                aux = elementObject.getAsJsonObject().get("password").getAsString();
                param.setPassusuarioRepo(aux);
            }
            if (existeCampo.existeCampo(pdi, "directorio_logs")) {
                aux = elementObject.getAsJsonObject().get("directorio_logs").getAsString();
                param.setDirLogs(aux);
            }
            if (existeCampo.existeCampo(pdi, "nivel_logs")) {
                aux = elementObject.getAsJsonObject().get("nivel_logs").getAsString();
                param.setNivelLogs(aux);
            }
            param.setNombreJob(tipo);

            if (bandera) {
                if (existeCampo.existeCampo(pdi, "directorio_job_ci")) {
                    aux = elementObject.getAsJsonObject().get("directorio_job_ci").getAsString();
                    param.setDirEjecucion(aux);
                }
            } else {
                if (existeCampo.existeCampo(pdi, "directorio_job_m")) {
                    aux = elementObject.getAsJsonObject().get("directorio_job_m").getAsString();
                    param.setDirEjecucion(aux);
                }
            }

            param.setJobModo("CARGA");
        } else {
            log.warn("No se obtuvieron los valores del PDI");
        }
        if (cluster.length() > 2) {
            aux = "";
            cluster = cluster.substring(1, cluster.length() - 1);
            elementObject = parser.parse(cluster);
            cluster = elementObject.getAsJsonObject().get("json_config").getAsString();
            if (existeCampo.existeCampo(cluster, "nodos")) {
                elementObject = parser.parse(cluster);
                cluster = elementObject.getAsJsonObject().get("nodos").toString();
                cluster = cluster.substring(1, cluster.length() - 1);
                StringTokenizer st = new StringTokenizer(cluster, "}");
                cluster = st.nextToken() + "}";
                elementObject = parser.parse(cluster);
                if (existeCampo.existeCampo(cluster, "host")) {
                    aux = elementObject.getAsJsonObject().get("host").getAsString();
                    param.setHostbdCassandra(aux);
                }
                if (existeCampo.existeCampo(cluster, "columnFamily")) {
                    aux = elementObject.getAsJsonObject().get("columnFamily").getAsString();
                    param.setColumnFamily(aux);
                }
                if (existeCampo.existeCampo(cluster, "keyspace")) {
                    aux = elementObject.getAsJsonObject().get("keyspace").getAsString();
                    param.setKeyspace(aux);
                }
            }
        } else {
            log.warn("No se obtuvieron los valores del cluster");
        }
        if (bd_pys.length() > 2) {
            aux = "";
            bd_pys = bd_pys.substring(1, bd_pys.length() - 1);
            elementObject = parser.parse(bd_pys);
            bd_pys = elementObject.getAsJsonObject().get("json_config").getAsString();
            elementObject = parser.parse(bd_pys);
            if (existeCampo.existeCampo(bd_pys, "host")) {
                aux = elementObject.getAsJsonObject().get("host").getAsString();
                param.setHostbdApp(aux);
            }
            if (existeCampo.existeCampo(bd_pys, "bd")) {
                aux = elementObject.getAsJsonObject().get("bd").getAsString();
                param.setBdApp(aux);
            }
            if (existeCampo.existeCampo(bd_pys, "usuario")) {
                aux = elementObject.getAsJsonObject().get("usuario").getAsString();
                param.setUsuariobdApp(aux);
            }
            if (existeCampo.existeCampo(bd_pys, "password")) {
                aux = elementObject.getAsJsonObject().get("password").getAsString();
                param.setPassusuariobdApp(aux);
            }
        } else {
            log.warn("No se obtuvieron los valores de bd_pys");
        }
        if (tienda.length() > 2) {
            aux = "";
            tienda = tienda.substring(1, tienda.length() - 1);
            elementObject = parser.parse(tienda);

            if (existeCampo.existeCampo(tienda, "usuario_bd_oracle")) {
                aux = elementObject.getAsJsonObject().get("usuario_bd_oracle").getAsString();
                param.setUsuariobdOracle(aux);
            }
            if (existeCampo.existeCampo(tienda, "pass_usuario_bd_oracle")) {
                aux = elementObject.getAsJsonObject().get("pass_usuario_bd_oracle").getAsString();
                param.setPassusuariobdOracle(aux);
            }
            if (existeCampo.existeCampo(tienda, "host_bd_oracle")) {
                aux = elementObject.getAsJsonObject().get("host_bd_oracle").getAsString();
                param.setHostbdOracle(aux);
            }
            if (existeCampo.existeCampo(tienda, "bd_oracle")) {
                aux = elementObject.getAsJsonObject().get("bd_oracle").getAsString();
                param.setBdOracle(aux);
            }
        } else {
            log.warn("No se obtuvieron los valores de las tiendas");
        }
        param.setTipo(tipo);
        return param;
    }
}