viernes, 12 de noviembre de 2010

[Oracle BPM Studio] Excepciones: UnsupportedClassVersionError al importar JARs


Al reinstalar el IDE de Oracle BPM Studio 10.3.1.0, un (proyecto) exportado (ya compilado y sin errores) al ser compilado, empezó a mostrar el siguiente error:
Descripción:
Error interno. Deberá notificarlo al servicio técnico de Oracle. Incluya la siguiente información.
Error: 'java.lang.UnsupportedClassVersionError: Bad version number in .class file'.
Nodo: 'Proyecto_Provisiones.ReportesGeneracionAsincronaRCD.Default_1_0.Instance. generarRptCredResumenModif(out sRutaArchivo : String)'.
Recurso: ReportesGeneracionAsincronaRCD.xpdl
Vía de Acceso: Proyecto_Provisiones/processes/Maestros
Ubicación: generarRptCreditoResumenModif

viernes, 29 de octubre de 2010

[Java] Excepciones: Unable to construct record instance



Sentí la necesidad de publicar ésta excepción porque no encontré ayuda de utilidad en internet, apenas en inglés, tampoco en español; inclusive, al buscar el error, los primeros links de los resultados sólo llevan a foros, donde otro usuario pide ayuda respecto al mismo problema, sin una respuesta puntual o certero.


Al trabajar reportes en Java con plantillas de archivos Excel (MS Office, Open Office, Libre Office, etc) ubicadas en memoria no volátil (entiéndase, un disco de almacenamiento); se corre el riesgo de que el archivo esté corrupto; o se corrompa en el proceso de creación.

El error -aparentemente sin sentido- que apareció fue:
ex.getMessage(): Unable to construct record instance.
(Mensaje: No se puede construir instancia de registro)

ex.getCause(): org.apache.poi.hssf.record.RecordFormatException: HSSF does not currently support encrypted workbooks.
(HSSF no es compatible con "libros" cifrados)

ex.getClass(): class org.apache.poi.hssf.record.RecordFormatException.
(Clase: RecordFormatException)
Y la línea de código que lanzó la excepción fue:
Workbook wb = new HSSFWorkbook(inp);
Como son reportes sobre plantillas de excel, ya se tiene un patrón de programación, librerías para interactuar con excel ya agregadas, y varía básicamente la agrupación, manipulación, lectura y muestra de los datos.

Y si bajo ese patrón que siempre ha funcionado, algo empieza a fallar, no es problema del código ni del JDK ni del IDE de Java ni del programador;  es problema externo. Ahora... cómo identificarlo?

viernes, 30 de julio de 2010

Juego de Damas en Prolog


Para días de junio, unos amigos de la UPN me mandaron a hacer un proyecto de su curso Lenguajes de programación...
Fue así como asumí el reto de realizar un proyecto de curso en 2 días.
El proyecto consistía en realizar un juego de Damas en prolog, particularmente swi-prolog.

Así que, sin más preludios, voy directo al grano:
Y como el post va a ser realmente extenso, voy a dedicarle varias entradas

Tuve que clasificar los predicados según su tarea... y así reduje a 4 clases:

1. Hechos:
  • fichaEsImg(numeroEnMatriz, idImagenEnMemoria).
2. Operaciones de Listas y Matrices:
  • extraerElementoLista(Lista, Posicion, Elemento).
  • extraerElementoMatriz(Lista, CoordX, CoordY, Elemento).
  • mostrarLista(Lista).
  • mostrarMatriz(Matriz).
  • cambiarElementoLista(Lista, Posicion, Elemento, NuevaLista).
  • cambiarElementoMatriz(Matriz, CoordX, CoordY, Elemento, NuevaMatriz).
  • esPar(Ficha).