com.sisrni.managedbean.CategoriaMovilidadMB.java Source code

Java tutorial

Introduction

Here is the source code for com.sisrni.managedbean.CategoriaMovilidadMB.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 com.sisrni.managedbean;

import com.sisrni.model.CategoriaMovilidad;
import com.sisrni.service.CategoriaMovilidadService;
import com.sisrni.utils.JsfUtil;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.inject.Named;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.primefaces.context.RequestContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Scope;
import org.springframework.web.context.WebApplicationContext;

/**
 *
 * @author Luis
 */
@Named(value = "categoriaMovilidadMB")
@Scope(WebApplicationContext.SCOPE_SESSION)
public class CategoriaMovilidadMB {
    /*Para Errores*/

    private final static Log log = LogFactory.getLog(CategoriaMovilidadMB.class);

    /*Variables */
    private CategoriaMovilidad categoriaMovilidad;
    private List<CategoriaMovilidad> listCategoriaMovilidad;
    private boolean actualizar;

    @Autowired
    @Qualifier(value = "categoriaMovilidadService")
    private CategoriaMovilidadService categoriaMovilidadService;

    /*Constructor*/
    public CategoriaMovilidadMB() {

    }

    /*Post Constructor*/
    @PostConstruct
    public void init() {
        cargarCategoriaMovilidad();
    }

    /**
     * Metodo que crea instancias de 'CategoriaMovilidad' y 'Organismo' y
     * almacena en una Lista todas las instancias de 'Organismo' que se
     * encuentra en la tabla respectiva
     */
    public void cargarCategoriaMovilidad() {
        categoriaMovilidad = new CategoriaMovilidad();
        listCategoriaMovilidad = categoriaMovilidadService.getAllByIdDesc();
        actualizar = false;
    }

    /**
     * Metodo para guardar una instancia de 'CategoriaMovilidad' en la tabla
     * correspondiente de la base de datos
     */
    public void guardarCategoriaMovilidad() {
        String msg = "Categoria de Movilidad Almacenada Exitosamente!";
        try {
            categoriaMovilidad.setIdCategoriaMovilidad(Integer.MIN_VALUE);
            categoriaMovilidadService.save(categoriaMovilidad);
            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_INFO, "Guardada!!", msg));

        } catch (Exception e) {
            JsfUtil.addErrorMessage("Error al Guardar Categoria de Movilidad!");
            e.printStackTrace();
        }
        cargarCategoriaMovilidad();
    }

    /**
     * Metodo que se ocupa de precargar la instancia de 'CategoriaMovilidad' a
     * ser actualizada
     *
     * @param categoriaMovilidad
     */
    public void preActualizarCategoriaMovilidad(CategoriaMovilidad categoriaMovilidad) {
        try {
            actualizar = true;
            this.categoriaMovilidad = categoriaMovilidad;
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }

    /**
     * Metodo para actualizar las propiedades de la instancia de
     * 'CategoriaMovilidad' seleccionada
     */
    public void actualizarCategoriaMovilidad() {
        String msg = "Categoria de Movilidad Actualizada Exitosamente!";
        try {
            //actualizando la instancia
            categoriaMovilidadService.merge(categoriaMovilidad);
            actualizar = false;
            cancelarCategoriaMovilidad();
            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_INFO, "Actualizacion!!", msg));
        } catch (Exception e) {
            JsfUtil.addErrorMessage("Error al Actualizar Categoria de Movilidad");
            e.printStackTrace();
        }
        cargarCategoriaMovilidad();
    }

    /**
     * Metodo de Pre- borrado, que obtiene una instancia de la Entity a Borrar y
     * despliega un 'p:dialog' donde se solicita la confirmacion de la operacion
     * de borrado
     *
     * @param categoriaMovilidad
     */
    public void preBorradoCategoriaMovilidad(CategoriaMovilidad categoriaMovilidad) {
        //guardando en 'categoriaMovilidad' la instancia de 'CategoriaMovilidad' que se recibe como argumento
        this.categoriaMovilidad = categoriaMovilidad;
        RequestContext context = RequestContext.getCurrentInstance();
        //Desplegando el 'Dialog'
        context.execute("PF('confirmDeleteCategoriaMovilidadDlg').show();");
    }

    /**
     * Metodo que borra una instancia de 'CategoriaMovilidad' de la Base de
     * datos
     */
    public void borrarCategoriaMovilidad() {
        String msg = "Categoria de Movilidad Eliminada Exitosamente!";
        try {
            //Borrando la instancia de categoriaMovilidad
            categoriaMovilidadService.delete(categoriaMovilidad);
            cargarCategoriaMovilidad();
            RequestContext context = RequestContext.getCurrentInstance();
            context.execute("PF('confirmDeleteCategoriaMovilidadDlg').hide();");
            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_INFO, "Eliminada!!", msg));
        } catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_FATAL,
                    "ERROR!!",
                    "Error al Eliminar, verifique que no existan otros elementos vinculados a este registro de Categoria de Movilidad!"));
            e.printStackTrace();
        } finally {
            actualizar = false;
        }

    }

    /**
     * Metodo que se encarga de limpiar el formulario de creacion y
     * actualizacion de CategoriaMovilidad
     */
    public void cancelarCategoriaMovilidad() {
        String msg = "Categoria de Movilidad cancelado";
        try {
            categoriaMovilidad = null;
            categoriaMovilidad = new CategoriaMovilidad();
            RequestContext.getCurrentInstance().reset(":formCategoriaMovilidad");
            if (actualizar) {
                JsfUtil.addSuccessMessage(msg);
            }
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
        cargarCategoriaMovilidad();
    }

    public List<CategoriaMovilidad> listarCategoriasMovilidad() {
        //obteniendo la lista ascendente de categorias
        listCategoriaMovilidad = categoriaMovilidadService.getAllCategoriasByNameAsc();
        CategoriaMovilidad categoriaMovilidadNuevo = new CategoriaMovilidad();
        List<CategoriaMovilidad> listCategoriaMovilidadCopy = new ArrayList<CategoriaMovilidad>();
        for (CategoriaMovilidad cat : listCategoriaMovilidad) {
            if (!cat.getNombreCategoria().equalsIgnoreCase("Agregar Nuevo")) {
                //agregando item a la lista copia
                listCategoriaMovilidadCopy.add(cat);

            } else {
                categoriaMovilidadNuevo = cat;
            }
        }
        listCategoriaMovilidadCopy.add(categoriaMovilidadNuevo);
        listCategoriaMovilidad.clear();
        return listCategoriaMovilidad = listCategoriaMovilidadCopy;

    }

    /*Getters y Setters*/
    public CategoriaMovilidad getCategoriaMovilidad() {
        return categoriaMovilidad;
    }

    public void setCategoriaMovilidad(CategoriaMovilidad categoriaMovilidad) {
        this.categoriaMovilidad = categoriaMovilidad;
    }

    public List<CategoriaMovilidad> getListCategoriaMovilidad() {
        return listCategoriaMovilidad;
    }

    public void setListCategoriaMovilidad(List<CategoriaMovilidad> listCategoriaMovilidad) {
        this.listCategoriaMovilidad = listCategoriaMovilidad;
    }

    public boolean isActualizar() {
        return actualizar;
    }

    public void setActualizar(boolean actualizar) {
        this.actualizar = actualizar;
    }

}