miércoles, 30 de diciembre de 2009

Habemus Telecompring

Pues ahora si que parece que esto se acaba.

Finalmente conseguí resolver el problema del refresco del navegador. Inicialmente creí que se producía por una cuestión de tiempos, ya que al depurar el programa paso a paso si que refrescaba, así que me pasé días probando diferentes tiempos de espera, incluso con Timers y la cosa no avanzaba. Incluso cambié las opciones del comando proactivo para ver si así se solucionaba..

Por fin caí: ¿Y no será que lo que devuelve está en caché? BINGO.

Cada vez que mando el comando LAUNCH_BROWSER, le indico como url /ShopServlet?P=D. Por lo visto, si hago esto mismo pero en código html, {a link="/ShopServlet?P=D"} , si que había refresco, pero cuando se trata de comandos proactivos parece que devuelve de caché.

La solución ha sido crear un byte que se incremente cada vez que necesito mandar este comando para añadirselo al final de la petición y así interpretar que son dos peticiones distintas. Es decir:

Petición número 1: /ShopServlet?P=D1
Petición número 2: /ShopServlet?P=D2
.
.
.

Y así...

Cuando llega al caracter 127 se resetea y vuelve al 1. Y la pregunta es, ¿Si vuelvo a hacer la petición número 1 pasados días, devolverá de caché? Espero que no, sino tendré que seguir metiendo bytes de cola hasta un número razonable de ejecuciones...

Un ligero cambio en el servlet ha sido completar la información de número de tarjeta a ceros si el cliente decide no guardarla.

Recepción

En esta parte ha habido bastantes cambios y mejoras. Con respecto a la interfaz swing, al final he añadido de nuevo la funcionalidad 'editar producto' pues vi que no iba a ser muy complicado.


Lleva bastante control de errores ya que hay que hacer operaciones matemáticas (Se controla que lo que se mete es un número y un número válido)

También hay control sobre la tabla: No permite determinadas opciones si no has seleccionado una fila de la tabla, y qué fila, ya que la penúltima es de relleno y la última se utiliza para ver el total de la compra



Por último, la funcionalidad 'guardar pedido' crea un fichero de extensión xls de mismo nombre que el fichero xml con el que se cargaron los datos pero ubicado en ../orders

En él se guarda la información que vemos en la tabla swing: Datos personales y lista de la compra. Supuestamente, si se guardan líneas separadas por comas en el fichero, un programa de procesamiento como excel debería interpretar que cada cadena entre comas va en una celda diferente. De momento no he podido visualizarlo en condiciones en excel. Así que he recurrido a descargar OpenOffice.. :)

Y el resultado es este: Si se ha guardado correctamente el pedido se abrirá OpenOffice mostrandolo.


Los sombreados de las tablas son manuales. Habrá manera de que sea automático? Usando plantillas o algo así?

1 comentarios:

Isra C. dijo...

¿Cuando presenta usted?
mi Vloj mola más.

Publicar un comentario