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. Parte II- Avanzado
  2. Taller 16. crudejb

Services

RolServices.java

Observe el método isDelete() busca en la colección Usuario para verificar que no exista ninguno antes de eliminarlo. Jmoordb aun no tiene soporte para integridad mediante @Referenced.

Método complete() se usa para los autocomplete.

import com.avbravo.jmoordbarchetypeejb.entity.Rol;
import com.avbravo.jmoordbarchetypeejb.repository.RolRepository;
import com.avbravo.jmoordbarchetypeejb.repository.UsuarioRepository;
import com.avbravo.jmoordbutils.JsfUtil;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import javax.ejb.Stateless;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.inject.Inject;
import org.bson.Document;

/**
 *
 * @authoravbravo
 */
@Stateless
public class RolServices {

    @Inject
    RolRepository repository;
    
     @Inject
    UsuarioRepository usuarioRepository;
List<Rol> rolList = new ArrayList<>();
    public List<Rol> complete(String query) {
        List<Rol> suggestions = new ArrayList<>();
             try {
          suggestions=repository.complete(query);
        } catch (Exception e) {
            JsfUtil.errorMessage("complete() " + e.getLocalizedMessage());
        }

           return suggestions;
    }
    public List<Rol> completeFiltrado(String query) {
        List<Rol> suggestions = new ArrayList<>();
           try {
               query = query.trim();
               if (query.length() < 1) {
                   return suggestions;
               }   
               String field = (String) UIComponent.getCurrentComponent(FacesContext.getCurrentInstance()).getAttributes().get("field");               
               suggestions=  repository.findRegex(field,query,true,new Document(field,1));

           } catch (Exception e) {
                    JsfUtil.errorMessage("complete() " + e.getLocalizedMessage());
           }
           return suggestions;
    }

    
    // <editor-fold defaultstate="collapsed" desc="getRolList()">
    public List<Rol> getRolList() {
        try {
           rolList= repository.findAll(new Document("rol",1));
        } catch (Exception e) {
              JsfUtil.errorMessage("getRolList() " + e.getLocalizedMessage());
        }
        return rolList;
    }// </editor-fold>

    public void setRolList(List<Rol> rolList) {
        this.rolList = rolList;
    }
    
      // <editor-fold defaultstate="collapsed" desc="isDeleted(Rol rol)">
  
    public Boolean isDeleted(Rol rol){
        Boolean found=false;
        try {
            Document doc = new Document("rol.idrol",rol.getIdrol());
            Integer count = usuarioRepository.count(doc);
            if (count > 0){
                return false;
            }
            
        } catch (Exception e) {
             JsfUtil.errorMessage("isDeleted() " + e.getLocalizedMessage());
        }
        return true;
    }  // </editor-fold>
    
     // <editor-fold defaultstate="collapsed" desc="findById(String id)">

    public Rol findById(String id){
           Rol rol = new Rol();
        try {
         
            rol.setIdrol(id);
            Optional<Rol> optional = repository.findById(rol);
            if (optional.isPresent()) {
               return optional.get();
            } 
        } catch (Exception e) {
             JsfUtil.errorMessage("findById() " + e.getLocalizedMessage());
        }
      
      return rol;
    }
    // </editor-fold>
}

UsuarioServices.java

import com.avbravo.jmoordbarchetypeejb.entity.Usuario;
import com.avbravo.jmoordbarchetypeejb.repository.UsuarioRepository;
import com.avbravo.jmoordbutils.JsfUtil;

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import javax.ejb.Stateless;
import javax.inject.Inject;
import org.bson.Document;

/**
 *
 * @authoravbravo
 */
@Stateless
public class UsuarioServices {

    @Inject
    UsuarioRepository repository;
    
       
     List<Usuario> usuarioList = new ArrayList<>();
     public List<Usuario> complete(String query) {
        List<Usuario> suggestions = new ArrayList<>();
         try {
          suggestions=repository.complete(query);
        } catch (Exception e) {
            JsfUtil.errorMessage("complete() " + e.getLocalizedMessage());
        }

           return suggestions;
    }
      public List<Usuario> getUsuarioList() {
          try {
          usuarioList= repository.findAll(new Document("username",1));
        } catch (Exception e) {
              JsfUtil.errorMessage("getUsuarioList() " + e.getLocalizedMessage());
        }

        return usuarioList;
    }

    public void setUsuarioList(List<Usuario> usuarioList) {
        this.usuarioList = usuarioList;
    }
    
    
        // <editor-fold defaultstate="collapsed" desc="isDeleted(Usuario usuario)">
  
    public Boolean isDeleted(Usuario usuario){
        Boolean found=false;
        try {
//            Document doc = new Document("usuario.username",usuario.getUsername());
//            Integer count = solicitudRepository.count(doc);
//            if (count > 0){
//                return false;
//            }
            
        } catch (Exception e) {
             JsfUtil.errorMessage("isDeleted() " + e.getLocalizedMessage());
        }
        return true;
    }  // </editor-fold>
    
    // <editor-fold defaultstate="collapsed" desc="findById(String id)">

    public Usuario findById(String id){
           Usuario usuario = new Usuario();
        try {
         
            usuario.setUsername(id);
            Optional<Usuario> optional = repository.findById(usuario);
            if (optional.isPresent()) {
               return optional.get();
            } 
        } catch (Exception e) {
             JsfUtil.errorMessage("findById() " + e.getLocalizedMessage());
        }
      
      return usuario;
    }
    // </editor-fold>
}

PreviousRepositoryNextDatamodel

Last updated 5 years ago

Was this helpful?