Plantillas Primefaces JSF
  • Introduction
  • Proyecto JEE
    • Introduccion
    • POSEIDON
    • Descomprimir template
    • Proyecto JEE
    • Dependencias
    • Sources
    • Ejecutar proyecto
    • TEMPLATE RESPONSIVE
    • Plantilla Bootfaces
      • Introduction
      • Plantilla
        • Clonar Template
        • Proyecto EJB
        • Proyecto Web
        • template base
        • top
        • footer.xhtml
        • Properties
        • Roles
        • Util
        • template base
        • page
  • Capitulo II. Crear EJB
    • MongoDB
    • Proyecto EJB
    • Dependencias
    • Paquetes
    • Provider
    • Entity
    • Repository
    • Converter
    • Services
    • Datamodel
  • Capitulo III. Configuracion
    • Paquetes
    • Util
    • Properties
    • Template
    • Footer
    • Logo
    • Componentes
  • Capitulo IV. Login
    • Dependencias ejb
    • Roles
    • ApplicationMenu
    • RolAdministrador
    • ValidadorRoles
    • LoginController
    • Login.xhtml
  • Capitulo V. Menu
    • Menu
  • Capitulo VI Controller
    • Controller Simple
    • Implementar IController
    • Colapsar Codigo
    • Atributos
    • GetPages
    • Init
    • Reset
    • Prepare
    • ShowAll
    • IsNew
    • Save
    • Edit
    • Delete
    • Print
    • handleSelected
    • Paginacion
    • Codigo Completo
  • Capitulo VII Formularios
    • Carpetas
    • list.xhtml
    • new
    • view
  • Capitulo X Referenciados y Embebidos
    • Referenciados
  • Plantilla Bootfaces
    • Untitled
Powered by GitBook
On this page
  • Repository
  • AccessInfoRepository.java
  • AutoincrementableRepository.java
  • RevisionHistoryRepository.java
  • Crear los Repository de los entitys
  • BodegaRepository.java

Was this helpful?

  1. Capitulo II. Crear EJB

Repository

PreviousEntityNextConverter

Last updated 6 years ago

Was this helpful?

Repository

Crear los repository en el paquete ejb.

Cada entity debe contener un repository adicional es necesario definir:

  • AccessInfoRespository.java

  • AutoincrementableRespository.java

  • RevisionHistoryRespository.java.

Estos forman parte del framework, usados para guardar información de acceso y auditorias. Los entity que usa estan definidos en el framework.

El esquema general para los Facade.

  • extends AbstractRepository<Entity>

  • @EJB

      MongoClientProvider
  • Constructor con el super(clase, database,coleccion)

  • método getMongoClient()

  • implementar los metodos findById()

AccessInfoRepository.java

En el constructor indicamos la base de datos spard_history donde se almacenaran las colecciones.

import javax.ejb.Stateless;
import javax.ejb.EJB;
import com.avbravo.ejbjmoordb.mongodb.repository.Repository;
import com.avbravo.ejbjmoordb.pojos.AccessInfo;
import com.avbravo.ejbspard.provider.MongoClientProvider;

import com.mongodb.MongoClient;

/**
 *
 * @author avbravo
 */
@Stateless
public class AccessInfoRepository extends Repository<AccessInfo> {

    @EJB
    MongoClientProvider mongoClientProvider;
    @Override
    protected MongoClient getMongoClient() {
       return mongoClientProvider.getMongoClient();
    }
    public AccessInfoRepository(){
        super(AccessInfo.class,"spard_history","accessoinfo");
    }
    @Override
    public Object findById(String key, String value) {
       return search(key,value); 
    }
    @Override
    public Object findById(String key, Integer value) {
        return search(key,value);
    }

}

AutoincrementableRepository.java

import javax.ejb.Stateless;
import javax.ejb.EJB;
import com.avbravo.ejbjmoordb.mongodb.repository.Repository;
import com.avbravo.ejbjmoordb.pojos.Autoincrementable;
import com.avbravo.ejbspard.provider.MongoClientProvider;

import com.mongodb.MongoClient;

/**
 *
 * @author avbravo
 */
@Stateless
public class AutoincrementableRepository extends AbstractRepository<Autoincrementable> {

    @EJB
    MongoClientProvider mongoClientProvider;
    @Override
    protected MongoClient getMongoClient() {
       return mongoClientProvider.getMongoClient();
    }
    public AutoincrementableRepository(){
        super(Autoincrementable.class,"spardjsd","autoincrementable");
    }
    @Override
    public Object findById(String key, String value) {
       return search(key,value); 
    }
    @Override
    public Object findById(String key, Integer value) {
        return search(key,value);
    }

}

RevisionHistoryRepository.java

import com.avbravo.ejbjmoordb.mongodb.repository.Repository;
import com.avbravo.ejbjmoordb.pojos.RevisionHistory;
import com.avbravo.ejbspard.provider.MongoClientProvider;
import com.mongodb.MongoClient;
import javax.ejb.EJB;
import javax.ejb.Stateless;

/**
 *
 * @author avbravo
 */
@Stateless
public class RevisionHistoryRepository extends Repository<RevisionHistory> {
@EJB
MongoClientProvider mongoClientProvider;
    public RevisionHistoryRepository() {
        super(RevisionHistory.class, "spard_history","revisionhistory");
    }

    @Override
    protected MongoClient getMongoClient() {
      return mongoClientProvider.getMongoClient();
    }

    @Override
    public Object findById(String key, String value) {
        return search(key, value);
    }

    @Override
    public Object findById(String key, Integer value) {
        return  search(key, value);
    }

}

Crear los Repository de los entitys

En cada uno de ellos solo se debe colocar el entity correspondiente.

BodegaRepository.java

@Stateless
public class BodegaRepository extends AbstractRepository<Bodega> {

    @EJB
    MongoClientProvider mongoClientProvider;
    @Override
    protected MongoClient getMongoClient() {
       return mongoClientProvider.getMongoClient();
    }
    public BodegaRepository(){
        super(Bodega.class,"spard","bodega");
    }
    @Override
    public Object findById(String key, String value) {
       return search(key,value); 
    }
    @Override
    public Object findById(String key, Integer value) {
        return search(key,value);
    }

}