lunes, 24 de septiembre de 2012

Spring Roo creación rápida de proyectos

He estado mirando un poco de Spring Roo, un generador de proyectos java rápido y sencillo de usar. Con él se puede crear un proyecto con spring y MyFaces por ejemplo en pocos minutos, con toda la configuración necesaria.

Aquí dejo el link del tutorial que he mirado:
http://puesenmiordenadorfunciona.blogspot.com.es/2011/11/probando-el-plugin-eclipse-de-spring_30.html

Otro link inicial de uso:
http://www.dosideas.com/wiki/Spring_Roo

Plugin mouseFeed para aprende los shortcuts de Eclipse

 MouseFeed es un plugin para el IDE Eclipse que te va mostrando el shortcut de todas las acciones que se realizan con el ratón.
 Me parece un plugin muy útil para iniciarse en el aprendizaje del uso "ágil" de eclipse ya que muchas de las tareas repetitivas requieren, normalmente, hacer varias navegaciones.
 Lo normal es que la gente se busque una lista de los shortcuts más usados y se los aprenda de memoria, pero con este plugin realmente puedes aprender los shortcuts de las acciones que realizas habitualmente.

Url de instalación para Eclipse:
http://update.mousefeed.com

jueves, 13 de septiembre de 2012

Creación de un portlet básico para Liferay

Este tutorial va orientado a hacer una introducción básica de la creación de un portlet para Liferay totalmente independiente de otros proyectos.

El proyecto realizado de ejemplo se encuentra como fichero adjunto:  ejemplo.zip
Creación del proyecto en Eclipse

Crearemos un proyecto tipo "Maven Project":



Buscaremos los arquetipos de maven para liferay y seleccionaremos liferay-portlet-archetype

 Estructura del proyecto

Esta es la estructura mínima que debe tener un proyecto de un portlet para Liferay:



La organización será la siguiente:

    Clases java. Irán dentro del paquete src/main/java
    Resources. Si existieran resources deberían estar en src/main/resources
    XHTMLs. Irán dentro de src/main/webapp
    Fichero de contexto  y de configuración para Liferay. Irán dentro de src/main/webapp/WEB-INF

Configuración del proyecto en Eclipse

Hay varias cosas que comprobar después de generar el proyecto de eclipse.

La primera es "Deployment Assembly" donde deberíamos tener 3 source como en la imagen:




La siguiente cosa que debemos comprobar es "Java Build Path" donde debemos tener la librería de JRE de desarrollo que esté instalada en nuestro equipo y la Maven Dependencies:


En "Project Facets" debemos modificar varios checks :


Dynamic Web Module. Versión 2.5

Java. Version 6.0

JavaScript. Versión 1.0

JavaServer Faces. Versión 2.0

Todos los demás checks deben estar sin chequear.

Y por último, dentro de Project Facets - Java Server Faces debemos seleccionar el tipo "Disable Library Configuration":

Dependencias Maven

Dependencias maven necesarias para el proyecto del portlet:

    Spring mvc:    spring-webmvc-portlet    spring-beans    spring-web    spring-tx    jstl    portlet-api   
    Dependencias liferay:    portal-service    util-java    util-bridges   
    Dependencias portlets:    portlet-api   
     Dependencias JSF 2 en Liferay:    portletfaces-bridge   
    Dependencias JSF 2 y PrimeFaces:    primefaces    jsf-api    jsf-impl    jboss-el 
    Dependencias temas PrimeFaces -->    redmond

Se ha subido como ejemplo un pom.xml, un.classpath y un .project del ejemplo generado.
Configuración de contexto y de ficheros del portlet liferay

El fichero de contexto en principio será muy pequeño, debido a que utilizaremos anotaciones para definir los controladores.

Si miramos el applicationContext.xml veremos que solo declaramos la configuración para poder utilizar las anotaciones de spring.

Para definir un portlet de liferay hay que modificar los siguiente ficheros:

    portlet.xml. Declaramos el nombre del portlet de cara a Liferay y definimos la clase del portlet y los xhtml que utiliza.
    liferay-portlet.xml.  Se instancia el portlet que hemos creado en portlet.xml
    liferay-display.xml. Se define en qué categoría mostraremos nuestro portlet en el menú de portlets de Liferay
    faces-config.xml. Debe existir para evitar errores de Liferay pero no hace falta definir nada en este fichero.

Clase MiController.java

Esta clase será nuestro controlador. Tiene implementar la interfaz Serializable y debe tener las siguientes anotaciones:

@ManagedBean(name = "miController")

@SessionScoped

Asi definiremos que nuestra clase es un controlador que será llamado "miController" desde los xhtml.
Ficheros de vista .XHTML

Los ficheros con los que hemos realizado los ejemplos utilizan la etiqueta "ui:composition" y la forma de acceder a los atributos del controlador es bastante sencilla, por ejemplo:

Genera una caja de texto que usará el atributo nombre de miController.

Desarrollo con base de datos NOSQL Voldemort

Por si es de utilidad una pequeña herramienta que desarrollé en su momento para tener "utilidades" de uso cotidiano para la base de datos NOSQL Project Voldemort http://www.project-voldemort.com/voldemort/.

Utilidad
http://www.raulvillalbamedina.com/index.php/es/profesional/8-project-voldemort-util

Jquery Selector con JSF2

 Selectores para acceder con Jquery a objetos generados por jsf2:
http://blog.primefaces.org/?p=1867

Ejemplo de configuración de IDE Eclipse para trabajar con una aplicación J2EE

A continuación se muestra un ejemplo de instalación de eclipse y configuración de diferentes plugins útiles en el desarrollo

Software a instalar:

  • JDK 6

Esta es la versión java que utilizamos.

DOWNLOAD: http://www.oracle.com/technetwork/java/javase/downloads/jdk6-jsp-136632.html

Instalar e incluir como variable del sistema: JAVA_HOME=C:\Program Files\Java\jdk1.6.0_27

  • Maven 3

Versión de maven que utilizamos para todos los proyectos

DOWNLOAD: http://maven.apache.org/download.html

Descomprimir e incluir en el PATH del sistema el directorio de instalación: C:\apache-maven-3.0.3\bin

Incluir librerías en: C:\apache-maven-3.0.3\lib\ext

jsch-0.1.38.jar

plexus-interactivity-api-1.0-alpha-6.jar

wagon-ssh-1.0-beta-7.jar

wagon-ssh-common-1.0-beta-7.jar

Añadir como variable del sistema M2_HOME con la ruta al directorio de instalación de maven y añadir en el path la ruta al directorio bin del maven, tal y como se muestra en la imagen:


  • Eclipse IDE for Java EE Developers
Ide de desarrollo.

DOWNLOAD: http://www.eclipse.org/downloads/

Plugins a instalar


Maven Integration for Eclipse: http://marketplace.eclipse.org/content/maven-integration-eclipse

Subversive - SVN Team Provider: http://marketplace.eclipse.org/content/subversive-svn-team-provider  Versión 1.6.16 de SVN

Checkstyle Plug-in: http://marketplace.eclipse.org/content/checkstyle-plug

JAutodoc: http://marketplace.eclipse.org/content/jautodoc -- Window-Preferences-Java-JAutodoc. Deseleccionar la opción Add ToDo for auto-generated Javadoc

ECobertura: http://marketplace.eclipse.org/content/ecobertura

Properties Editor: http://marketplace.eclipse.org/content/properties-editor-0

    Configurar este plugin con la opcion lowercase

CodePro Analytix: http://marketplace.eclipse.org/content/codepro-analytix

    Instalar desde "Help>Install new software..." con la url http://dl.google.com/eclipse/inst/codepro/latest/3.7
    Url para futuras versiones https://developers.google.com/java-dev-tools/download-codepro?hl=es

Style/Formatter


En la configuración de eclipse modificar el formateador de codigo java dentro de Preferences/Java/Code
Poner todas las codificaciones de Eclipse en UTF-8:

    General>Workspace>Text File Encoding> Other, seleccionar UTF-8
    General>Web>CSS Files> Encoding, seleccionar ISO10646/Unicode(UTF-8)
    General>Web>HTML Files> Encoding, seleccionar ISO10646/Unicode(UTF-8)
    General>Web>JSP Files> Encoding, seleccionar ISO10646/Unicode(UTF-8)

Configuración de Save Actions, estos son configuraciones que añadimos para evitar tener que hacer tareas repetitivas cada vez que guardamos un fichero java:






Deployment Assembly


Configuración del template para el TODO.


Para poder identificar mejor los creadores y fechas de creación de los TODOs del codigo hemos añadido un template. Hay que crearlo en eclipse con los datos que vemos en la imagen.




Configuración de los Validation de eclipse. En Window-Preferences-Validation hay que desactivar toda la columna Build.

TortoiseSVN (misma versión de svn que el plugin Subversive para evitar problemas.) (opcional, puedes usar solamente la integración de eclipse)
Cliente de svn para windows.
Para Versión 1.6 SVN
DOWNLOAD: http://sourceforge.net/projects/tortoisesvn/files/

FileZilla

Programa de ftp necesario para subir y descargar ficheros a servidores

DOWNLOAD: http://filezilla-project.org/download.php?type=client

Instalar.

Putty

Cliente de consola para conectarse a servidores unix.

DOWNLOAD: http://www.chiark.greenend.org.uk/sgtatham/putty/download.html

Descomprimir.

SoapUi (opcional)

Aplicación para pruebas contra webServices

DOWNLOAD: http://sourceforge.net/projects/soapui/files/

Instalar. Si existen proyectos soapui ya generados importarlos.