[Gvsig_desarrolladores] Problemas con extension en la version
1.0.2 de SIG
Jose Manuel Vivó (Chema)
josemanuel.vivo en iver.es
Jue Jul 26 08:29:22 CEST 2007
Hola Jaime:
El problema es la fuente de datos esta 'cerrada'. En la versión 1.0.2 la
fuentes de datos se abren justo cuando se van a empezar a trabajar con los
datos. Usa 'va.start()' antes de pedir la geometría y 'va.stop()' cuando ya
termines de usarla.
Un Saludo.
Chema.
El Jueves 26 Julio 2007 01:43, Jaime Traver escribió:
> Hola a todos,
>
> Estoy teniendo problemas con una extensión en la versión 1.0.2 de SIG, que
> con la 1.0 no tenia, os planteo como lo tengo hecho y haber si encontramos
> expliación al error, de entrada es una excepción
> java.lang.NullPointerException,
>
> Atributros de la clase:
>
> private ReadableVectorial va;
> private FLayer layerTolocate;
> private FLyrVect lyrVect;
> private MapControl mapControl;
>
>
> public void ObtenerCapaActiva(){
> FLayers layer=mapControl.getMapContext().getLayers();
> FLayer[] visibles = layer.getVisibles();
> for (int i=0; i<visibles.length; i++){
> if (visibles[i].isActive() && visibles[i] instanceof FLyrVect)
> layerTolocate = mapControl.getMapContext
> ().getLayers().getLayer(i-1);
> }
> }
> public OperacionesVistas(MapContext mapContext){
>
> mapControl = new MapControl();
> mapControl.setMapContext(mapContext);
> ObtenerCapaActiva();
> lyrVect = (FLyrVect)layerTolocate;
> va = lyrVect.getSource();
> }
>
> Hasta aqui todo correcto, el error se produce cuando ejecuto este
> metodo, para obtener las propiedadas geometricas:
>
> public void ObtenerCoordenadasTupla(int posTupla){
> try {
> geom = va.getShape(posTupla); --> AQUÍ ES DONDE SE PRODUCE LA
> EXCEPCIÓN
> } catch (DriverIOException e) {
> // TODO Auto-generated catch block
> e.printStackTrace();
> }
> }
>
> Al hacer la instancia de la clase me ejecuta
> OperacionesVistas(MapContext mapContext), y posteriormente llamo a
> ObtenerCoordenadasTupla que es donde se produce el error; la salida de
> error que se produce es la siguiente:
>
> java.lang.NullPointerException: null
>
> com.iver.cit.gvsig.fmap.drivers.shp.IndexedShpDriver.getPositionForRecord(U
>nknown Source)
> com.iver.cit.gvsig.fmap.drivers.shp.IndexedShpDriver.getShape(Unknown
> Source)
> com.iver.cit.gvsig.fmap.layers.VectorialFileAdapter.getShape(Unknown
> Source)
> com.iver.cit.gvsig.geocodificar.Geocodificar.ObtenerCoordenadasTupla(
> Geocodificar.java:56) --> DE AQUI EN ADELANTE PERTENECE A MI EXTENSIÓN
> com.iver.cit.gvsig.geocodificar.Geocodificar.DescodificarTupla(
> Geocodificar.java:94)
> com.iver.cit.gvsig.adddatatoview.gui.SelectInfoPanel.RepresentarTabla_array
>( SelectInfoPanel.java:229)
> com.iver.cit.gvsig.adddatatoview.gui.SelectInfoPanel.access$1(
> SelectInfoPanel.java:198)
> com.iver.cit.gvsig.adddatatoview.gui.SelectInfoPanel$2.actionPerformed(
> SelectInfoPanel.java:275)
>
> Lo extraño es que el error se produce en gvSIG y no en mi extensión.
>
>
> Un Saludo a tod en s.
>
> PD: Cuando leáis el código no intentéis encontrar errores sintácticos, por
> algún error que haya cometido, ya que lo he transcrito, ah y el código que
> os he puesto no coincide con el error que os he mostrado, ya que solo os he
> puesto el código que se ejecuta cuando da el error, evidentemente cada cosa
> esta en su clase.
--
=============
Jose Manuel Vivó (Chema)
Equipo de gvSIG
IVER T.I. S.A.
C/ Salamanca, 50-52
46005-Valencia
Tlf.+34963163400
Spain
www.iver.es
www.gvsig.com
Más información sobre la lista de distribución gvSIG_desarrolladores