<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Hola,<br><br>Estoy intentado añadir una capa por codigo. El codigo que utilizo es el siguiente:<br><br>IProjection proj = null;<br>IVectorialDatabaseDriver driver = null;<br>IConnection con = null;<br><br>String mues;<br>String ciudad;<br><br>try {<br> <br> String str ="jdbc:postgresql://localhost/VPR";<br> <br> Class.forName("org.postgresql.Driver");<br> <br> con = ConnectionFactory.createConnection(str,"postgres","1");<br> <br> ((ConnectionJDBC)con).getConnection().setAutoCommit(false);<br> <br> DBLayerDefinition lyrDef = new DBLayerDefinition();<br> <br> lyrDef.setName("CIUDADES");<br> lyrDef.setSchema("public");<br> lyrDef.setTableName("ciudades_xy");<br> <br> if (munic.equals("TODOS")) {<br> lyrDef.setWhereClause("");<br> mues = "SELECT * FROM ciudades_xy";<br> }else{<br> lyrDef.setWhereClause("nombre= '" + ciudad+ "'"); <br> mues = "SELECT * FROM ciudades_xy WHERE nombre= '" + ciudad + "'";<br> }<br> <br> lyrDef.setFieldGeometry("the_geom");<br> <br> String[] fields = {"gid","n_ciudad","x","y","nombre"};<br> lyrDef.setFieldNames(fields);<br> <br> lyrDef.setFieldID("gid");<br> <br> String strEPSG = "EPSG:23030";<br> <br> lyrDef.setSRID_EPSG(strEPSG);<br> <br> if (driver instanceof ICanReproject) {<br> ((ICanReproject) driver).setDestProjection(strEPSG);<br> }<br> <br> lyrDef.setHost("localhost");<br> lyrDef.setPort(5432);<br> lyrDef.setDataBase("VPR");<br> lyrDef.setUser("postgres");<br> lyrDef.setPassword("1");<br><br> Statement st = ((ConnectionJDBC)con).getConnection().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);<br><br> ResultSet rs = null;<br> rs = st.executeQuery(mues);<br> <br> <font style="" color="#ff0000"> driver.setData(con, lyrDef);</font><br> <br> View v = (View) PluginServices.getMDIManager().getActiveWindow();<br> MapControl mapCtrl = v.getMapControl();<br> <br> if (driver instanceof ICanReproject) {<br> proj = mapCtrl.getViewPort().getProjection();<br> }<br> <br> FLayer lyr;<br> lyr = LayerFactory.createDBLayer(driver, "CIUDADES",<br> proj);<br> <br> if (lyr != null) {<br> lyr.setVisible(true);<br> mapCtrl.getMapContext().getLayers().addLayer(lyr); <br> } <br><br>} catch (DBException e) {<br> // TODO Auto-generated catch block<br> e.printStackTrace();<br>} catch (ClassNotFoundException e) {<br> // TODO Auto-generated catch block<br> e.printStackTrace();<br>} catch (SQLException e) {<br> // TODO Auto-generated catch block<br> e.printStackTrace();<br>}<br><br>Funciona todo hasta la linea que he puesto en rojo que me da un NullPointerException, ¿Qué me estoy dejando? ¿Por qué no me funciona?<br><br>Muchas gracias de antemano.<br><br>Saludos.<br><br>Virginia<br>                                            <br /><hr />Disfruta de Hotmail y Messenger en tu móvil con YOIGO. <a href='http://serviciosmoviles.es.msn.com/hotmail/yoigo.aspx' target='_new'>¡Hazlo ya!</a></body>
</html>