Cambio de imagen en Anécdotas de las curvas del seno

Como es de notar ahora mi blog ha cambiado y mucho, pues ya tenia mucho de no darme a la tarea de embellecerlo un poco y es que tambien han habiado muchos cambios en mi vida, pues tambien tengo nueva computadora es una HP Pavilio dv2-1010la que ya tiene instalado el todo poderoso Debian y todos sus dispositivos funcionando a la perfección.

Mi nueva adquisición

Ahora espero tener un poco mas de actividad bloguera y contrubuir con mis post sobre Java a todos los amigos de la UES.

Saludos.

Comentarios (3)

JSF: Conectando tablas de FoxPro con Java y ICEfaces

En el trabajo ultimamente he estado arto de tener que estar creando aplicaciones en la cual se tiene que alimentar por medio de un archivo de Excel en las interfaces web y esto se debe que casi todo esta elaborado con tablas de fox, entonces me decidi a averiguar si hay alguna manera de pegarme a dichas tablas y a la vez tener los beneficios de JPA.

Googleando un poco me di cuenta que no existe un driver JDBC especifico para tablas de Fox Pro, entonces la solución es conectarse a través de ODBC, pues mucho me van a decir que utilizar ODBC es lento pero por el momento no he encontrado otra manera, y lo otro es que me amarra utilizar windows del lado del servidor de aplicaciones, intente usar unixODBC pero no existe driver para tablas Dbase así que por el momento estoy amarrado a windows utilizando esta conectividad.

Pues bien ahora voy a la parte que mas me gusta y es la de desarrollar un ejemplo, en el cual creare un proyecto Java Library Class con Netbeans en cual puede ser utilizado tanto en un proyecto web como en una aplicación de escritorio con Swing o alguna interfaz en Java que este en en escucha, o como putas les pegue la regalada gana usarlo siempre con Java.

Paso 0

Antes de empezar es necesario tener instalado el Driver de Microsoft Visual FoxPro que esta disponible en la siguiente dirección:

http://msdn.microsoft.com/en-us/vfoxpro/bb190233.aspx

Paso 1

Crear el origen de datos de las tablas, para este ejemplo yo creo que un archivo de base de datos de Fox con una tabla llamada "Persona", tambien funciona perfectamente con tablas libres.

Nos dirigimos a Panel de Control / Herramientas administrativas / Orígenes de datos (ODBC) estando alli en la ficha DSN de usuario damos clic en "Agregar" y nos aparecera el listado de Drivers a utilizar en nuestro caso seleccionaremos "Driver para o Microsoft Visual FoxPro" o cualquier otro similar que se llame Visual FoxPro que al fin y al cabo son iguales.


Luego de esto debemos elegir la ruta nuestro archivo de base de datos o la ruta del directorio donde tengamos nuestras tablas libres y asignamos nombre a nuestro Origen de datos en mi caso le llame "FoxPro"


Damos clic en "Ok" y tendremos listo nuestro origen de datos.

Paso 2

Dentro de Netbeans 6.7 es necesario crear una conexión de base de datos de tipo "JDBC-ODBC Bridge" en username y password se coloca un usuario y contraseña de windows y la cadena de URL JDBC se coloca el nombre del Origen de datos que en nuestro caso es "FoxPro".


Paso 3

Procedemos a crear un proyecto Java Class Library, que le nombrare "JavaFox", que contendra nuestro Entity Class de la tabla Persona. Para este caso en particular creare la unidad de persistencia a parte y la clase Entidad ya que el asistente de Netbeans no puede crearlo por nosotros ya que fox no sabe sobre esquemas y asi no funciona bien el asistente.

Cree mi paquete llamado "org.dani.ejemplo.fox" doy clic derecho sobre este me voy a "Nuevo" selecciono la categoría "Persistence" y selecciono "Unidad de persistencia", en la ventana de dialogo del asistente podemos como libreria de persistencia Hibernate o Toplink en mi caso siempre me gusta usar mas TopLink asi que elijo esta, también elijo la conexión de base de datos que creamos anteriormente y en la opción de Table Generation Strategy marcamos "none" y por ultimo damos clic en Finish.

Paso 4

Ahora procedemos a crear nuestra Entity Class de la tabla Persona, damos clic derecho sobre el paquete que habíamos creado seleccionamos de nuevo la categoría "Persistencia" pero ahora escogemos "Entity Class" y completamos la clase de esta manera:


Paso 5

Creamos un proyecto web Con ICEfaces y Facelets, yo lo llamare "WebFox", tambien debemos importar el proyecto anterior a este, ya sin perder ya tanto el tiempo nos diponemos a crear nuestro Managed Bean llamado "TemplateClient", el cual tendra la funcionalidad de listar, modificar y guardar registros de la tabla de FoxPro.

Paso 6

Ahora solo debemos editar la parte de la vista que es el templateclient.xhtml


Ya hecho todo lo anterior nada mas bastara con ejecutar nuestra aplicación


Comparto el proyecto para efectos del estudio.

Comentarios (4)

ICEfaces: Incluir dropdown List (combos) en tablas

El día de ayer el compañero Hugo me manifestaba su inquietud de como incluir un combo (SelectOneMenu) dentro de una tabla con ICEfaces a su vez que este combo tuviera seleccionado el elemento correspondiente a cada registro de tabla para posteriormente poder modificarlo.

Pues bien me parecio buena idea desarrollar la solución al problema planteado anteriormente, pues para el ejemplo que expondre a continuación se utilizaran las siguiente herramientas:
Antes de iniciar cabe aclara que siempre es fundamental utilizar Convertidores personalizados a la hora de utilizar SelectOneMenu y JavaBeans pues resuelven la vida muchisimo.

Paso Uno

Crear un proyecto de Persistencia de datos para la base de datos Sample en Derby que viene con Netbeans, pero lo principal es a clase "Dao" que es donde obtengo todos mis Entity Class:


Paso Dos

Crear nuestro proyecto Web utilizando los frameworks ICEfaces y Facelets, y crear nuestro Convertirdor para el objeto Manufacturer y posteriormente registrarlo en faces-config.xml

Registro del convertidor en faces-config.xml

Paso Tres

Ahora creamos nuestro Managed Bean que le llamaremos TemplateClient al igual que la página template-client.xhtml, nada mas para efectos de saber que corresponde a ese xhtml y será de tipo request.


Paso Cuatro

Nada mas debemos diseñar nuestro página xhtml que es la template-client.xhtml


Ahora solo debemos ejecutar la aplicación que se verá de la siguiente manera

Adjunto el proyecto para efectos de estudio.

Comentarios (1)opiniones, ¿cual es la tuya?

ICEfaces: Custom Converter

Ya hace un buen rato Hugol me preguntaba de como poder obtener un objeto seleccionado a través de un componente SelectOneMenu con ICEfaces, ya que siempre le tocaba obtener el valor del id y despues volver a reconstruir el objeto y esa tarea es super tediosa, entonces alli surge la necesidad de utilizar "Converter", ¿que es esto? el mecanismo es el de conversión y está definido por el interfaz javax.faces.convert.Converter y sus múltiples implementaciones. Las conversiones aseguran que el tipo de un dato introducido en un formulario JSF sea el correcto.

Como es de costumbre en este blog desarrollare un pequeño ejemplo de como crear un Custom Converter, para un conjunto de objetos de tipo Product generado a través de JPA con Netbeans 6.7 y Apache Derby en un SelectOneMenu (dropdown List).

Lo primero es crear una clase que implemente la interfaz javax.faces.convert.Converter y desarrollar los métodos getAsString y getAsObject. El primero convierte el valor de la cadena del item seleccionado al objeto que queremos obtener, el según convierte el objeto ya convertido en cadena para colocarlo en el value de la etiqueta Option que genera ICEfaces.

Mi clase ConvertidorProducto quedó así:



Creamos nuestro managed bean de tipo request en mi caso lo llame TemplateClient al igual que el xhtml de la siguiente manera:



Luego se debe registrar nuestro convertidor en faces-config.xml de nuestro proyecto quedando así:


Luego desarrollamos el archivo, en mi caso, template-client.xhtml de la siguiente manera


Y por ultimo deployamos el proyecto que se verá así:


Adjunto el proyecto para que pueda ser estudiado.

Comentarios (3)