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
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
calendar/time pattern
info recogida de: http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html
Letter | Date or Time Component | Presentation | Examples |
---|---|---|---|
G | Era designator | Text | AD |
y | Year | Year | 1996 ; 96 |
M | Month in year | Month | July ; Jul ; 07 |
w | Week in year | Number | 27 |
W | Week in month | Number | 2 |
D | Day in year | Number | 189 |
d | Day in month | Number | 10 |
F | Day of week in month | Number | 2 |
E | Day in week | Text | Tuesday ; Tue |
a | Am/pm marker | Text | PM |
H | Hour in day (0-23) | Number | 0 |
k | Hour in day (1-24) | Number | 24 |
K | Hour in am/pm (0-11) | Number | 0 |
h | Hour in am/pm (1-12) | Number | 12 |
m | Minute in hour | Number | 30 |
s | Second in minute | Number | 55 |
S | Millisecond | Number | 978 |
z | Time zone | General time zone | Pacific Standard Time ; PST ; GMT-08:00 |
Z | Time zone | RFC 822 time zone | -0800 |
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
java.net.BindException: Address already in use: JVM_Bind.
- Localizar el proceso que ocupa el puerto con el comando: netstat -a -n -o
- finalizar el proceso desde el administrador de porcesos/tareas
Suscribirse a:
Entradas (Atom)