gvSIG bugs #3924
No carga simbolos en formato SVG.
Status: | Closed | % Done: | 0% | |
---|---|---|---|---|
Priority: | Urgent | Spent time: | - | |
Assignee: | Joaquín del Cerro Murciano | |||
Category: | Symbology | |||
Target version: | 2.3.0-2412 (rev. org.gvsig.desktop-2.0.118) | |||
Severity: | Minor | Add-on version: | ||
gvSIG version: | 2.3.0 | Add-on build: | ||
gvSIG build: | 2411 | Add-on resolve version: | ||
Operative System: | Add-on resolve build: | |||
Keywords: | Proyecto: | |||
Has patch: | Hito: | |||
Add-on name: | Unknown |
Description
Cuando recuperamos un proyecto guardado con gvSIG 2.2 que tenia simbologia
puntual en la que se utilizan imagenes en formato SVG falla.
En general, al intentar cargar un archivo SVG falla.
Se puede reproducir arrancando gvSIG y iendo a:
Herramientas -> Simbologia -> Explorar simbolos
Y en el explorador de simbolos, seleccionar la pestaña "Marcador"
y "Collective mapping/Social movements".
El error que da es:
ERROR [AWT-EventQueue-0] (NotificationManager.java:90) - Error de la applicacion. Es conveniente que salga de la aplicación org/apache/batik/ext/awt/AreaOfInterestHintKey java.lang.NoClassDefFoundError: org/apache/batik/ext/awt/AreaOfInterestHintKey at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:480) at org.gvsig.symbology.fmap.mapcontext.rendering.symbol.style.SVGStyle.drawInsideRectangle(SVGStyle.java:132) at org.gvsig.symbology.fmap.mapcontext.rendering.symbol.style.BackgroundFileStyle.drawInsideRectangle(BackgroundFileStyle.java:101) at org.gvsig.symbology.fmap.mapcontext.rendering.symbol.marker.impl.PictureMarkerSymbol.draw(PictureMarkerSymbol.java:239) at org.gvsig.symbology.fmap.mapcontext.rendering.symbol.marker.impl.AbstractMarkerSymbol.drawInsideRectangle(AbstractMarkerSymbol.java:172) at org.gvsig.symbology.fmap.mapcontext.rendering.symbol.marker.impl.PictureMarkerSymbol.drawInsideRectangle(PictureMarkerSymbol.java:266) at org.gvsig.app.gui.styling.SymbolPreviewer.paint(SymbolPreviewer.java:184) at javax.swing.JComponent.paintChildren(JComponent.java:879) at javax.swing.JComponent.paint(JComponent.java:1055) at javax.swing.CellRendererPane.paintComponent(CellRendererPane.java:151) at javax.swing.plaf.basic.BasicListUI.paintCell(BasicListUI.java:226) at javax.swing.plaf.basic.BasicListUI.paintImpl(BasicListUI.java:316) at javax.swing.plaf.basic.BasicListUI.paint(BasicListUI.java:239) at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161) at javax.swing.JComponent.paintComponent(JComponent.java:770) at javax.swing.JComponent.paint(JComponent.java:1046) at javax.swing.JComponent.paintChildren(JComponent.java:879) at javax.swing.JComponent.paint(JComponent.java:1055) at javax.swing.JViewport.paint(JViewport.java:731) at javax.swing.JComponent.paintChildren(JComponent.java:879) at javax.swing.JComponent.paint(JComponent.java:1055) at javax.swing.JComponent.paintChildren(JComponent.java:879) at javax.swing.JSplitPane.paintChildren(JSplitPane.java:1047) at javax.swing.JComponent.paint(JComponent.java:1055) at javax.swing.JComponent.paintChildren(JComponent.java:879) at javax.swing.JComponent.paint(JComponent.java:1055) at javax.swing.JComponent.paintChildren(JComponent.java:879) at javax.swing.JComponent.paint(JComponent.java:1055) at javax.swing.JComponent.paintChildren(JComponent.java:879) at javax.swing.JComponent.paint(JComponent.java:1055) at javax.swing.JComponent.paintChildren(JComponent.java:879) at javax.swing.JComponent.paint(JComponent.java:1055) at javax.swing.JComponent.paintChildren(JComponent.java:879) at javax.swing.JComponent.paint(JComponent.java:1055) at javax.swing.JLayeredPane.paint(JLayeredPane.java:585) at javax.swing.JComponent.paintChildren(JComponent.java:879) at javax.swing.JComponent.paint(JComponent.java:1055) at javax.swing.JComponent.paintChildren(JComponent.java:879) at javax.swing.JComponent.paint(JComponent.java:1055) at javax.swing.JComponent.paintChildren(JComponent.java:879) at javax.swing.JComponent.paint(JComponent.java:1055) at javax.swing.JLayeredPane.paint(JLayeredPane.java:585) at javax.swing.JComponent.paintChildren(JComponent.java:879) at javax.swing.JComponent.paint(JComponent.java:1055) at javax.swing.JViewport.paint(JViewport.java:731) at javax.swing.JComponent.paintChildren(JComponent.java:879) at javax.swing.JComponent.paint(JComponent.java:1055) at javax.swing.JComponent.paintChildren(JComponent.java:879) at javax.swing.JComponent.paint(JComponent.java:1055) at javax.swing.JComponent.paintChildren(JComponent.java:879) at javax.swing.JComponent.paint(JComponent.java:1055) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5223) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:295) at javax.swing.RepaintManager.paint(RepaintManager.java:1249) at javax.swing.JComponent._paintImmediately(JComponent.java:5171) at javax.swing.JComponent.paintImmediately(JComponent.java:4982) at javax.swing.RepaintManager$3.run(RepaintManager.java:808) at javax.swing.RepaintManager$3.run(RepaintManager.java:796) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718) at javax.swing.RepaintManager.access$1100(RepaintManager.java:62) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1677) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:745) at java.awt.EventQueue.access$300(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:706) at java.awt.EventQueue$3.run(EventQueue.java:704) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:715) at org.gvsig.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:50) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) Caused by: java.lang.ClassNotFoundException: org.apache.batik.ext.awt.AreaOfInterestHintKey at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ... 80 more
Associated revisions
refs #3924, movido batik al lib de la aplicacion para que este disponible en el classpath raiz.
History
#1 Updated by Joaquín del Cerro Murciano over 8 years ago
No he logrado averiguar por que falla.
El error lo da en la clase AbstractGraphicsNode, linea 480, cuando intenta acceder a un
miembro estatico de RenderingHintsKeyExt.
Shape curClip = g2d.getClip(); g2d.setRenderingHint(RenderingHintsKeyExt.KEY_AREA_OF_INTEREST, curClip);
En el momento de ejecutarse la linea 480, el classloader parece ser el que toca,
pero cuando intenta inicializar en un bloque estatico de RenderingHintsKeyExt algunas
variables estaticas deRenderingHintsKeyExt, el classloader ya no es el de org.gvsig.app.mainplugin,
y no encuentra las clases que necesita.
No se que ha podido cambiar respecto a la 2.2 para provocar este fallo.
De momento lo he rodeado, pasando a andami los jars necesarios de batik; pero
me preocupa que en la 2.2 esto fuese en la 2.3 haya dejado de ir.
#2 Updated by Joaquín del Cerro Murciano over 8 years ago
- Target version set to 2.3.0-2412 (rev. org.gvsig.desktop-2.0.118)
#3 Updated by Joaquín del Cerro Murciano over 8 years ago
- Status changed from New to Fixed
#4 Updated by Álvaro Anguix over 8 years ago
- Status changed from Fixed to Closed