jakartaee
  • Introduction
  • JakartaEE
    • Especificaciones
    • Proyecto JakartaEE9
    • Template Material top
  • Payara Community Server
  • GlassFish Server
    • Instalar GlassFish
    • Actualizar Password
    • Agregar GlassFish A NetBeans
  • JPA
    • Desabilitar Cache
    • Paginacion MySQL
    • Contador @ManyToOne
    • Paginación OracleDB con Atributos simples
  • JmoordbFaces
  • Tools
    • Herramientas de desarrollo
  • NoSQL
    • MongoDB
    • Instalar
    • jMoordb
    • script backup
  • EJB
    • Dependencias
    • Esquema EJB
    • Entity
    • Repository
    • Converter
    • DataModel
    • Services
    • Rules para eliminar
  • EE
    • Dependencias
    • Dashboard
    • Template
    • Personalizar Template
    • Properties
  • list Esquema
    • Introduccion list
    • Simple con autocomplete <Rol> list
    • Maestro <Agente> list
    • Detalle (Maestro-Detalle)<Permiso> list
  • new Esquema
    • Introduccion
    • Simple con autocomplete <Rol>
    • Maestro <Agente>
    • Detalle (Maestro-Detalle)<Permiso>
  • view Esquema
    • Introduccion a view
    • Simple con autocomplete <Rol> view
    • Maestro <Agente> view
    • Detalle (Maestro-Detalle)<Permiso> view
  • Componentes
    • <a:calendar>
    • <a:calendar> con Formatos
    • <a:calendar> con eventos
    • <a:date>
    • <a:yesno>
    • <a:noyes>
    • inputtext
    • email
    • selectOneMenu
    • selectOneMenu>
    • <a:sexo>
  • Search
    • searchBy(String field)
    • Búsqueda entre Fechas
  • Controller
    • clear
    • constructor
    • definicion compuesta
    • delete
    • deleteall
    • edit
    • explicacion de metodos controller
    • field simple
    • getset
    • init
    • introduccion controller
    • isnew
    • prepare
    • print
    • printall
    • reset
    • save
    • showall
    • searchBy
    • move
    • handle
  • paginas
    • nodisponible.xhtml
  • ejemplos de controller
    • agentecontroller.java
    • diasfestivoscontroller.java
    • loginController.java
    • permisocontroller.java
    • rolcontroller.java
    • tamanocontroller.java
    • usuariocontroller.java
  • chapter1
    • bluetemplate
    • especificaciones
    • frameworks
    • templates
    • poseidon primefaces
  • bootfaces template
    • Bootfaces template
    • clonar
  • paginacion
    • last
    • move
    • next
    • first
    • skip(Integer page)
  • Eventos
    • Implementar eventos
  • Sugerencias
Powered by GitBook
On this page
  • Clase RolEvento.java
  • EN EL CONTROLLER
  • ColorListener.java
  • UsuarioListener.java

Was this helpful?

  1. Eventos

Implementar eventos

PreviousEventosNextSugerencias

Last updated 6 years ago

Was this helpful?

Donde se puede aplicar:

  • Por ejemplo cuando vendes un articulo deseas actualizar el inventario de ese articulo.

  • Generar una orden de entrega.

Implementar eventos

Deseamos activar eventos cuando ocurre determinada accion.

Por ejemplo si ocurre un evento de eliminar un rol podemos activar el metodo fire() y existen listener escuchando lo que esta ocurriendo con el evento.

Clase RolEvento.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.storeejb.eventos;

import com.avbravo.storeejb.entity.Rol;

/**
 *
 * @author avbravo
 */
public class RolEvento {

    private Rol rol;

    public Rol getRol() {
        return rol;
    }

    public void setRol(Rol rol) {
        this.rol = rol;
    }

    public RolEvento() {

    }

    public RolEvento(Rol rol) {
        this.rol = rol;

    }


}

EN EL CONTROLLER

RolController.java

  • definir una lista de Event<>

  • Invocar el metodo fire()

  @Inject
    Event<RolEvento> rolEventos;

Invocar el método fire()

 rolEventos.fire(new RolEvento(rol));
 @Override
    public String delete(Object item, Boolean deleteonviewpage) {
        String path = "";
        try {
            rol = (Rol) item;
            rolEventos.fire(new RolEvento(rol));

}catch(Exception ex){
}
}

ColorListener.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.storeejb.listener;

import com.avbravo.storeejb.eventos.RolEvento;
import com.avbravo.storeejb.producer.LookupStoreejbServices;
import com.avbravo.storeejb.rules.ColorRules;
import javax.ejb.Stateless;
import javax.enterprise.event.Observes;
import javax.inject.Inject;

/**
 *
 * @author avbravo
 */
@Stateless
public class ColorListener {
     @Inject
     ColorRules colorRules;

      public void escuchaDelete(@Observes RolEvento evento) {
           try {
                  System.out.println("---> escucho en color");
           // rolRules.isDeleted(evento.getRol());
          } catch (Exception e) {
              System.out.println("ColorListener() "+e.getLocalizedMessage());
          }
    }
}

UsuarioListener.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.storeejb.listener;

import com.avbravo.storeejb.eventos.RolEvento;
import com.avbravo.storeejb.rules.RolRules;
import javax.ejb.Stateless;
import javax.enterprise.event.Observes;
import javax.inject.Inject;

/**
 *
 * @author avbravo
 */
@Stateless
public class UsuarioListener {


    @Inject
    RolRules rolRules;

    public void escuchaDelete(@Observes RolEvento evento) {
        try {
            System.out.println("---> escucho en usuario ");
            System.out.println("----> se asigno en true");
            rolRules.isDeleted(evento.getRol());
            System.out.println("----> se elimino");
        } catch (Exception e) {
            System.out.println("UsuarioListener() " + e.getLocalizedMessage());
        }

    }
}