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&lt;SelectionListener&gt; 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">&lt;<a href="mailto:fpenarru@gmail.com">fpenarru@gmail.com</a>&gt;</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">&gt; Hola,<br>
&gt;<br>
&gt; Estamos estabilizando el código de NavTable para gvSIG-1.9. Tenemos<br>
&gt; una función para eliminar un registro de una capa vectorial. El código<br>
&gt; ha sido extraído de otras partes del código de gvSIG donde se<br>
&gt; realizada esa acción.<br>
&gt;<br>
&gt; El código es el siguiente:<br>
&gt;<br>
&gt;                 VectorialLayerEdited vle =<br>
&gt; CADExtension.getCADTool().getVLE();<br>
&gt;                 VectorialEditableAdapter vea = vle.getVEA();<br>
&gt;<br>
&gt;                 vea.startComplexRow();<br>
&gt;<br>
&gt;                 vea.doRemoveRow((int)currentPosition,<br>
&gt; EditionEvent.GRAPHIC);<br>
&gt;<br>
&gt;                 vea.endComplexRow(&quot;Removed_Record&quot;);<br>
&gt;                 vle.clearSelection(VectorialLayerEdited.NOTSAVEPREVIOUS);<br>
&gt;                 vea.getSelection().clear();<br>
&gt;<br>
&gt;                 te.stopEditing(layer, false);<br>
&gt;<br>
&gt; El código funciona correctamente borrando el registro situado en la<br>
&gt; posición &quot;currentPosition&quot;, pero si a continuación se selecciona<br>
&gt; cualquier elemento de esa capa se produce el siguiente error:<br>
&gt;<br>
&gt; DEBUG [AWT-EventQueue-1] (NotificationManager.java:104) -<br>
&gt; java.lang.NullPointerException<br>
&gt; java.lang.NullPointerException<br>
&gt;     at<br>
&gt; com.iver.cit.gvsig.layers.VectorialLayerEdited.selectionChanged(VectorialLayerEdited.java:635)<br>
&gt;     at<br>
&gt; com.iver.cit.gvsig.fmap.layers.SelectionSupport.fireSelectionEvents(SelectionSupport.java:127)<br>
&gt;     at<br>
&gt; com.iver.cit.gvsig.fmap.layers.SelectionSupport.setSelection(SelectionSupport.java:66)<br>
&gt;     at<br>
&gt; com.iver.cit.gvsig.fmap.layers.SelectableDataSource.setSelection(SelectableDataSource.java:402)<br>
&gt;     at<br>
&gt; es.udc.cartolab.gvsig.navtable.AbstractNavTable.selectCurrentFeature(AbstractNavTable.java:608)<br>
&gt;<br>
&gt; Debugeando he visto que el código de VectiorialLayerEdited devuelve un<br>
&gt; NULL pointer en:<br>
&gt;                             getVEA().getSelection().isEmpty()<br>
&gt;<br>
&gt; ¿Cómo podemos solucionar este comportamiento?<br>
&gt; Muchas gracias!!!<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Juan Ignacio Varela García (Nacho Uve)<br>
&gt; Coordinador Grupo de Desarrollo<br>
&gt; Cartolab - Laboratorio de Ingeniería Cartográfica<br>
&gt; <a href="http://www.cartolab.es" target="_blank">http://www.cartolab.es</a><br>
&gt;<br>
&gt; ETS Ingeniería de Caminos, Canales y Puertos<br>
&gt; Universidade da Coruña<br>
&gt; Campus de Elviña - 15071 A Coruña (España)<br>
&gt; (34)981167000 ext. 5493<br>
</div></div>&gt; ------------------------------------------------------------------------<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; gvSIG_desarrolladores mailing list<br>
&gt; <a href="mailto:gvSIG_desarrolladores@listserv.gva.es">gvSIG_desarrolladores@listserv.gva.es</a><br>
&gt; <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>
&gt;<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>