domingo, 20 de septiembre de 2009
Crear un proyecto Wicket
En el siguiente enlace tenemos una utilidad que nos genera el comando para crear un proyecto Wicket con Maven, sólo tendremos que indicar groupId y artifactId de un proyecto con Maven.
Crear un proyecto Tapestry 5 con Maven
1) Hay que ejecutar el siguiente comando:
mvn archetype:generate -DarchetypeCatalog=http://tapestry.formos.com/maven-repository
mvn archetype:generate -DarchetypeCatalog=http://tapestry.formos.com/maven-repository
Al ejecutar este comando en consola, nos pedirá los siguientes parámetros:
- groupId
- artifactId
- version
- package
Para preparar el proyecto para Eclipse nos introduciremos en la carpeta del proyecto y ejecutaremos el siguiente comando:
mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true
Ya sólo queda copiar la carpeta creada a nuestra carpeta de proyectos de Eclipse y crear un nuevo proyecto java en eclipse con el mismo nombre. Después de crearlo tendremos que habilitar Maven para el nuevo proyecto.
Para más información visitar el siguiente enlace.
martes, 5 de mayo de 2009
Modelo contextula de componentes en Seam
Jboss-Seam se apoya en este modelo para gestionar los componentes (clases) que forman parte de una aplicación seam. Dicho modelo se puede explicar de la siguiente manera:
Seam actúa como un contenedor dividido en distintos compartimentos, en cada compartimento se almacenan una serie de componentes. Cada compartimento constituye lo que seam denomina contexto. Un contexto define qué componentes podemos encontrar en él y durante cuánto tiempo. Para ser más precisos, seam gestiona nombres de variables de contexto. Una variable de contexto no es más que una referencia a la instancia de un componente de seam.
¿QUÉ COMPONENTES GESTIONA SEAM Y QUÉ SON?
Jboss-Seam puede gestionar los siguientes componentes:
CONTEXTOS EN SEAM
Los contextos están ordenados de menor a mayor duración:
STATELESS
En este contexto no se almacenan las variables. Los componentes en este contexto se instancian cada vez que se resuelve su nombre.
EVENT
Es análogo al scope request de un servlet. La variable existe desde el comienzo de la fase Restore View hasta el final de la fase Render Response del ciclo de vida de una petición en JSF o hasta que se produce una redirección.
PAGE
Comienza al pricipio de la fase Render Response y continua con cada postback JSF hasta que se produce una redirección o se navega a una página distinta.
Aclaración: postback es una acción en una página web en la que se envía una página entera y su contenido al servidor para su procesamiento y éste devulve la misma página (un formulario de logueo por ejemplo). No se debe confundir con actualizar la página.
CONVERSATION
La variable existe desde el final de la fase Restore View hasta el final de la fase Render Response, incluso se se produce una redirección. Si se convierte en una conversación larga (long-running conversation) abarca múltiples peticiones de un mismo usuario hasta que se termina. Las conversaciones se propagan mediante el uso de parámetros especiales de petición para peticiones que no sean postback y a través del árbol de componentes JSF en el caso de peticiones postback.
SESSION
Es análogo al scope session de los servlets. Los accesos a componentes en este contexto son serializados.
APPLICATION
Análogo al scope application de los servlets
BUSINESS PROCESS
Abarca multiples conversaciones de múltiples usuarios. Este contexto se controla de manera declarativa mediante estados de inicio y fin en el fichero de definición del proceso de negocio.
UNSPECIFIED
Es una directiva que indica que el contexto debería ser implícito. Depende de las circunstancias, se le dice a seam para cualquier uso del contexto del componente actual o para ejecutar una búsqueda a través de todos los contextos de manera jerárquica.
CONTEXTOS POR DEFECTO DE LOS COMPONENTES
- Seam es una factoría que crea objetos (instancias) según la definición del componente (clase).
- Después de la creación, cada objeto es almacenado en un contenedor bajo uno de los varios contextos existentes, con distintos tiempos de vida, creando el contexto (scope) de los objetos y capaz de mantener el estado de cada uno.
- Seam promueve la interacción de estos objetos con estado a través de contextos, ensamblándolos (bijección de dependencias) acorde a los metadatos asociados a sus respectivas clases.
Seam actúa como un contenedor dividido en distintos compartimentos, en cada compartimento se almacenan una serie de componentes. Cada compartimento constituye lo que seam denomina contexto. Un contexto define qué componentes podemos encontrar en él y durante cuánto tiempo. Para ser más precisos, seam gestiona nombres de variables de contexto. Una variable de contexto no es más que una referencia a la instancia de un componente de seam.
¿QUÉ COMPONENTES GESTIONA SEAM Y QUÉ SON?
Jboss-Seam puede gestionar los siguientes componentes:
- EJB Stateful Bession Beans
- EJB Stateless Session Beans
- EJB Message Driven Beans
- JPA Entity Beans
- POJO (Plain Old Java Object)
CONTEXTOS EN SEAM
Los contextos están ordenados de menor a mayor duración:
STATELESS
En este contexto no se almacenan las variables. Los componentes en este contexto se instancian cada vez que se resuelve su nombre.
EVENT
Es análogo al scope request de un servlet. La variable existe desde el comienzo de la fase Restore View hasta el final de la fase Render Response del ciclo de vida de una petición en JSF o hasta que se produce una redirección.
PAGE
Comienza al pricipio de la fase Render Response y continua con cada postback JSF hasta que se produce una redirección o se navega a una página distinta.
Aclaración: postback es una acción en una página web en la que se envía una página entera y su contenido al servidor para su procesamiento y éste devulve la misma página (un formulario de logueo por ejemplo). No se debe confundir con actualizar la página.
CONVERSATION
La variable existe desde el final de la fase Restore View hasta el final de la fase Render Response, incluso se se produce una redirección. Si se convierte en una conversación larga (long-running conversation) abarca múltiples peticiones de un mismo usuario hasta que se termina. Las conversaciones se propagan mediante el uso de parámetros especiales de petición para peticiones que no sean postback y a través del árbol de componentes JSF en el caso de peticiones postback.
SESSION
Es análogo al scope session de los servlets. Los accesos a componentes en este contexto son serializados.
APPLICATION
Análogo al scope application de los servlets
BUSINESS PROCESS
Abarca multiples conversaciones de múltiples usuarios. Este contexto se controla de manera declarativa mediante estados de inicio y fin en el fichero de definición del proceso de negocio.
UNSPECIFIED
Es una directiva que indica que el contexto debería ser implícito. Depende de las circunstancias, se le dice a seam para cualquier uso del contexto del componente actual o para ejecutar una búsqueda a través de todos los contextos de manera jerárquica.
CONTEXTOS POR DEFECTO DE LOS COMPONENTES
| COMPONENTE | CONTEXTO |
| EJB Stateful Session Bean | Conversation |
| EJB Stateless Session Bean | Stateless |
| EJB Message Driven Bean | Stateless |
| JPA Entity Bean | Conversation |
| POJO | Event |
miércoles, 15 de abril de 2009
Anotaciones para validar Beans en Seam
@Length(min=, max=) Comprueba que la longitud de una cadena se encuentra dentro de un rango
@Max(value=) Comprueba que un valor es menor o igual al indicado
@Min(value=) Comprueba que un valor es mayor o igual al indicado
@NotNull Comprueba que el valor no es nulo
@Past Comprueba que un objeto Date es anterior a la fecha actual
@Future Comprueba que un objeto Date es posterior a la fecha actual
@Pattern(regex=”regexp”, flag=) Comprueba que una cadena cumple el patrón indicado
@Range(min=, max=) Comprueba que un valor está entre el máximo y el mínimo indicado
@Size(min=, max=) En las colecciones, comprueba que el tamaño de la colección se encuentra entre los valores indicados
@AssertFalse Asume que el método devuelve false
@AssertTrue Asume que el método devuelve true
@Valid En coleccuiones o mapas comprueba que todos sus valores son válidos
@Email Comprueba que una cadena cumple con el formato de un e-mail
@Max(value=) Comprueba que un valor es menor o igual al indicado
@Min(value=) Comprueba que un valor es mayor o igual al indicado
@NotNull Comprueba que el valor no es nulo
@Past Comprueba que un objeto Date es anterior a la fecha actual
@Future Comprueba que un objeto Date es posterior a la fecha actual
@Pattern(regex=”regexp”, flag=) Comprueba que una cadena cumple el patrón indicado
@Range(min=, max=) Comprueba que un valor está entre el máximo y el mínimo indicado
@Size(min=, max=) En las colecciones, comprueba que el tamaño de la colección se encuentra entre los valores indicados
@AssertFalse Asume que el método devuelve false
@AssertTrue Asume que el método devuelve true
@Valid En coleccuiones o mapas comprueba que todos sus valores son válidos
@Email Comprueba que una cadena cumple con el formato de un e-mail
martes, 14 de abril de 2009
Cambiar puertos en Jboss 5
Para cambiar los distintos puertos que usa jboss 5 por defecto accedemos al fichero:
/jboss-5.x../server/default/conf/bootstrap/bindings.xml
En dicho fichero se pueden cambiar los puertos.
/jboss-5.x../server/default/conf/bootstrap/bindings.xml
En dicho fichero se pueden cambiar los puertos.
Suscribirse a:
Entradas (Atom)