jmoordbtaller
  • Introducción
  • Requisitos
  • Dependencias
  • Repositorios de proyectos
  • Arquitectura
  • Taller 0. Instalar Java
    • Configurar maven
  • Taller 1 MongoDB
  • Taller 2 CRUD MongoDB
    • Insertar documentos
    • Consulta de documentos
    • Documento embebido
    • Eliminar Documentos
    • Actualizar documentos
    • Agregaciones
    • Crear un indice
  • Taller 3 EJB
    • Crear el proyecto ejb
    • Dependencias
    • Entity
    • Repository
  • Taller 4 Java EE 8
    • dependencias
    • Controller
    • new.xhtml
    • index.hxmtl
    • Ampliar el método save()
    • ejecutar proyecto
    • datatable
    • CommandLink
  • Taller 5- Verificar si existe al guardar
  • Taller 6-Bases datos en tiempo de ejecución e Historial de revisión
  • Taller 7. Aplicar temas
  • Taller 8. Eliminar
  • Taller 9- Editar
  • Taller 10. Historial de revisiones
  • Taller 11.Conocer la llave primaria y el valor en tiempo de ejecucion
  • Taller 12. UserInfo
    • Controller
  • Taller 13. Converter/DataModel/Services
    • Services
    • Converter
    • DataModel
  • Taller 14.Autocomplete
    • Componente autocompletepersona
    • Agregar el componente al list.xhtml
  • Taller 15. Paginacion
    • Pais en Proyecto ejb
    • Pais en Proyecto Web
      • Formularios list.xhmtl, new.xhtml, view.xhtml
      • <e:autocompletepais/>
      • <e:paginator>
    • PaisController.java
      • Metodos
        • init()
        • save()
        • delete()
        • edit()
        • handleAutocompleteOfListXhtml()
        • showAll()
        • move(Integer page)
        • searchBy()
        • prepare
        • desplazarse en las paginas
          • printAll()
          • clear()
        • Codigo Completo
        • index.xhtml
  • Parte II- Avanzado
    • Taller 16. crudejb
      • Agregar dependencias
      • Entity
        • Rol.java
        • Usuario.java
      • Repository
      • Services
      • Datamodel
      • Converter
    • Mongodb
      • Insertar documentos en la colección MongoDB
    • Capitulo 17. Arquetipos
      • Crear el proyecto en base al arquetipo
    • Taller 18. Crear proyecto Web
      • Dependencias
      • web.xml
      • Java EE 8 Security
        • ApplicationConfig.java
        • CustomInMemoryIdentityStore.java
      • properties
      • template
        • footer.xhtml
        • template.xhtml
        • top.xhtml
      • resources
      • index.xhtml
      • login
        • login.xhtml
        • LoginController.java
        • Codigo completo
      • Controller
        • Validar duplicados en un autocomplete multiple
        • RolController.java
        • UsuarioController.java
      • <jmoordbjsf:autocomplete>
      • <jmoordbjsf:search>
      • <jmoordbjsf:paginator>
      • <jmoordbjsf:yesno>
      • <jmoordbjsf:toolbarsave>
      • <jmoordbjsf:toolbarview>
      • pages
        • Rol
          • new.xhtml
          • view.xhtml
        • Usuario
          • new.xhtml
          • view.xhtml
    • Ejecutar el proyecto
  • Parte III-Crear una aplicacion web en base al arquetipo
    • Crear el proyecto
    • Editar el proyecto
    • Editar LoginController
    • Editar los paquetes y clases
    • Indicar la conexion a base de datos
    • Ejecutar el proyecto
  • Parte IV. Reportes con jmoordbreport
    • SubReporte Referenciado de Usuario
  • Parte V. Backup/Restore con jmoordbbackup
  • Parte VII Email
Powered by GitBook
On this page

Was this helpful?

  1. Taller 15. Paginacion
  2. PaisController.java
  3. Metodos

Codigo Completo

PaisController.java

/*
 * 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.avbravo.practica.controller;

import com.avbravo.jmoordb.configuration.JmoordbContext;
import com.avbravo.jmoordb.mongodb.history.repository.RevisionHistoryRepository;
import com.avbravo.jmoordb.services.RevisionHistoryServices;
import com.avbravo.jmoordbutils.JsfUtil;
import com.avbravo.practicaejb.entity.Pais;
import com.avbravo.practicaejb.repository.PaisRepository;
import com.avbravo.practicaejb.services.PaisServices;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import javax.annotation.PostConstruct;
import javax.faces.view.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;
import lombok.Getter;
import lombok.Setter;
import org.bson.Document;
import org.primefaces.event.SelectEvent;

/**
 *
 * @author avbravo
 */
@Named
@ViewScoped
@Getter
@Setter
public class PaisController implements Serializable {

    private static final long serialVersionUID = 1L;
    Pais pais = new Pais();
    private Boolean writable = false;
    //--paginacion
    Integer page = 1;
    Integer rowPage = 25;
 
    List<Integer> pages = new ArrayList<>();

    Pais paisSelected = new Pais();
    Pais paisSearch = new Pais();

    @Inject
    PaisRepository paisRepository;
    @Inject
    RevisionHistoryRepository repositoryRevisionHistory;
    @Inject
    RevisionHistoryServices revisionHistoryServices;
    @Inject
    PaisServices paisServices;

    List<Pais> paisList = new ArrayList<>();

    public List<Integer> getPages() {

        return paisRepository.listOfPage(rowPage);
    }
    
    @PostConstruct
    public void init() {
        try {

            writable = true;
            repositoryRevisionHistory.setDatabase("practica_history");
            //obtener la pagina de la sesion
            String pageSession ="1";
            if(JmoordbContext.get("pagepais")== null ||JmoordbContext.get("pagepais").equals("") ){
                
            }else {
                System.out.println("GET()---> "+JmoordbContext.get("pagepais"));
                page = (Integer) JmoordbContext.get("pagepais");
            }
           

            Integer c = paisRepository.sizeOfPage(rowPage);
            page = page > c ? c : page;

            //El action del entity
            String action = "_init";
            if (JmoordbContext.get("pais") != null) {
                action = (String) JmoordbContext.get("pais");
            }
//validar el action
            if (action != null) {
                switch (action) {
                    case "gonew":
                        pais = new Pais();
                        paisSelected = pais;
                        writable = false;
                        break;
                    case "view":
                        if (JmoordbContext.get("_fieldsearchpais") != null) {
                            pais = (Pais) JmoordbContext.get("_fieldsearchpais");
                        }
                        break;
                    case "golist":
                        move(page);
                        break;
                    case "_init":
                        move(page);
                        break;
                }
            } else {
                move(page);
            }


        } catch (Exception e) {
            JsfUtil.errorDialog("init()", e.getLocalizedMessage());
            System.out.println("---->(Error): "+e.getLocalizedMessage());
        }
    }

    public String save() {
        try {
            pais.setIdpais(pais.getIdpais().toLowerCase());
            Optional<Pais> optional = paisRepository.findById(pais);

            if (optional.isPresent()) {
                JsfUtil.warningMessage("Existe una pais con esa idpais");
                return null;
            }
            pais = paisRepository.addUserInfoForSaveMethod(pais, "myusername", "create");
            //  pais.setUserInfo(paisRepository.generateListUserinfo("myusername", "create"));
            if (paisRepository.save(pais, false)) {
                JsfUtil.successMessage("Guardado");
                repositoryRevisionHistory.save(revisionHistoryServices.getRevisionHistory(pais.getIdpais(),
                        "myusername",
                        "create", "pais", paisRepository.toDocument(pais).toString()));
                pais = new Pais();

            } else {
                JsfUtil.errorDialog("no se guardo()", paisRepository.getException().toString());
            }
        } catch (Exception e) {
            JsfUtil.errorDialog("save()", e.getLocalizedMessage());
        }

        return "";
    }

    public String delete(Object item, Boolean deleteonviewpage) {
        String path = "";
        try {
            pais = (Pais) item;

            if (paisRepository.delete("idpais", pais.getIdpais())) {

                repositoryRevisionHistory.save(revisionHistoryServices.getRevisionHistory(pais.getIdpais(),
                        "myusername",
                        "delete", "pais", paisRepository.toDocument(pais).toString()));
                JsfUtil.successMessage("Se elimino la pais");
                writable = false;
                if (!deleteonviewpage) {
                    paisList.remove(pais);

                } else {
                    pais = new Pais();

                }

            }

        } catch (Exception e) {
            JsfUtil.errorDialog("delete()", e.getLocalizedMessage());
        }

        return "";
    }// </editor-fold>

    public String edit() {
        try {
            repositoryRevisionHistory.save(revisionHistoryServices.getRevisionHistory(pais.getIdpais(),
                    "myusername",
                    "update", "pais", paisRepository.toDocument(pais).toString()));

            pais = paisRepository.addUserInfoForEditMethod(pais, "myusername", "update");
            paisRepository.update(pais);
            JsfUtil.successMessage("Se actualizo el documento");
        } catch (Exception e) {
            JsfUtil.errorDialog("edit()", e.getLocalizedMessage());
        }
        return "";
    }// </editor-fold>

//    public String prepare(String action, Pais pais) {
//        try {
//            JmoordbContext.put("searchpais", pais);
//            JmoordbContext.put("searchpais", action);
//
//        } catch (Exception e) {
//            JsfUtil.errorDialog("edit()", e.getLocalizedMessage());
//        }
//        return "view";
//
//    }
    public void handleAutocompleteOfListXhtml(SelectEvent event) {
        try {
            paisList.removeAll(paisList);
            paisList.add(paisSearch);

            JmoordbContext.put("_fieldsearchpais", paisSearch.getIdpais());
            JmoordbContext.put("searchpais", "idpais");

        } catch (Exception e) {
            JsfUtil.errorDialog("handleAutocompleteOfListXhtml()", e.getLocalizedMessage());
        }
    }

    public String showAll() {
        paisList = paisRepository.findAll();
        return "";
    }

    public void move(Integer page) {
        try {
            String search = "_init";
            if (JmoordbContext.get("searchpais") != null) {
                search = (String) JmoordbContext.get("searchpais");
            }
            Document doc;
            switch (search) {
                case "_init":
                case "_autocomplete":
                    paisList = paisRepository.findPagination(page, rowPage);

                    break;

                case "idpais":
                    if (JmoordbContext.get("_fieldsearchpais") != null) {
                        String idpais = (String) JmoordbContext.get("_fieldsearchpais");
                        doc = new Document("idpais", idpais);
                        paisList = paisRepository.findPagination(doc, page, rowPage, new Document("idpais", -1));
                    } else {
                        paisList = paisRepository.findPagination(page, rowPage);
                    }

                    break;

                default:

                    paisList = paisRepository.findPagination(page, rowPage);
                    break;
            }

            //    paisDataModel = new PaisDataModel(paisList);
        } catch (Exception e) {
            JsfUtil.errorDialog("move()", e.getLocalizedMessage());
        }
    }

    public String searchBy(String field, Object value) {
        try {
            JmoordbContext.put("searchpais", field);
            JmoordbContext.put("_fieldsearchpais", value);
        } catch (Exception e) {
            JsfUtil.errorDialog("searchBy", e.getLocalizedMessage());
        }
        return "";
    }

    //invoca al formulario list
    public String prepareGoList() {
        JmoordbContext.put("pais", "golist");
        return "/pages/pais/list.xhtml";
    }

    //invoca el formulario new
    public String prepareGoNew() {
        JmoordbContext.put("pais", "gonew");
        return "/pages/pais/new.xhtml";
    }

    // se invoca en la misma pagina
    public String prepareNew() {
        try {
            pais = new Pais();
            paisSelected = new Pais();

            writable = false;

        } catch (Exception e) {
              JsfUtil.errorDialog("prepareNew() ", e.getLocalizedMessage());
        }
        return "";
    }

    public String prepareView(Pais item) {
        try {
            paisSelected = item;
            pais = paisSelected;
            JmoordbContext.put("pagepais",page);
            JmoordbContext.put("pais", "view");
            JmoordbContext.put("_fieldsearchpais", pais);

        } catch (Exception e) {
              JsfUtil.errorDialog("prepareView() ", e.getLocalizedMessage());
        }
        return "/pages/pais/view.xhtml";
    }

    public String next() {
        try {
            if (page < (paisRepository.sizeOfPage(rowPage))) {
                page++;
            }
            move(page);
        } catch (Exception e) {
              JsfUtil.errorDialog("next() ", e.getLocalizedMessage());
        }
        return "";
    }

    public String last() {
        try {
            page = paisRepository.sizeOfPage(rowPage);
            move(rowPage);
        } catch (Exception e) {
              JsfUtil.errorDialog("last()", e.getLocalizedMessage());
        }
        return "";
    }

    public String first() {
        try {
            page = 1;
            move(page);
        } catch (Exception e) {
              JsfUtil.errorDialog("first() ", e.getLocalizedMessage());
        }
        return "";
    }

    public String back() {
        try {
            if (page > 1) {
                page--;
            }
            move(page);
        } catch (Exception e) {
              JsfUtil.errorDialog("back()", e.getLocalizedMessage());
        }
        return "";
    }

    public String skip(Integer page) {
        try {
            this.page = page;
            move(page);
        } catch (Exception e) {
  JsfUtil.errorDialog("skip", e.getLocalizedMessage());
        }
        return "";
    }
    
    public String printAll(){
        return "";
    }
    
    public String clear() {
        try {
            JmoordbContext.put("searchpais","_init");
            
            page = 1;
            move(page);
        } catch (Exception e) {
            JsfUtil.errorDialog("clear()", e.getLocalizedMessage());
        }
        return "";
    }
}
Previousclear()Nextindex.xhtml

Last updated 5 years ago

Was this helpful?