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?

Taller 5- Verificar si existe al guardar

Usaremos una búsqueda para determinar si existe o no ese documento en la colección

 Optional<Persona> optional = personaRepository.findById(persona);
            if (optional.isPresent()) {
                JsfUtil.warningMessage("Existe una persona con esa cedula");
                return null;
            }

Desabilitar la busqueda por @Id automáticamente, usamos repository.save(entity,false)

  if (personaRepository.save(persona,false)) {
                JsfUtil.successMessage("Guardado");
            } else {
                JsfUtil.errorDialog("no se guardo()", personaRepository.getException().toString());
            }

Segmento de código

public String save() {
        try {
            Optional<Persona> optional = personaRepository.findById(persona);
            if (optional.isPresent()) {
                JsfUtil.warningMessage("Existe una persona con esa cedula");
                return null;
            }
            if (personaRepository.save(persona, false)) {
                JsfUtil.successMessage("Guardado");
            } else {
                JsfUtil.errorDialog("no se guardo()", personaRepository.getException().toString());
            }
        } catch (Exception e) {
            JsfUtil.errorDialog("save()", e.getLocalizedMessage());
        }

        return "";
    }

}

PersonaController

/*
 * 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.mongodb.history.repository.RevisionHistoryRepository;
import com.avbravo.jmoordb.services.RevisionHistoryServices;
import com.avbravo.jmoordbutils.JsfUtil;
import com.avbravo.practicaejb.entity.Persona;
import com.avbravo.practicaejb.repository.PersonaRepository;
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;

/**
 *
 * @author avbravo
 */
@Named
@ViewScoped
public class PersonaController implements Serializable {
Persona persona = new Persona();
    @Inject
    PersonaRepository personaRepository;
  
    List<Persona> personaList = new ArrayList<>();

    public List<Persona> getPersonaList() {
//        return personaList;
        return personaRepository.findAll();
    }

    public void setPersonaList(List<Persona> personaList) {
        this.personaList = personaList;
    }

    public Persona getPersona() {
        return persona;
    }

    public void setPersona(Persona persona) {
        this.persona = persona;
    }

    @PostConstruct
    public void init() {
        
    }

    public String save() {
        try {
           
            Optional<Persona> optional = personaRepository.findById(persona);
 
            if (optional.isPresent()) {
                JsfUtil.warningMessage("Existe una persona con esa cedula");
                return null;
            }
            if (personaRepository.save(persona, false)) {
                JsfUtil.successMessage("Guardado");
              
                persona = new Persona();
            } else {
                JsfUtil.errorDialog("no se guardo()", personaRepository.getException().toString());
            }
        } catch (Exception e) {
            JsfUtil.errorDialog("save()", e.getLocalizedMessage());
        }

        return "";
    }

}

PreviousCommandLinkNextTaller 6-Bases datos en tiempo de ejecución e Historial de revisión

Last updated 6 years ago

Was this helpful?