[Gvsig_desarrolladores] Problema de refresco en ProjectTable (BuggvSig??)

Juan Lucas Dominguez Rubio jldominguez en prodevelop.es
Jue Jul 1 15:02:03 CEST 2010


Hola, Juanjo. Gracias por hacer esas pruebas. Hasta donde yo sé, la situación es la siguiente:
 
- Efectivamente, al cargar una tabla solo alfanumérica de Oracle se utiliza un driver distinto al que se usa para cargar una tabla de Oracle Spatial/Locator (esta da lugar a una capa vectorial)
 
- El acceso a tablas solo alfanuméricas de Oracle no funciona bien. Solo algunas veces llegas a ver los datos.
 
- Tanto en un caso como en otro, como has podido comprobar, se realizan consultas a la BD cada vez que se necesita un dato (alfanumérico o geométrico) ya que se da por hecho que la velocidad de transferencia en una red local es muy alta. La única diferencia es que, cuando hay un fallo en la red (en tu caso provocado), el driver para tablas alfanuméricas entra en algún bucle infinito del cual no puede salir y se bloquea la aplicacióin.
 
En la prueba que he hecho con Oracle Spatial, la reacción de la aplicación me ha parecido aceptable (la capa se pone 'no visible' y la tabla queda en blanco pero se puede cerrar sin problemas y la aplicación sigue tranquilamente). De todas formas, intentaremos que no aparezca la ventana gris que no es muy elegante.
 
Por lo que respecta al acceso a tablas Oracle solo alfanuméricas, desconozco si alguien va a ponerse a mejorar su funcionamiento. Desde luego, lleva mucho tiempo sin ser considerado algo prioritario.
 
Saludos,
Juan Lucas Domínguez Rubio
---
Prodevelop SL, Valencia (España)
Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
http://www.prodevelop.es <http://www.prodevelop.es/> 
---

________________________________

De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Juanjo
Enviado el: jue 01/07/2010 14:16
Para: gvsig_desarrolladores en listserv.gva.es
Asunto: [Gvsig_desarrolladores] Problema de refresco en ProjectTable (BuggvSig??)




Hola a todos,

A ver si logro explicarme.
Si cargamos una tabla desde base de datos, mediante el gestor de proyectos,
usando el driver Oracle. La tabla se carga correctamente en pantalla. Ahora
bien, si desconectamos momentaneamente la red, hacemos algo tan simple como
intentar cambiar el tamaño, o mover de sitio la tabla, gvSig devuelve un
java.null.pointer.Exception y se queda totalmente bloqueado. Si volvemos a
restablecer la conexion posteriormente sigue bloqueado y no para de lanzar
el error que he puesto abajo del mail.
Si hacemos lo mismo con una vista en la que hemos cargado una capa, de la
misma base de datos, el error que aparece es un error del driver, y gvSig
reacciona nada más volver a establecer la conexión.


¿¿Es distinto el driver utilizado para manejar capas de base de datos y
tablas??
¿¿Es un Bug de gvSig??
¿¿Hay alguna manera de solucionarlo??

EBUG [AWT-EventQueue-1] (NotificationManager.java:104) -
java.lang.NullPointerException
java.lang.NullPointerException
        at
oracle.jdbc.driver.ScrollableResultSet.getMetaData(ScrollableResultSet.java:1379)
        at
com.hardcode.gdbms.engine.data.db.JDBCSupport.getFieldCount(JDBCSupport.java:170)
        at
com.hardcode.gdbms.engine.data.driver.AbstractJDBCDriver.getFieldCount(AbstractJDBCDriver.java:109)
        at
com.hardcode.gdbms.engine.data.db.DBDataSourceAdapter.getFieldCount(DBDataSourceAdapter.java:67)
        at
com.hardcode.gdbms.engine.data.DataSourceCommonImpl.getRow(DataSourceCommonImpl.java:15)
        at
com.hardcode.gdbms.engine.data.AutomaticDataSource.getRow(AutomaticDataSource.java:352)
        at
com.iver.cit.gvsig.fmap.layers.SelectableDataSource.getRow(SelectableDataSource.java:531)
        at
com.iver.cit.gvsig.fmap.edition.EditableAdapter.getRow(EditableAdapter.java:418)
        at
com.iver.cit.gvsig.project.documents.table.gui.tablemodel.DataSourceDataModel.getValueAt(DataSourceDataModel.java:149)
        at javax.swing.JTable.getValueAt(JTable.java:1903)
        at javax.swing.JTable.prepareRenderer(JTable.java:3911)
        at javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2072)
        at javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:1974)
        at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1897)
        at javax.swing.plaf.ComponentUI.update(ComponentUI.java:142)
        at javax.swing.JComponent.paintComponent(JComponent.java:743)
        at javax.swing.JComponent.paint(JComponent.java:1006)
        at javax.swing.JComponent.paintChildren(JComponent.java:843)
        at javax.swing.JComponent.paint(JComponent.java:1015)
        at javax.swing.JViewport.paint(JViewport.java:728)
        at javax.swing.JComponent.paintChildren(JComponent.java:843)
        at javax.swing.JComponent.paint(JComponent.java:1015)
        at javax.swing.JComponent.paintChildren(JComponent.java:843)
        at javax.swing.JComponent.paint(JComponent.java:1015)
        at javax.swing.JComponent.paintChildren(JComponent.java:843)
        at javax.swing.JComponent.paint(JComponent.java:1015)
        at javax.swing.JComponent.paintChildren(JComponent.java:843)
        at javax.swing.JComponent.paint(JComponent.java:1015)
        at javax.swing.JLayeredPane.paint(JLayeredPane.java:559)
        at javax.swing.JComponent.paintChildren(JComponent.java:843)
        at javax.swing.JComponent.paint(JComponent.java:1015)
        at javax.swing.JComponent.paintChildren(JComponent.java:843)
        at javax.swing.JComponent.paint(JComponent.java:1015)
        at javax.swing.JComponent.paintChildren(JComponent.java:843)
        at javax.swing.JComponent.paint(JComponent.java:1015)
        at javax.swing.JLayeredPane.paint(JLayeredPane.java:559)
        at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4972)
        at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4925)
        at javax.swing.JComponent._paintImmediately(JComponent.java:4868)
        at javax.swing.JComponent.paintImmediately(JComponent.java:4675)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:451)
        at
javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:114)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
        at
com.iver.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:58)
        at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
        at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)


--
View this message in context: http://osgeo-org.1803224.n2.nabble.com/Problema-de-refresco-en-ProjectTable-Bug-gvSig-tp5243163p5243163.html
Sent from the gvSIG desarrolladores mailing list archive at Nabble.com.
_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores en listserv.gva.es
http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores


------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20100701/1fea0505/attachment.htm 


Más información sobre la lista de distribución gvSIG_desarrolladores