geosolutions.zoom.system.XMLConfiguration.java Source code

Java tutorial

Introduction

Here is the source code for geosolutions.zoom.system.XMLConfiguration.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 geosolutions.zoom.system;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.XMLOutputter;
import geosolutions.zoom.security.Cripto;
import geosolutions.zoom.system.ParametrosSystem;

/**
 *
 * @author Administrador
 */
public class XMLConfiguration {

    public boolean saveXmlParametrosSystem() {
        Cripto cripto = new Cripto();

        Element root = new Element("cronos");

        root.setAttribute("sistema", "Sistema Cronos");
        //nodos hijos mayores
        Element servidor = new Element("servidor");
        Element cliente = new Element("cliente");
        Element otroServidor = new Element("otro_servidor");
        Element otros = new Element("otros");
        Element path = new Element("path");

        //servidor
        Element itemDriver = new Element("driver");
        itemDriver.setText(ParametrosSystem.getDriverPostgres());
        servidor.addContent(itemDriver);

        Element itemUrl = new Element("url");
        itemUrl.setText(ParametrosSystem.getUrlPostgres());
        servidor.addContent(itemUrl);

        Element itemIpServidor = new Element("ip_servidor");
        itemIpServidor.setText(ParametrosSystem.getIpServidor());
        servidor.addContent(itemIpServidor);

        Element itemNombreDB = new Element("db");
        itemNombreDB.setText(ParametrosSystem.getBaseDatos());
        servidor.addContent(itemNombreDB);

        Element itemNombrePcServidor = new Element("nombre_servidor");
        itemNombrePcServidor.setText(ParametrosSystem.getNombrePcServidor());
        servidor.addContent(itemNombrePcServidor);

        Element itemPuerto = new Element("puerto");
        itemPuerto.setText(ParametrosSystem.getPuertoPostgres());
        servidor.addContent(itemPuerto);

        Element itemUsuario = new Element("usuario");
        itemUsuario.setText(ParametrosSystem.getUsuarioPostgres());
        servidor.addContent(itemUsuario);

        Element itemPassword = new Element("password");
        itemPassword.setText(cripto.Encriptar(ParametrosSystem.getPasswordPostgres(), 27));
        servidor.addContent(itemPassword);

        Element itemNickCronos = new Element("nick");
        itemNickCronos.setText(ParametrosSystem.getNickSistema());
        servidor.addContent(itemNickCronos);

        //cliente
        Element itemIpCliente = new Element("ip_cliente");
        itemIpCliente.setText(ParametrosSystem.getNombrePcCliente());
        cliente.addContent(itemIpCliente);

        Element itemNombrePcCliente = new Element("nombre_cliente");
        itemNombrePcCliente.setText(ParametrosSystem.getNombrePcCliente());
        cliente.addContent(itemNombrePcCliente);

        //otro servidor
        Element itemIpOtroServidor = new Element("otro_ip_servidor");
        itemIpOtroServidor.setText(ParametrosSystem.getOtroIpServidor());
        otroServidor.addContent(itemIpOtroServidor);

        Element itemOtroPuerto = new Element("otro_puerto");
        itemOtroPuerto.setText(ParametrosSystem.getOtroPuertoPostgres());
        otroServidor.addContent(itemOtroPuerto);

        Element itemOtroDB = new Element("otro_db");
        itemOtroDB.setText(ParametrosSystem.getOtroDB());
        otroServidor.addContent(itemOtroDB);

        //otros
        Element itemEsServidor = new Element("es_servidor");
        itemEsServidor.setText(ParametrosSystem.getEsServidor());
        otros.addContent(itemEsServidor);

        Element itemOcurrioInterrupcion = new Element("interrupcion");
        itemOcurrioInterrupcion.setText(ParametrosSystem.getInterrupcion());
        otros.addContent(itemOcurrioInterrupcion);

        Element itemHoraCierrePlanilla = new Element("hora_cierre_planilla");
        itemHoraCierrePlanilla.setText(ParametrosSystem.getHoraCierrePlanilla());
        otros.addContent(itemHoraCierrePlanilla);

        Element itemEsAuotorizadoCopia = new Element("es_autorizado_backup");
        itemEsAuotorizadoCopia.setText(ParametrosSystem.getEsAutorizado());
        otros.addContent(itemEsAuotorizadoCopia);

        //path
        Element itemPathReporte = new Element("path_reporte");
        itemPathReporte.setText(ParametrosSystem.getPathReport());
        path.addContent(itemPathReporte);

        Element itemPathPgDump = new Element("path_pg_dump");
        itemPathPgDump.setText(ParametrosSystem.getPathPgDumpPostgres());
        path.addContent(itemPathPgDump);

        Element itemPathBackup = new Element("path_backup");
        itemPathBackup.setText(ParametrosSystem.getPathBackup());
        path.addContent(itemPathBackup);

        //agregamos al root
        root.addContent(servidor);
        root.addContent(cliente);
        root.addContent(otroServidor);
        root.addContent(otros);
        root.addContent(path);

        // Realizamos lo mismo con los elementos restantes
        XMLOutputter outputter = new XMLOutputter();
        try {
            outputter.output(new Document(root), new FileOutputStream("cronos.xml"));
            return true;
        } catch (Exception e) {
            e.getMessage();
            return false;
        }
    }

    public boolean readXmlParametrosSystem(String path) {
        File file = new File(path + "/config.xml");
        SAXBuilder sAXBuilder = new SAXBuilder();
        if (file.exists()) {
            Cripto cripto = new Cripto();
            try {
                Document documento = sAXBuilder.build(file);
                Element root = documento.getRootElement();
                /**------------------servidor---------------------------*/
                Element nodoServidor = root.getChild("servidor");
                //hijos
                ParametrosSystem.setDriverPostgres(nodoServidor.getChild("driver").getText());
                ParametrosSystem.setUrlPostgres(nodoServidor.getChild("url").getText());
                ParametrosSystem.setIpServidor(nodoServidor.getChild("ip_servidor").getText());
                ParametrosSystem.setBaseDatos(nodoServidor.getChild("db").getText());
                ParametrosSystem.setNombrePcServidor(nodoServidor.getChild("nombre_servidor").getText());
                ParametrosSystem.setPuertoPostgres(nodoServidor.getChild("puerto").getText());
                ParametrosSystem.setUsuarioPostgres(nodoServidor.getChild("usuario").getText());
                ParametrosSystem.setPasswordPostgres(nodoServidor.getChild("password").getText());
                ParametrosSystem.setNickSistema(nodoServidor.getChild("nick").getText());

                /**------------------ciente---------------------------*/
                Element nodoCliente = root.getChild("cliente");
                //hijos
                ParametrosSystem.setIpCliente(nodoCliente.getChild("ip_cliente").getText());
                ParametrosSystem.setNombrePcCliente(nodoCliente.getChild("nombre_cliente").getText());

                /**------------------otro servidor---------------------------*/
                Element nodoOtrosServidor = root.getChild("otro_servidor");
                //hijos
                ParametrosSystem.setOtroIpServidor(nodoOtrosServidor.getChild("otro_ip_servidor").getText());
                ParametrosSystem.setOtroPuertoPostgres(nodoOtrosServidor.getChild("otro_puerto").getText());
                ParametrosSystem.setOtroDB(nodoOtrosServidor.getChild("otro_db").getText());

                /**------------------otros---------------------------*/
                Element nodoOtros = root.getChild("otros");
                //hijos
                ParametrosSystem.setEsServidor(nodoOtros.getChild("es_servidor").getText());
                ParametrosSystem.setInterrupcion(nodoOtros.getChild("interrupcion").getText());
                ParametrosSystem.setHoraCierrePlanilla(nodoOtros.getChild("hora_cierre_planilla").getText());
                ParametrosSystem.setEsAutorizado(nodoOtros.getChild("es_autorizado_backup").getText());
                /**------------------otros---------------------------*/
                Element nodoPath = root.getChild("path");
                //hijos
                ParametrosSystem.setPathReport(nodoPath.getChild("path_reporte").getText());
                ParametrosSystem.setPathPgDumpPostgres(nodoPath.getChild("path_pg_dump").getText());
                ParametrosSystem.setPathBackup(nodoPath.getChild("path_backup").getText());

                return true;
            } catch (JDOMException ex) {
                Logger.getLogger(XMLConfiguration.class.getName()).log(Level.SEVERE, null, ex);
                return false;
            } catch (IOException ex) {
                Logger.getLogger(XMLConfiguration.class.getName()).log(Level.SEVERE, null, ex);
                return false;
            }
        } else {
            return false;
        }
    }

    public boolean existeXml() {
        File file = new File("config.xml");
        if (file.exists()) {
            return true;
        } else {
            return false;
        }
    }
}