gvSIG bugs #5125
Al añadir un campo calculado de tipo geometria a un csv falla
Status: | Closed | % Done: | 0% | |
---|---|---|---|---|
Priority: | Normal | Spent time: | - | |
Assignee: | - | |||
Category: | - | |||
Target version: | 2.5.0-2928 | |||
Severity: | Minor | Add-on version: | ||
gvSIG version: | 2.5.0 | Add-on build: | ||
gvSIG build: | 2925 | Add-on resolve version: | ||
Operative System: | Add-on resolve build: | |||
Keywords: | Proyecto: | |||
Has patch: | Hito: | |||
Add-on name: | Unknown |
Description
Cargo el CSV "Espacios_culturales.csv", entro en el administrador de columnas y añado una nueva, calculada:
ST_SetSRID(ST_Point(Latitud,Longitud), 4326)
Cuando vuelvo a mostrar la tabla, da error, y deja gvSIG semi-colgado. Refresca mal las ventanas hijas y no se puede hacer casi nada.
ERROR 507468 [AWT-EventQueue-0] (NotificationManager.java:90) - java.lang.IllegalArgumentException: Attribute index '5' out of range (0 to 5. java.lang.IllegalArgumentException: Attribute index '5' out of range (0 to 5. at org.gvsig.fmap.dal.feature.impl.DefaultFeature.get(DefaultFeature.java:661) at org.gvsig.fmap.mapcontrol.dal.feature.swing.table.FeatureTableModel.getFeatureValue(FeatureTableModel.java:604) at org.gvsig.fmap.mapcontrol.dal.feature.swing.table.ConfigurableFeatureTableModel.getFeatureValue(ConfigurableFeatureTableModel.java:454) at org.gvsig.fmap.mapcontrol.dal.feature.swing.table.FeatureTableModel.getValueAt(FeatureTableModel.java:162) at javax.swing.JTable.getValueAt(JTable.java:2717) at javax.swing.JTable.prepareRenderer(JTable.java:5706) at javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2114) at javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:2016) at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1812) at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161) at javax.swing.JComponent.paintComponent(JComponent.java:780) at javax.swing.JComponent.paint(JComponent.java:1056) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290) at javax.swing.RepaintManager.paint(RepaintManager.java:1272) at javax.swing.JComponent._paintImmediately(JComponent.java:5158) at javax.swing.JComponent.paintImmediately(JComponent.java:4969) at javax.swing.RepaintManager$4.run(RepaintManager.java:831) at javax.swing.RepaintManager$4.run(RepaintManager.java:814) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738) at javax.swing.RepaintManager.access$1200(RepaintManager.java:64) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) at org.gvsig.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:50) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Al margen del error que se ha producido lo mas grave es que deja gvSIG inusable.
Tendriamos que atrapar los errores en FeatureTableModel.getValueAt para que no muestre errores continuamente al intentar refrescar las ventanas.
Probablemente usar el FilteredLogger, fijandole un intervalo de tiempo para evitar que gvSIG deje de responder ante un error de este tipo.
Associated revisions
refs #5125 Uso del MemoryFeatureProvider para uso del feature type
refs #5125 Capturar error a traves de filter logger
History
#1 Updated by Óscar Martínez over 4 years ago
- Status changed from New to Fixed
#2 Updated by Álvaro Anguix over 4 years ago
- Status changed from Fixed to Closed