package org.domain.seamcea2.session;
import javax.persistence.EntityManager;
import org.jboss.seam.Component;
import org.jboss.seam.annotations.intercept.AroundInvoke;
import org.jboss.seam.intercept.InvocationContext;
import org.jboss.seam.security.Identity;
import org.jboss.seam.security.NotLoggedInException;
public class Espia {
@AroundInvoke
public Object meDaIgual(InvocationContext llamadaMetodo)
throws Exception {
String nombreMetodoInvocado = llamadaMetodo.getMethod().getName();
Object[] parameters = llamadaMetodo.getParameters();
Object resultadoAccion = llamadaMetodo.proceed();
ListaDiscoBean listaDiscoBean =
(ListaDiscoBean) llamadaMetodo.getTarget();
Disco discoSelccionado=listaDiscoBean.discoSelccionado;
if(nombreMetodoInvocado.equals("incluye")){
EntityManager entityManager = (EntityManager) Component
.getInstance("entityManager");
Estadistica stadistica=new Estadistica();
stadistica.setDisco(discoSelccionado);
entityManager.persist(stadistica);
}
return resultadoAccion;
}
}
package org.domain.seamcea2.session;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.jboss.seam.annotations.intercept.Interceptors;
import sun.reflect.annotation.AnnotationType;
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Interceptors(Espia.class)
public @interface EspiaAnotacion {
}
Aplicar la inyección de dependencias al carrito de la compra
Convertir un Entity en un Bean accesible por su nombre (desde la vista y desde otros beans) de la aplicación
(Pagina 152 tutorial de seam)Interceptar el carrito para implementar estadisticas y seguridad de forma transparente
Generar consultas JPQL para saber los detalles de las entidades relacionadas con disco y estadistica
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario