com.sisrni.managedbean.OpcionesAdmMB.java Source code

Java tutorial

Introduction

Here is the source code for com.sisrni.managedbean.OpcionesAdmMB.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.SsMenus;
import com.sisrni.model.SsOpciones;
import com.sisrni.model.SsRoles;
import com.sisrni.security.AppUserDetails;
import com.sisrni.service.SsOpcionesService;
import com.sisrni.service.SsRolesService;
import com.sisrni.utils.JsfUtil;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

import javax.inject.Named;
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 Joao
 */
@Named("opcionesAdmMB")
@Scope(WebApplicationContext.SCOPE_SESSION)
public class OpcionesAdmMB implements Serializable {

    @Autowired
    @Qualifier(value = "ssOpcionesService")
    private SsOpcionesService opcionesService;

    @Autowired
    @Qualifier(value = "ssRolesService")
    private SsRolesService ssRolesService;

    private boolean actualizar;
    private List<SsOpciones> listadoOpciones;

    private SsOpciones ssOpciones;
    private SsRoles roles;

    private List<SsRoles> selectedlistRoles;
    private String[] selectedArrayRoles;
    private List<SsRoles> listRoles;

    private Boolean visible;

    public OpcionesAdmMB() {
    }

    private CurrentUserSessionBean user;
    private AppUserDetails usuario;

    @PostConstruct
    public void init() {
        try {
            user = new CurrentUserSessionBean();
            usuario = user.getSessionUser();
            listadoOpciones = new ArrayList<SsOpciones>();
            ssOpciones = new SsOpciones();
            listRoles = ssRolesService.findAll();
            visible = Boolean.FALSE;
            setActualizar(false);
            getMenus();
        } catch (Exception e) {
        }
    }

    public void getMenus() {
        try {
            roles = new SsRoles();
            listadoOpciones = opcionesService.getListadoOpciones();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
        }
    }

    /**
     * *
     *
     * @param country
     * @throws Exception
     */
    public void preEditar(SsOpciones ssOpciones) throws Exception {
        try {
            int i = 0;
            this.ssOpciones = ssOpciones;
            selectedArrayRoles = new String[ssOpciones.getSsRolesList().size()];
            for (SsRoles mn : ssOpciones.getSsRolesList()) {
                selectedArrayRoles[i] = mn.getIdRol().toString();
                i++;
            }

            if (ssOpciones.getVisible().equalsIgnoreCase("S")) {
                visible = true;
            } else {
                visible = false;
            }

            RequestContext.getCurrentInstance().update("formAdmin");
            RequestContext.getCurrentInstance().update("formMenu");
        } catch (Exception e) {
            e.printStackTrace();
            throw new Exception("Error class MenusOpcionesMB - preEditar()\n" + e.getMessage(), e.getCause());
        } finally {

        }
    }

    public void preEliminar(SsOpciones ssOpciones) throws Exception {
        try {
            this.ssOpciones = ssOpciones;
            int i = 0;
            selectedArrayRoles = new String[ssOpciones.getSsRolesList().size()];
            for (SsRoles mn : ssOpciones.getSsRolesList()) {
                selectedArrayRoles[i] = mn.getIdRol().toString();
                i++;
            }
            if (ssOpciones.getVisible().equalsIgnoreCase("S")) {
                visible = true;
            } else {
                visible = false;
            }

        } catch (Exception e) {
            e.printStackTrace();
            throw new Exception("Error class opcinesAdmMB - preEliminar()\n" + e.getMessage(), e.getCause());
        } finally {

        }
    }

    public void editar() throws Exception {
        try {

            for (SsRoles mn : ssOpciones.getSsRolesList()) {
                int deleteMenuOpciones = opcionesService.deleteOpcionesRoles(ssOpciones.getIdOpcion(),
                        mn.getIdRol());
            }
            selectedlistRoles = new ArrayList<SsRoles>();
            for (String us : selectedArrayRoles) {
                roles = new SsRoles();
                roles = ssRolesService.findById(Integer.parseInt(us.toString()));
                selectedlistRoles.add(roles);
                opcionesService.gurdarRolesOpciones(Integer.parseInt(us.toString()), ssOpciones.getIdOpcion());

            }
            if (visible) {
                ssOpciones.setVisible(String.valueOf('S'));
            } else {
                ssOpciones.setVisible(String.valueOf('N'));
            }
            opcionesService.merge(ssOpciones);
            getMenus();
            RequestContext.getCurrentInstance().update("formAdmin");
            RequestContext.getCurrentInstance().update("formMenu");
        } catch (Exception e) {
            e.printStackTrace();
            throw new Exception("Error class opcinesAdmMB - Editar()\n" + e.getMessage(), e.getCause());
        } finally {
            this.ssOpciones = null;
            this.ssOpciones = new SsOpciones();
            setActualizar(false);
        }
    }

    public void preGuardar() {
        ssOpciones = new SsOpciones();
    }

    public void guardar() {
        try {
            ssOpciones.setFechaRegistro(new Date());
            ssOpciones.setUsuarioRegistro(usuario.getUsuario().getCodigoUsuario());
            ssOpciones.setSsRolesList(usuario.getUsuario().getSsRolesList());

            if (visible) {
                ssOpciones.setVisible(String.valueOf('S'));
            } else {
                ssOpciones.setVisible(String.valueOf('N'));
            }

            opcionesService.save(ssOpciones);

            selectedlistRoles = new ArrayList<SsRoles>();
            for (String us : selectedArrayRoles) {
                //roles = new SsRoles();
                //roles = ssRolesService.findById(Integer.parseInt(us.toString()));
                opcionesService.gurdarRolesOpciones(Integer.parseInt(us.toString()), ssOpciones.getIdOpcion());
                // selectedlistRoles.add(roles);
            }

            // ssOpciones.setSsRolesList(selectedlistRoles);

            getMenus();
            this.ssOpciones = null;
            this.ssOpciones = new SsOpciones();
            RequestContext.getCurrentInstance().update("formAdmin");
            RequestContext.getCurrentInstance().update("formMenu");
            JsfUtil.showFacesMsg(null, "Guardado Exitosamente", "growMessage", FacesMessage.SEVERITY_INFO);
        } catch (Exception e) {
            e.printStackTrace();
            JsfUtil.addErrorMessage(e, "Erro al Guardar--- CountryMB");
        } finally {

        }
    }

    public void cancelar() throws Exception {
        try {
            this.ssOpciones = null;
            setActualizar(false);
            RequestContext.getCurrentInstance().update(":formAdmin");
            RequestContext.getCurrentInstance().update(":formMenu");
        } catch (Exception e) {
            e.printStackTrace();
            throw new Exception("Error class MenusOpcionesMB - Editar()\n" + e.getMessage(), e.getCause());
        } finally {
            this.ssOpciones = new SsOpciones();
        }
    }

    /**
     *
     * @param ssMenus
     */
    public void addOpciones(SsMenus ssMenus) {
        try {
            FacesContext.getCurrentInstance().getExternalContext().redirect("menuOpcionesAdm.xhtml");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * *
     * metodo para eliminar menus que no esten amarrados opciones
     * @param 
     * @throws Exception
     */
    public void eliminar() throws Exception {
        try {
            for (SsRoles mn : ssOpciones.getSsRolesList()) {
                int deleteMenuOpciones = opcionesService.deleteOpcionesRoles(ssOpciones.getIdOpcion(),
                        mn.getIdRol());
            }
            opcionesService.delete(ssOpciones);
            getMenus();
            RequestContext.getCurrentInstance().update("formAdmin");
            RequestContext.getCurrentInstance().update("formMenu");
        } catch (Exception e) {
            e.printStackTrace();
            throw new Exception("Error class MenusOpcionesMB - preEditar()\n" + e.getMessage(), e.getCause());
        } finally {

        }
    }

    /**
     * @return the listadoMenus
     */
    public boolean isActualizar() {
        return actualizar;
    }

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

    public List<SsOpciones> getListadoOpciones() {
        return listadoOpciones;
    }

    public void setListadoOpciones(List<SsOpciones> listadoOpciones) {
        this.listadoOpciones = listadoOpciones;
    }

    public SsOpciones getSsOpciones() {
        return ssOpciones;
    }

    public void setSsOpciones(SsOpciones ssOpciones) {
        this.ssOpciones = ssOpciones;
    }

    public SsRoles getRoles() {
        return roles;
    }

    public void setRoles(SsRoles roles) {
        this.roles = roles;
    }

    public List<SsRoles> getSelectedlistRoles() {
        return selectedlistRoles;
    }

    public void setSelectedlistRoles(List<SsRoles> selectedlistRoles) {
        this.selectedlistRoles = selectedlistRoles;
    }

    public String[] getSelectedArrayRoles() {
        return selectedArrayRoles;
    }

    public void setSelectedArrayRoles(String[] selectedArrayRoles) {
        this.selectedArrayRoles = selectedArrayRoles;
    }

    public List<SsRoles> getListRoles() {
        return listRoles;
    }

    public void setListRoles(List<SsRoles> listRoles) {
        this.listRoles = listRoles;
    }

    public Boolean getVisible() {

        return visible;

    }

    public void setVisible(Boolean visible) {
        this.visible = visible;
    }

}