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
Mostrando entradas con la etiqueta seam. Mostrar todas las entradas
Mostrando entradas con la etiqueta seam. Mostrar todas las entradas
lunes, 20 de abril de 2009
viernes, 17 de abril de 2009
Request-JSF-Seam
Problematica de recuperar parametros
Solucion casi igual a Servlets
@RequestParameter(value="nombreParametro")
Long id;
Solucion orientada a objetos aprovechando JSF e inyeccion de dependencias
Binding de HtmlDataTable y aprovechar el metodo datatable.getRowData() para obtener el objeto de la fila actual...
Solucion Seam .... @DataModel @DataModelSelection
Carrito compra-> inyeccion
Solucion casi igual a Servlets
@RequestParameter(value="nombreParametro")
Long id;
Solucion orientada a objetos aprovechando JSF e inyeccion de dependencias
Binding de HtmlDataTable y aprovechar el metodo datatable.getRowData() para obtener el objeto de la fila actual...
Solucion Seam .... @DataModel @DataModelSelection
Carrito compra-> inyeccion
miércoles, 15 de abril de 2009
Seam: JSF+EJB
Practica de componentes JSF a través de edición de Disco. Comenzamos solo editando nombre para después utilizar
gestión de Excepciones en Seam
i18n en Seam
Tests en Seam
Debugear una aplicación java
- componente calendario para editar la fecha del Disco
- componente selectOneMenu para editar el Cantante del Disco
- componente validador para validar que la fecha del Disco siempre sea anterior al día actual
- conversores
- binding e inyección de ejbs dentro de bindings
- listeners en JSF: ActionEvent y ValueChangeEvent
gestión de Excepciones en Seam
i18n en Seam
Tests en Seam
Debugear una aplicación java
lunes, 13 de abril de 2009
Suscribirse a:
Entradas (Atom)