[Gvsig_desarrolladores] problema al adicionar una tabla a la vista mediante codigo en gvSIG 1.9

fsalas en geocuba.cu fsalas en geocuba.cu
Mie Mayo 11 23:09:13 CEST 2011


Hola, Estoy haciendo una extensión para mineria de datos y presento un  
problema a la hora de adicionar una capa mediante codigo , este es la  
parte final del codigo

		FLayer lyr = LayerFactory.createDBLayer(dbDriver, getNombreTabla(),
					proj);

			lyr.setName(this.GetNombreRegla());
			if (lyr != null) {
				lyr.setVisible(true);
				v.getMapControl().getMapContext().beginAtomicEvent();
				// Comprobamos si es necesario reproyectar
				checkProjection(lyr, v.getMapControl());
				v.getMapControl().getMapContext().getLayers().addLayer(lyr);
				JOptionPane.showMessageDialog(null, "antes de endAtomicEvent");
				v.getMapControl().getMapContext().endAtomicEvent();
				JOptionPane
						.showMessageDialog(null, "despues de endAtomicEvent");
			}

			return (FLyrVect) lyr;

		} catch (Exception e) {
			log.warn("No se pudo cargar capa de la tabla: "
					+ this.getNombreTabla());
			e.printStackTrace();
			JOptionPane.showMessageDialog(null, e.getMessage());
			return null;
		}
	}

El error me da despues de endAtomicEvent, se adiciona la capa en  
postgis en el control de capas correctamente , pero continua con este  
error.



Can´t read the driver: PostGIS Driver   
com.hardcode.gdbms.driver.exceptions.ReadDriverException: Can´t read  
the driver: PostGIS Driver   
    com.iver.cit.gvsig.fmap.drivers.jdbc.postgis.PostGisDriver.getFeatureIterator(PostGisDriver.java:867)     com.iver.cit.gvsig.fmap.layers.VectorialDBAdapter.getFeatureIterator(VectorialDBAdapter.java:126)     com.iver.cit.gvsig.fmap.layers.VectorialDBAdapter.getFeatureIterator(VectorialDBAdapter.java:147)     com.iver.cit.gvsig.fmap.layers.FLyrVect._draw(FLyrVect.java:395)     com.iver.cit.gvsig.fmap.layers.FLyrVect.draw(FLyrVect.java:631)     com.iver.cit.gvsig.fmap.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:209)     com.iver.cit.gvsig.fmap.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:175)     com.iver.cit.gvsig.fmap.MapContext.draw(MapContext.java:1092)     com.iver.cit.gvsig.fmap.MapControl$PaintingRequest.paint(MapControl.java:1043)     com.iver.cit.gvsig.fmap.MapControl$Drawer2$Worker.run(MapControl.java:1234)     java.lang.Thread.run(Unknown Source) java.lang.ArrayIndexOutOfBoundsException: -1     com.iver.cit.gvsig.fmap.drivers.jdbc.postg
 is.PostGisDriver.getFeatureIterator(PostGisDriver.java:839)     com.iver.cit.gvsig.fmap.layers.VectorialDBAdapter.getFeatureIterator(VectorialDBAdapter.java:126)     com.iver.cit.gvsig.fmap.layers.VectorialDBAdapter.getFeatureIterator(VectorialDBAdapter.java:147)     com.iver.cit.gvsig.fmap.layers.FLyrVect._draw(FLyrVect.java:395)     com.iver.cit.gvsig.fmap.layers.FLyrVect.draw(FLyrVect.java:631)     com.iver.cit.gvsig.fmap.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:209)     com.iver.cit.gvsig.fmap.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:175)     com.iver.cit.gvsig.fmap.MapContext.draw(MapContext.java:1092)     com.iver.cit.gvsig.fmap.MapControl$PaintingRequest.paint(MapControl.java:1043)     com.iver.cit.gvsig.fmap.MapControl$Drawer2$Worker.run(MapControl.java:1234)     java.lang.Thread.run(Unknown  
Source)


Como puedo solucionar este problema.

saludos a todos

Francisco Salas




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