[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