gvSIG bugs #554

Error loading a text layer with a possible solution

Added by Leticia Riestra about 12 years ago. Updated over 10 years ago.

Status:Won't fix% Done:

0%

Priority:NormalSpent time:-
Assignee:-
Category:Document view
Target version:-
Severity: Add-on version:
gvSIG version:2.0.0 Add-on build:
gvSIG build:2045 Add-on resolve version:
Operative System: Add-on resolve build:
Keywords: Proyecto:
Has patch:No Hito:
Add-on name:Unknown

Description

<English>
It was detected the following error when we are loading a text layer:

ERROR [AWT-EventQueue-1] (NotificationManager.java:107) - java.lang.NullPointerException
java.lang.NullPointerException
at org.gvsig.fmap.geom.primitive.impl.Point2D.transform(Point2D.java:107)
at org.gvsig.symbology.fmap.mapcontext.rendering.symbol.text.impl.SimpleTextSymbol.draw(SimpleTextSymbol.java:110)
at org.gvsig.symbology.fmap.mapcontext.rendering.symbol.text.impl.SimpleTextSymbol.drawInsideRectangle(SimpleTextSymbol.java:159)
at org.gvsig.app.project.documents.view.toc.TocItemLeaf.getIcon(TocItemLeaf.java:180)
at org.gvsig.app.project.documents.view.toc.gui.TOCRenderer.getTreeCellRendererComponent(TOCRenderer.java:250)
at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2717)
at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:475)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1342)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1478)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1270)
at javax.swing.tree.VariableHeightLayoutCache.ensurePathIsExpanded(VariableHeightLayoutCache.java:966)
at javax.swing.tree.VariableHeightLayoutCache.setExpandedState(VariableHeightLayoutCache.java:164)
at javax.swing.plaf.basic.BasicTreeUI.updateExpandedDescendants(BasicTreeUI.java:1648)
at javax.swing.plaf.basic.BasicTreeUI$Handler.treeExpanded(BasicTreeUI.java:3721)
at javax.swing.JTree.fireTreeExpanded(JTree.java:2656)
at javax.swing.JTree.setExpandedState(JTree.java:3427)
at javax.swing.JTree.expandPath(JTree.java:2163)
at org.gvsig.app.project.documents.view.toc.gui.TOC.setExpandedNodes(TOC.java:278)
at org.gvsig.app.project.documents.view.toc.gui.TOC.refresh(TOC.java:312)
at org.gvsig.app.project.documents.view.toc.gui.TOC$1.atomicEvent(TOC.java:239)
at org.gvsig.app.project.documents.view.toc.gui.TOC$1$1.run(TOC.java:231)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at org.gvsig.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:59)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

In class SimpleTextSymbol in Project org.gvsig.symbology.lib.impl , line 110 you should check that the affineTransform is not null before call to point.transform(affineTransform).
In the same class SimpleTextSymbol , in method drawInsideRectangle, line 159 you pass a null parameter in the draw method for the affineTransform parameter.

If you do these changes

Line 110
If (affineTransform ¡= null)
point.transform(affineTransform);

Line 159
draw(g, new AffineTransform(), geomManager.createPoint(r.getX(), r.getY(),
SUBTYPES.GEOM2D), null, null);

The exception doesn’t ocurre when the text layer is being loaded but it doesn’t paint in the screen. However, the attribute table shows the information

We don’t know what caused this. Any suggestions?

<Spanish>
Se ha detectado el siguiente error al cargar una capa de textos:

ERROR [AWT-EventQueue-1] (NotificationManager.java:107) - java.lang.NullPointerException
java.lang.NullPointerException
at org.gvsig.fmap.geom.primitive.impl.Point2D.transform(Point2D.java:107)
at org.gvsig.symbology.fmap.mapcontext.rendering.symbol.text.impl.SimpleTextSymbol.draw(SimpleTextSymbol.java:110)
at org.gvsig.symbology.fmap.mapcontext.rendering.symbol.text.impl.SimpleTextSymbol.drawInsideRectangle(SimpleTextSymbol.java:159)
at org.gvsig.app.project.documents.view.toc.TocItemLeaf.getIcon(TocItemLeaf.java:180)
at org.gvsig.app.project.documents.view.toc.gui.TOCRenderer.getTreeCellRendererComponent(TOCRenderer.java:250)
at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2717)
at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:475)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1342)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1478)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1270)
at javax.swing.tree.VariableHeightLayoutCache.ensurePathIsExpanded(VariableHeightLayoutCache.java:966)
at javax.swing.tree.VariableHeightLayoutCache.setExpandedState(VariableHeightLayoutCache.java:164)
at javax.swing.plaf.basic.BasicTreeUI.updateExpandedDescendants(BasicTreeUI.java:1648)
at javax.swing.plaf.basic.BasicTreeUI$Handler.treeExpanded(BasicTreeUI.java:3721)
at javax.swing.JTree.fireTreeExpanded(JTree.java:2656)
at javax.swing.JTree.setExpandedState(JTree.java:3427)
at javax.swing.JTree.expandPath(JTree.java:2163)
at org.gvsig.app.project.documents.view.toc.gui.TOC.setExpandedNodes(TOC.java:278)
at org.gvsig.app.project.documents.view.toc.gui.TOC.refresh(TOC.java:312)
at org.gvsig.app.project.documents.view.toc.gui.TOC$1.atomicEvent(TOC.java:239)
at org.gvsig.app.project.documents.view.toc.gui.TOC$1$1.run(TOC.java:231)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at org.gvsig.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:59)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

En la clase SimpleTextSymbol del proyecto org.gvsig.symbology.lib.impl , línea 110 se debería de controlar que el affineTransform no sea nulo antes de hacer la llamada a point.transform(affineTransform).
En esta misma clase SimpleTextSymbol en el método drawInsideRectangle, línea 159 se le pasa un null en el método draw para el parámetro affineTransform.

Si se realizan estas modificaciones
Linea 110
If (affineTransform ¡= null)
point.transform(affineTransform);

Línea 159
draw(g, new AffineTransform(), geomManager.createPoint(r.getX(), r.getY(),
SUBTYPES.GEOM2D), null, null);

no se produce la excepción al cargar la capa de textos pero no se pinta en pantalla. Sin embargo, en la tabla de atributos sí que aparecen los datos

No sabemos a qué deberse esto. ¿Alguna sugerencia?

History

#1 Updated by Cesar Ordiñana about 12 years ago

Hola Leticia.

Con el fin de ver mejor el error, ¿podrías pasarnos la capa que estás abriendo?

Por otro lado, ¿se trata quizás de una capa de anotaciones?

Saludos.

#2 Updated by Manuel Madrid about 11 years ago

  • Category set to Document view

#3 Updated by Álvaro Anguix over 10 years ago

  • Status changed from New to Won't fix

Como no se ha contestado a las consultas para poder reproducir el error, le cambio el estado a won't fix.

Also available in: Atom PDF