Ir al contenido principal

Google Cloud Endpoints - Parte 5

En esta quinta entrega enseñaremos a crear la clase LogicPais y la clase GestionMantenimiento que posteriormente será utilizada para crear nuestro web service tipo REST.

Empezamos por la creación de LogicPais:



Aquí el código de LogicPais:

package com.indiant.logic;

import java.util.List;

import javax.jdo.PersistenceManager;

import com.indiant.beans.Pais;
import com.indiant.dao.DaoPais;
import com.indiant.shared.BeanParametro;

public class LogicPais {
private PersistenceManager pm;
   
    public LogicPais(PersistenceManager pm){
        this.pm=pm;
    }
   
    public boolean mantenimiento(BeanParametro parametro) throws Exception{
        DaoPais dao=new DaoPais(pm);
        return dao.mantenimiento(parametro);
    }
   
    public List<Pais> getListBean()throws Exception{
        DaoPais dao=new DaoPais(pm);
        return dao.getListBean();
    }
}

Luego de crear LogicPais crearemos la clase GestionMantenimiento, como se puede apreciar en la siguiente imagen.



En la clase de GestionMantenimiento abrimos la conexión, procesamos las operaciones DML haciendo uso de los logic para luego cerrar la conexión, es decir que esta capa está orientada al proceso que sea desea realizar. Las capas de bean, dao, logic son llamadas capas de entidad, ya que sus operaciones se orientan a las entidades, en cambio la capa de procesos se implementa la logica de los procesos de negocio.

Aqui dejamos la lineas para la creación de GestionMantenimiento:

package com.indiant.process;

import java.util.List;

import javax.jdo.PersistenceManager;
import javax.jdo.Transaction;

import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.KeyFactory;
import com.indiant.beans.Pais;
import com.indiant.dao.PMF;
import com.indiant.logic.LogicPais;
import com.indiant.shared.BeanParametro;

public class GestionMantenimiento {
   
    public static boolean insertarPais(Pais bean) throws Exception{      
        PersistenceManager pm=null;
        Transaction tx=null;
        try{
            pm=PMF.getPMF().getPersistenceManager();
            tx=pm.currentTransaction();
            tx.begin();
            LogicPais logic=new LogicPais(pm);
            BeanParametro beanParametro=new BeanParametro();
            Key keyPais=KeyFactory.createKey(Pais.class.getSimpleName(), bean.getIdPais());
            String idPais=KeyFactory.keyToString(keyPais);
            bean.setIdPais(idPais);
            beanParametro.setBean(bean);
            beanParametro.setTipoOperacion("I");
            logic.mantenimiento(beanParametro);
            tx.commit();
            pm.close();
            return true;  
        }catch(Exception ex){
            throw ex;
        }finally{
            if(!pm.isClosed()){
                if(tx.isActive()){
                    tx.rollback();
                }
                pm.close();
            }
        }
    }
   
    public static List<Pais> getListPais() throws Exception{
        PersistenceManager pm=null;
        try{
            pm=PMF.getPMF().getPersistenceManager();
            LogicPais logic=new LogicPais(pm);
            return logic.getListBean();
        }catch(Exception ex){
            throw ex;
        }finally{
            if(!pm.isClosed()){
                pm.close();
            }
        }
    }
}

Bueno hemos llegado al final del artículo, en la siguiente entrada crearemos nuestro webservice tipo rest haciendo uso de Google CloudEndpoints.

Escrito por:
Ronald Tejada

Comentarios

Entradas más populares de este blog

Emprendiendo en la Nube - Arquitectura y Patrón de Diseño

Arquitectura Java para Desarrollo con GAE y GWT Soñando con el trabajo ideal, el cual sería ganar dinero por investigar, pues es lo que me gusta y  divierte, decidí emprender con una startup Tecnológica que pretende hacer de los lugares desconocidos y preciosos en lugares conocidos y visitados. Para  desarrollar una startup que pretende tener repercusión mundial, se necesita ser ordenado desde un principio, la arquitectura de software y el marco de trabajo en el proyecto es tu primera valla a superar. No pretendo criticar el desarrollo ágil por la poca documentación que genera, pienso que deberíamos tomar sus técnicas enriquecedoras, por eso combino el desarrollo clásico con el desarrollo ágil. Ahora ustedes se preguntarán por qué hablo de desarrollo ágil y clásico, si el título dice “Arquitectura Java para Desarrollo con GAE y GWT”, pues tiene mucha relación, pues los desarrolladores estamos acostumbrados a tomar  frameworks y buenas prácticas de diseño y desarrollo para a

Extendiendo espacio de la partición raíz en linux en particiones estándar KVM - Debian 10

Ojo pestaña y ceja: Cuando realizas particiones estandar en Linux, la última partición que debes agregar es la raíz y esta debe ocupar los últimos sectores del disco. Esto porque cuando quieras extender la raíz(/) no te dará dolores de cabeza. Aquí un ejemplo en KVM /dev/vda1 swap 8G /dev/vda2 /boot 1G /dev/vda3 / 11G Extendiendo un disco virtual en qemu para KVM * Clonar KVM virt-clone --original vm_debian10_t2micro_ps --name vm_debian10_t2micro_servercapedwarf_one --file /opt/images/debian10_capedwarf_one-vm.qcow2 * Información de ubicación de disco virtual del kvm virsh domblklist vm_debian10_t2micro_servercapedwarf_one * Información de disco virtual virt-filesystems --long -h --all -a /opt/images/debian10_capedwarf_one-vm.qcow2 qemu-img info /opt/images/debian10_capedwarf_one-vm.qcow2  * Incrementar tamaño de disco virtual de 20G a 30G qemu-img resize /opt/images/debian10_capedwarf_one-vm.qcow2 +10G virsh blockresize vm_debian10_t2micro_servercapedwarf_one /opt/images/debian10_cape

INSTALACION DE ORACLE 12C EN CENTOS 7 PARTE 2-3 ARRANQUE AUTOMATICO ...