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

Seam: CarritoCompra

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

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

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
  • 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
Componente CarritoCompra (Mantener en session información de usuario y detallarla)


gestión de Excepciones en Seam

i18n en Seam

Tests en Seam



Debugear una aplicación java

lunes, 13 de abril de 2009

SeamFramework=EJB3+JSF(Richfaces)

Richfaces es una implementacion de jsf

gettingstartedwithjbosstools