[Gvsig_usuarios] Problema SOLUCIONADO al guardar proyectos gvsig v 1.1.2 con capas agrupadas y tablas vinculadas a capas vectoriales

Jorge Bellido Diez jbellido en ikt.es
Jue Ene 20 13:25:37 CET 2011


Trataré de explicarme: Todo proyecto gvSig 1.1.2 con tablas que dependen de sus respectivas layers, es decir, seleccionas una layer en el TOC y pulsas el botón de "Ver Tabla de Atributos", si en la vista tienes varias layers agrupadas, a menos que la layer vinculada a esa tabla pertenezca al último grupo del TOC, cuando le das a guardar proyecto saltará un fallo como el que se ve en la TRAZA que os paso abajo. 
 
Para solucionarlos reemplazar el método isview de la clase Project del Proyecto appgvSIG
poner este código y os funcionará.
public boolean isView(FLayers layers, FLayer layer) {

boolean solucion=false;

for (int i = 0;( (i < layers.getLayersCount()) && (!(solucion)) );i++) {

if (layers.getLayer(i) instanceof FLayers) {

solucion = isView((FLayers) layers.getLayer(i), layer);

}else if (layers.getLayer(i) == layer) {

solucion = true;

}

}

return solucion;

}

 


________________________________

De: gvsig_usuarios-bounces en listserv.gva.es [mailto:gvsig_usuarios-bounces en listserv.gva.es] En nombre de Jorge Bellido Diez
Enviado el: martes, 18 de enero de 2011 17:03
Para: Lista de Usuarios de gvSIG; Lista de Desarrolladores de gvSIG
Asunto: [Gvsig_usuarios] GVPs con JOINS. Si existen capas agrupadas en lavista falla al guardar.


Hola a todos, escribo para reportar un funcionamiento un tanto raro en gvSig. Trabajamos con ODBC contra Access2003 y lo que hacemos es contruir una Join entre una capa SHP y una tabla del ODBC para luego simbolizar las geometrías en funcion de valores de la BD. 
 
Es curioso porque si todo esto lo guardo en un proyecto GVP que contenga una vista con capas agrupadas, GvSig devuelve un error. Y si quito las agrupaciones de capas el proyecto se guarda perfectamente. Paso abajo la traza del error.
 
Todo esto sucede con la version 1.1.2, he comprobado que con las versiones posteriores sí funciona pero mi desarrollo es sobre la 1.1.2
 
Mirando un poco el fuente me situo en la clase Proyect.java y el método getXMLEntity() pero a partir de aquí me pierdo. Me podría alguien indicar qué podría tocar para que me funcionase. Gracias de antemano y un saludo, Jorge.
 
------------------------------------------------------------------------------------
    TRAZA DEL ERROR.
DEBUG [AWT-EventQueue-1] (NotificationManager.java:104) - Fallo guardando el Proyecto en : com.iver.cit.gvsig.project.documents.table.ProjectTable

java.lang.RuntimeException: The layer 'CT_1601PActuaCuenMediterraneas.shp' is not in a view

at com.iver.cit.gvsig.project.Project.getView(Project.java:1298)

at com.iver.cit.gvsig.project.documents.table.ProjectTable.getXMLEntity(ProjectTable.java:356)

at com.iver.cit.gvsig.project.Project.getXMLEntity(Project.java:686)

at com.iver.cit.gvsig.ProjectExtension.writeProject(ProjectExtension.java:457)

at com.iver.cit.gvsig.ProjectExtension.guardar(ProjectExtension.java:234)

at com.iver.cit.gvsig.ProjectExtension.execute(ProjectExtension.java:353)

at com.iver.andami.plugins.ExtensionDecorator.execute(ExtensionDecorator.java:88)

at com.iver.andami.ui.mdiFrame.MDIFrame.actionPerformed(MDIFrame.java:616)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)

at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)

at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)

at java.awt.Component.processMouseEvent(Component.java:5517)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)

at java.awt.Component.processEvent(Component.java:5282)

at java.awt.Container.processEvent(Container.java:1966)

at java.awt.Component.dispatchEventImpl(Component.java:3984)

at java.awt.Container.dispatchEventImpl(Container.java:2024)

at java.awt.Component.dispatchEvent(Component.java:3819)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)

at java.awt.Container.dispatchEventImpl(Container.java:2010)

at java.awt.Window.dispatchEventImpl(Window.java:1791)

at java.awt.Component.dispatchEvent(Component.java:3819)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)

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)

 

 

Un cordial saludo;

 

··················································································
Jorge Bellido

 

Lurralde eta Biodibertsitate Saila/
Dpto. de Territorio y Biodiversidad 


IKT
Granja Modelo    · 01192 ·    Arkaute (Araba)
··················································································
Tlfnos.: 945-00.32.95                         Fax: 945-00.32.90
··················································································
email: jbellido en ikt.es <mailto:jbellido en ikt.es>                               web: www.ikt.es <http://www.ikt.es/> 
··················································································

 
KONFIDENTZIALTASUN OHARRA: Mezu hau pertsonala eta isilpekoa da eta baimenik gabeko erabilera debekatua dago legalki. Jasotzailea ez bazara ezabatu mezua, bidali eta kontserbatu gabe. 
AVISO DE CONFIDENCIALIDAD: Este mensaje es personal y confidencial y su uso no autorizado está prohibido legalmente. Si usted no es el destinatario, proceda a borrarlo, sin reenviarlo ni conservarlo.
CONFIDENTIALITY NOTICE: This message is personal and confidential, unauthorised use is legally prohibited. If you are not the intended recipient, delete it without resending or backing it. 

 
P Salva un árbol...por favor, no imprimas este correo a menos que realmente lo necesites
 
 
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20110120/7895017a/attachment.htm 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : image/gif
Tamaño     : 790 bytes
Descripción: logo.gif
Url        : http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20110120/7895017a/attachment.gif 


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