gvSIG bugs #5125

Al añadir un campo calculado de tipo geometria a un csv falla

Added by Joaquín del Cerro Murciano over 4 years ago. Updated over 4 years ago.

Status:Closed% Done:

0%

Priority:NormalSpent 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

Revision 44541
Added by Óscar Martínez over 4 years ago

refs #5125 Uso del MemoryFeatureProvider para uso del feature type

Revision 44542
Added by Óscar Martínez over 4 years ago

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

Also available in: Atom PDF