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 12. UserInfo

Controller

PreviousTaller 12. UserInfoNextTaller 13. Converter/DataModel/Services

Last updated 6 years ago

Was this helpful?

En PersonaController.java

En el método save()

  persona=      personaRepository.addUserInfoForSaveMethod(persona, "myusername", "create");

En el método edit()

 persona = personaRepository.addUserInfoForEditMethod(persona, "myusarname", "update");

Ejecutar el proyecto

Creamos un documento y realizamos ediciones sobre el, si consultamos el documento podemos ver las acciones realizadas por los usuarios en el mismo.

PersonaController.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.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 {

    private static final long serialVersionUID = 1L;
    Persona persona = new Persona();
    @Inject
    PersonaRepository personaRepository;
    @Inject
    RevisionHistoryRepository repositoryRevisionHistory;
    @Inject
    RevisionHistoryServices revisionHistoryServices;
    
    


    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() {
        repositoryRevisionHistory.setDatabase("practica_history");
        if(JmoordbContext.get("action")!= null){
            String action = (String)JmoordbContext.get("action");
            if(action.equals("view")){
                persona = (Persona)JmoordbContext.get("persona");
            }
        }
   //Usuario jmoordb_user = (Usuario) JmoordbContext.get("jmoordb_user");
//       
//              JmoordbConnection  jmc = new JmoordbConnection.Builder()
//                    .withSecurity(false)                  
//                    .withDatabase("practica")
//                    .withHost("")
//                    .withPort(0)
//                    .withUsername("")
//                    .withPassword("")
//                    .build();
    }

    public String save() {
        try {
            persona.setCedula(persona.getCedula().toLowerCase());
            Optional<Persona> optional = personaRepository.findById(persona);

            if (optional.isPresent()) {
                JsfUtil.warningMessage("Existe una persona con esa cedula");
                return null;
            }
   persona=      personaRepository.addUserInfoForSaveMethod(persona, "myusername", "create");
            //  persona.setUserInfo(personaRepository.generateListUserinfo("myusername", "create"));
            if (personaRepository.save(persona, false)) {
                JsfUtil.successMessage("Guardado");
                repositoryRevisionHistory.save(revisionHistoryServices.getRevisionHistory(persona.getCedula(),
                        "myusername",
                        "create", "persona", personaRepository.toDocument(persona).toString()));
                persona = new Persona();

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

        return "";
    }

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

            if (personaRepository.delete("cedula", persona.getCedula())) {

                repositoryRevisionHistory.save(revisionHistoryServices.getRevisionHistory(persona.getCedula(),
                        "myusername",
                        "delete", "persona", personaRepository.toDocument(persona).toString()));
                JsfUtil.successMessage("Se elimino la persona");

                if (!deleteonviewpage) {
                    personaList.remove(persona);

                } else {
                    persona = new Persona();

                }

            }

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

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

    public String edit() {
        try {

            repositoryRevisionHistory.save(revisionHistoryServices.getRevisionHistory(persona.getCedula(),
                    "myusername",
                    "update", "persona", personaRepository.toDocument(persona).toString()));

 
            persona = personaRepository.addUserInfoForEditMethod(persona, "myusarname", "update");
            personaRepository.update(persona);
              JsfUtil.successMessage("Se actualizo el documento");
        } catch (Exception e) {
            JsfUtil.errorDialog("edit()", e.getLocalizedMessage());
        }
        return "";
    }// </editor-fold>
    
    public String prepare(Persona persona){
        try{
              JmoordbContext.put("persona", persona);
        JmoordbContext.put("action", "view");
       
        } catch (Exception e) {
            JsfUtil.errorDialog("edit()", e.getLocalizedMessage());
        }
        return "view";
      
    }
}