br.gov.to.secad.aede.view.UsuarioController.java Source code

Java tutorial

Introduction

Here is the source code for br.gov.to.secad.aede.view.UsuarioController.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 br.gov.to.secad.aede.view;

import br.gov.to.secad.ergon.domain.Servidor;
import br.gov.to.secad.aede.domain.Usuario;
import br.gov.to.secad.ergon.service.ServidorService;
import br.gov.to.secad.aede.service.UsuarioService;
import br.gov.to.secad.aede.util.JDialogoUtil;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import org.primefaces.context.RequestContext;
import org.apache.commons.lang3.StringUtils;
import org.primefaces.event.SelectEvent;
import org.primefaces.model.LazyDataModel;
import org.primefaces.model.SortOrder;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;

/**
 *
 * @author alex.santos
 */
@ManagedBean
@ViewScoped
public class UsuarioController implements Serializable {

    private String cpfServidor;
    private String emailServidor;

    private Usuario usuario;

    private Usuario UsuarioSelecionado;

    public Servidor servidor;
    /**
     * Atributo que instancia o servio de transaes com a classe Servidor
     */
    @ManagedProperty(value = "#{servidorService}")
    private ServidorService servidorService;

    @ManagedProperty(value = "#{usuarioService}")
    private UsuarioService usuarioService;

    /*
     list  uma instancia do DATAMODEL da dataTable
     */
    private transient LazyDataModel<Usuario> list;

    public void init() {

        this.list = new LazyDataModel<Usuario>() {
            @Override
            public List<Usuario> load(int first, int pageSize, String sortField, SortOrder sortOrder,
                    Map<String, Object> filters) {

                //Variavel de retorno
                List<Usuario> result;
                //Seta o tamanho da pagina
                this.setPageSize(pageSize);

                if (sortOrder == SortOrder.UNSORTED || StringUtils.isBlank(sortField)) {
                    //Atribui para o request em qual pagina vai e o tamanho da pagina                    
                    PageRequest request = new PageRequest(first / pageSize, pageSize);
                    //Faz a consulta no banco passando o request e o os filtros para o service
                    Page<Usuario> page;
                    page = usuarioService.findAllUsuario(request, filters.get("username"), filters.get("email"));
                    //Atribui a quantidade de registro total
                    this.setRowCount((int) page.getTotalElements());
                    // Pega a lista de registro que ir mostrar na pagina
                    result = page.getContent();
                } else {
                    /*
                     Faz a consulta se  decrescente ou cresente de acordo o fild que foi selecionado na Grid
                     */
                    Sort sort = new Sort(
                            sortOrder == SortOrder.ASCENDING ? Sort.Direction.ASC : Sort.Direction.DESC, sortField);

                    PageRequest request = new PageRequest(first / pageSize, pageSize, sort);
                    Page<Usuario> page = usuarioService.findAllUsuario(request, filters.get("username"),
                            filters.get("email"));
                    this.setRowCount((int) page.getTotalElements());
                    result = page.getContent();
                }
                // retorna a lista com os registro
                return result;
            }

            @Override
            public Object getRowKey(Usuario object) {
                return object.getId().toString();
            }

            @Override
            public Usuario getRowData(String rowKey) {
                return usuarioService.findOneUsuario(Integer.parseInt(rowKey));
            }
        };
    }

    public LazyDataModel<Usuario> getList() {
        return list;
    }

    public void setList(LazyDataModel<Usuario> list) {
        this.list = list;
    }

    public String getCpfServidor() {
        return cpfServidor;
    }

    public void setCpfServidor(String cpfServidor) {
        this.cpfServidor = cpfServidor;
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }

    public UsuarioService getUsuarioService() {
        return usuarioService;
    }

    public void setUsuarioService(UsuarioService usuarioService) {
        this.usuarioService = usuarioService;
    }

    public Usuario getUsuarioSelecionado() {
        return UsuarioSelecionado;
    }

    public void setUsuarioSelecionado(Usuario UsuarioSelecionado) {
        this.UsuarioSelecionado = UsuarioSelecionado;
    }

    public void abrirJDialogUsuario() {
        JDialogoUtil.abrirDialogo("usuarioJdialogView", "600", "100%", true, false, null);
    }
    /*
     Fechar o dialog e enviar por envente o objeto selecionado.
     */

    public String getEmailServidor() {
        return emailServidor;
    }

    public void setEmailServidor(String emailServidor) {
        this.emailServidor = emailServidor;
    }

    public void selecionardoUsuario(Usuario usuario) {
        RequestContext.getCurrentInstance().closeDialog(usuario);
    }

    public Servidor getServidor() {
        return servidor;
    }

    public void setServidor(Servidor servidor) {
        this.servidor = servidor;
    }

    public ServidorService getServidorService() {
        return servidorService;
    }

    public void setServidorService(ServidorService servidorService) {
        this.servidorService = servidorService;
    }
    /*
     Pega o evento do JDIALOG que foi selecionado e atribui para o concedente
     */

    public void usuarioJDialogSelecionado(SelectEvent event) {
        UsuarioSelecionado = (Usuario) event.getObject();
        this.servidor = servidorService.findByCpfInterno(UsuarioSelecionado.getCpf());

    }

    public void consultarServidor() {
    }

}