jueves, 30 de diciembre de 2010

MANEJO API JEXCEL

El otro día me escribieron a mi email una consulta sobre manipulación de ficheros .xls desde Java y recomendé un API ya bastante antigua llamada POI de Jakarta, que era una que había utilizado hace varios años atrás, pero luego pensé y me dije si habrán creado alguna mejor forma para la manipulación de dichos ficheros Excel que son tan populares y me puse a buscar en la Internet la existencia de alguna API nueva y me encontré con una muy buena pero no tan nueva jejeje, llamada JExcel API .
Y justo me puse a entenderla y postear sobre ella. Esta API (http://jexcelapi.sourceforge.net) es una API Opensource para especializado en la manipulación (Read/Write) de ficheros .xls sobre ccualquier sistema operativo donde exista y funcione una máquina virtual Java (es decir, no sólo Windows) puede procesar y entregar las hojas de cálculo Excel. Debido a que es Java, la API se puede invocar desde dentro de un Servlet, dando así acceso a hojas de cálculo Excel a través de aplicaciones Web.

El ejemplo preparado es un proyectito simple de tipo desktop sobre Eclipse, donde ejecuto independientemente dos clases por separado.

- org.java.jexcel.read.test.ReadExcel.java
- org.java.jexcel.write.test.WriteExcel.java

I. ReadExcel.java: Permite la lectura de un archivo Excel que debe de ser ubicado en: C://JAVA_EXCEL.xls (Este archivo lo encuentras en el SourFolder Resources del proyecto adjunto) y su salida de lo leído en consola.


********************************************************************
*************************** FORMA MANUAL ***************************
********************************************************************

- CELDA #C2: NOMBRE
- COLUMNA #C2: 1
- FILA #C2: 1

- CELDA #C2: APELLIDO
- COLUMNA #C2: 2
- FILA #C2: 1

- CELDA #D2: DNI
- COLUMNA #D2: 3
- FILA #D2: 1

- CELDA #E2: EDAD
- COLUMNA #E2: 4
- FILA #E2: 1

********************************************************************
************************* FORMA AUTOMATICA *************************
********************************************************************
OBTENIENDO [LABEL]: A1
OBTENIENDO [LABEL]: A2
OBTENIENDO [LABEL]: A3
OBTENIENDO [LABEL]: A4
OBTENIENDO [LABEL]: A5
OBTENIENDO [LABEL]: B1
OBTENIENDO [LABEL]: NOMBRE
OBTENIENDO [LABEL]: Cesar Ricardo
OBTENIENDO [LABEL]: Catherine Magaly
OBTENIENDO [LABEL]: B5
OBTENIENDO [LABEL]: C1
OBTENIENDO [LABEL]: APELLIDO
OBTENIENDO [LABEL]: Guerra Arnaiz
OBTENIENDO [LABEL]: Cotrina Vasques
OBTENIENDO [LABEL]: C5
OBTENIENDO [LABEL]: D1
OBTENIENDO [LABEL]: DNI
OBTENIENDO [NUMBER]: 41816133
OBTENIENDO [NUMBER]: 48798678
OBTENIENDO [LABEL]: D5
OBTENIENDO [LABEL]: E1
OBTENIENDO [LABEL]: EDAD
OBTENIENDO [NUMBER]: 27
OBTENIENDO [NUMBER]: 25
OBTENIENDO [LABEL]: E5
OBTENIENDO [LABEL]: F1
OBTENIENDO [LABEL]: FECHA
OBTENIENDO [DATE]: 20 12 2010 12:00:00
OBTENIENDO [DATE]: 21 12 2010 12:00:00
OBTENIENDO [LABEL]: F5
OBTENIENDO [LABEL]: G1
OBTENIENDO [LABEL]: G2
OBTENIENDO [LABEL]: G3
OBTENIENDO [LABEL]: G4
OBTENIENDO [LABEL]: G5

II. ReadExcel.java: Permite la creación de un archivo .xls, llamado: C:\\JAVA_EXCEL_CREATED.xls, donde se está incrustando cabeceras de texto simple, link, imágenes, etc.

Para descargar el demo pulsar Aquí

viernes, 24 de diciembre de 2010

MANEJO SPRING JDBC

Que tal en esta oportunidad hablare sobre otra opción para el manejo de la persistencia que viene como aporte de SPRING , este es un módulo de SPRING que brinda conexión a múltiples motores de datos de una forma muy sencilla.

Spring JDBC simplifica el manejo del estándar JDBC, obviando partes importantes que comúnmente a un se le puede pasar como es la de abrir o cerrar sesiones y conexiones (DataSource) respectivas. Funciona para JDK 1.5 (+)

Desde Spring JDBC uno puede heredar de la clase JdbcDaoSupport y acceder a JdbcTemplate que brinda un soporte para un listado de métodos especializados (query, queryForObject, queryForList,etc) , así mismo uno puede manejar acceso a procedimientos almacenados mediante la clase SimpleJbcCall , entre varias otras funcionalidades.

El demo preparada esta bien detallada: Trabaja con Spring 3.0, Maven 2.2.1, Spring JDBC 2.5.6 (JdbcDaoSupport) y para la prueba respectiva hay un JUnit TestCase para un mantenimiento amarrado a: MySql 5.1 (Script en resources).

Para probarlo ejecutar la clase JUnit, descomentando previamente los procesos de cada mantenimiento: src/main/test/org/java/spring/test/TestSpringJDBC.java

Para descargar el demo pulsar Aquí

domingo, 19 de diciembre de 2010

MANEJO SPRING v3.0

Ahora que esta tan de moda el manejo del Framework SPRING mostrare un demo de su manejo, de una forma bien peculiar aplicada a la programación. Cabe recalcar que la idea base la cual me inspiro fue una muy similar que mostró en una exposición mi amigo Lennon Shimokawa de su demo TORTUGAS NINJA en su presentación sobre SpringCore.

El demo actual a mostrar, esta basado en la leyenda de la sobre la batalla MITOLOGICA de la TITANOMAQUIA que habla sobre batalla entre: "LOS DIOSES vs LOS TITANES". En aquella batalla los TITANES se revelan en contra de los OLIMPICOS conformados por los dioses que se reunían a debatir sus hazañas en el famoso monte OLIMPO.

DIOSES:
- ZEUS.
- POSEIDON.
- HELIOS/APOLO/ABEL
- HADES.

TITANES:
- CRONOS.
- REA.
- OCEANA.
- CRIO.

Programaticamente, se va a representar de forma dinámica la batalla mano a mano de c/u, mediante un JUnitTest:

org.java.spring.batalla.TestBatallaMitologica.java

Es importante decir que se utilizo MAVEN para la creación del proyecto JAVA y la IDE Spring Tools Suite v2.5.1 (STS) . Desde este LINK se puede verificar su manejo.

Finalmente, al ejecutar dicha clase se obtendrá una salida en consola similar a esta:

DATOS [DIOS]:
- NOMBRE: ZEUS
- ARMA: LANZA
- PODER: EL RAYO
- NIVEL: 100

DATOS [TITAN]:
- NOMBRE: OCEANA
- ARMA: NO TIENE
- PODER: SUPER FUERZA
- NIVEL: 80

INICIA LA BATALLA:
- EL DIOS: [ZEUS], UTILIZA SU PODER: [EL RAYO], CONTRA EL TITAN: [OCEANA]
- EL TITAN: [OCEANA], UTILIZA SU PODER: [SUPER FUERZA], CONTRA EL DIOS: [ZEUS]
- EL DIOS: [ZEUS], UTILIZA SU ARMA: [LANZA], CONTRA EL TITAN: [OCEANA]
- EL TITAN: [OCEANA], UTILIZA SU PODER: [SUPER FUERZA], CONTRA EL DIOS: [ZEUS]

FINAL:
- GANO EL DIOS: [ZEUS]

Para descargar el demo pulsar Aquí

MANEJO DE MAVEN DESDE (STS).

El tutorial mostrara una forma diferente de manejar MAVEN desde la IDE Spring Tools Suite v2.5.1 (STS), que es en realidad un ECLIPSE v3.6 con un mayor soporte de Plugins.

PASO #I:
Comenzaremos, configurando el MAVEN por defecto que viene con embebido en el Spring Source Tools Suite v2.5.1.

PASO #II:
Ingresamos en la barra de menú a:
Windows/preferences/maven/user preferentes, pulsamos el botón Browse y editamos el archivo:
settings.xml y mapeamos:

[localRepository>]C:\RepositorioMaven[/localRepository]

PASO #III:
Para un mejor control de nuestras librerías de JAVA, vamos a crear nuevo un Repositorio en la ruta:

C:\RepositorioMaven

Y lo registramos en la interfaz mostrada en el paso anterior.

PASO #IV:
Con la IDE ya configurada vamos a crear un nuevo proyecto MAVEN

File/new/other/Maven/Maven Project

PASO #V:
Ingresamos el WorkSpace donde será creado dicho proyecto MAVEN.

PASO #VI:
Filtramos por el archetype: que deseamos utilizar:

ARCHETYPE: maven-archetype-webapp.

PASO #VII:
Registramos datos importantes de lo que será el POM.xml, archivo de configuración del MAVEN.

- GOUPID: org.java.spring
- ARTIFACTID: PROYECT_DEMO_SPRING_XML
- VERSION: 1.0
- PACKAGE: org.java.spring.PROYECT_DEMO_SPRING_XML

PASO #VIII:
Al archivo de configuración POM.xml ingresamos las dependencias de las librerías (.JARs) Spring 3.0 que vamos a utilizar, para su descarga respectiva.

PASO #IX:
Limpiamos el previamente el proyecto MAVEN creado y luego ejecutamos el dicho proyecto, para la validación y descarga de sus dependencias registradas

PASO #X:
Verificamos la descarga de los .JARs realizada en MAVEN DEPENDENCIES dentro del menú izquierdo.

PASO #XI:
Registramos un PLUGIN en el POM.xml para el soporte de JAVA 1.6 al compilar.

PASO #XII:
Limpiamos el previamente y luego ejecutamos el Proyecto MAVEN creado, para la validación y descarga de sus dependencias registradas.

PASO #XIII:
Verificamos el proceso realizado.

PASO #XIV:
Agregamos el soporte de SPRING al proyecto.

PASO #XV:
Creamos los SourceFolder para TEST y para JAVA.

PASO #XVI:
Mapeamos la configuración realizada hasta el momento.

PASO #XVII:
Como se va a manejar Spring en el proyecto creado, creamos el archivo de configuración de Spring:

applicationContext.xml

PASO #XVIII:
Editamos el "applicationContext.xml" creado, y registramos los NameSpace y esquemas con los que Spring trabajara. Así mismo creamos un paquete donde comenzaremos a trabajar y mapeamos el acceso al archivo de configuración "application-entityBean.xml".

PASO #XIX:
Accedemos al archivo de configuración de BEANs de Spring "application-entityBean.xml", aquí se mapearan las entidades simples o anidadas de nuestra aplicación (Lo ingresado es simbólico).

Para un mayor detalle de lo explicado (CAPTURAS DE PANTALLA), descargar el Tutorial de MAVEN(STS) completo pulsar: Aquì