Muchísimas gracias Fran!!!<br><br>Pueden ir los tiros sí... De todos modos, no consigo que funcione introduciendo la primera línea.<br><br>En la clase SelectionSupport sigue existiendo en el ArrayList<SelectionListener> listeners una VectorialLayerEdited<br>
que parece que es la que da problemas. :(<br><br>Mañana sigo con la investigación y comento un poco más.<br><br>Gracias!<br><br><br><br><div class="gmail_quote">El 29 de marzo de 2010 19:29, Francisco José Peñarrubia <span dir="ltr"><<a href="mailto:fpenarru@gmail.com">fpenarru@gmail.com</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hola Nacho.<br>
<br>
Creo que el problema viene porque guardas los cambios, pones la capa en<br>
modo no edición, pero se te ha olvidado quitar como escucha de los<br>
eventos de selección al VectorialLayerEdited.<br>
Si te fijas en cuando se para la edición, hay una línea:<br>
<br>
layer.removeLayerListener(edMan);<br>
<br>
la variable edMan viene de<br>
<br>
EditionManager edMan =cadtoolAdapter.getEditionManager();<br>
<br>
Yo no lo he probado, pero creo que por ahí pueden ir los tiros.<br>
<br>
Saludos, viajero!! :-)<br>
<br>
Fran.<br>
<br>
Nacho Uve escribió:<br>
<div><div></div><div class="h5">> Hola,<br>
><br>
> Estamos estabilizando el código de NavTable para gvSIG-1.9. Tenemos<br>
> una función para eliminar un registro de una capa vectorial. El código<br>
> ha sido extraído de otras partes del código de gvSIG donde se<br>
> realizada esa acción.<br>
><br>
> El código es el siguiente:<br>
><br>
> VectorialLayerEdited vle =<br>
> CADExtension.getCADTool().getVLE();<br>
> VectorialEditableAdapter vea = vle.getVEA();<br>
><br>
> vea.startComplexRow();<br>
><br>
> vea.doRemoveRow((int)currentPosition,<br>
> EditionEvent.GRAPHIC);<br>
><br>
> vea.endComplexRow("Removed_Record");<br>
> vle.clearSelection(VectorialLayerEdited.NOTSAVEPREVIOUS);<br>
> vea.getSelection().clear();<br>
><br>
> te.stopEditing(layer, false);<br>
><br>
> El código funciona correctamente borrando el registro situado en la<br>
> posición "currentPosition", pero si a continuación se selecciona<br>
> cualquier elemento de esa capa se produce el siguiente error:<br>
><br>
> DEBUG [AWT-EventQueue-1] (NotificationManager.java:104) -<br>
> java.lang.NullPointerException<br>
> java.lang.NullPointerException<br>
> at<br>
> com.iver.cit.gvsig.layers.VectorialLayerEdited.selectionChanged(VectorialLayerEdited.java:635)<br>
> at<br>
> com.iver.cit.gvsig.fmap.layers.SelectionSupport.fireSelectionEvents(SelectionSupport.java:127)<br>
> at<br>
> com.iver.cit.gvsig.fmap.layers.SelectionSupport.setSelection(SelectionSupport.java:66)<br>
> at<br>
> com.iver.cit.gvsig.fmap.layers.SelectableDataSource.setSelection(SelectableDataSource.java:402)<br>
> at<br>
> es.udc.cartolab.gvsig.navtable.AbstractNavTable.selectCurrentFeature(AbstractNavTable.java:608)<br>
><br>
> Debugeando he visto que el código de VectiorialLayerEdited devuelve un<br>
> NULL pointer en:<br>
> getVEA().getSelection().isEmpty()<br>
><br>
> ¿Cómo podemos solucionar este comportamiento?<br>
> Muchas gracias!!!<br>
><br>
><br>
><br>
> --<br>
> Juan Ignacio Varela García (Nacho Uve)<br>
> Coordinador Grupo de Desarrollo<br>
> Cartolab - Laboratorio de Ingeniería Cartográfica<br>
> <a href="http://www.cartolab.es" target="_blank">http://www.cartolab.es</a><br>
><br>
> ETS Ingeniería de Caminos, Canales y Puertos<br>
> Universidade da Coruña<br>
> Campus de Elviña - 15071 A Coruña (España)<br>
> (34)981167000 ext. 5493<br>
</div></div>> ------------------------------------------------------------------------<br>
><br>
> _______________________________________________<br>
> gvSIG_desarrolladores mailing list<br>
> <a href="mailto:gvSIG_desarrolladores@listserv.gva.es">gvSIG_desarrolladores@listserv.gva.es</a><br>
> <a href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" target="_blank">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores</a><br>
><br>
<br>
_______________________________________________<br>
gvSIG_desarrolladores mailing list<br>
<a href="mailto:gvSIG_desarrolladores@listserv.gva.es">gvSIG_desarrolladores@listserv.gva.es</a><br>
<a href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" target="_blank">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Juan Ignacio Varela García (Nacho Uve)<br>Coordinador Grupo de Desarrollo <br>Cartolab - Laboratorio de Ingeniería Cartográfica<br><a href="http://www.cartolab.es">http://www.cartolab.es</a><br>
<br>ETS Ingeniería de Caminos, Canales y Puertos<br>Universidade da Coruña<br>Campus de Elviña - 15071 A Coruña (España)<br>(34)981167000 ext. 5493<br>