<div dir="ltr">Creo que no hice la pregunta correcta. Después de revisar la documentación me un par de dudas. Lo que quiero es cargar por código varias capas de una bd postgres.<div><br></div><div>Para ello hago algo de este estilo:</div><div><br></div><div><div>public DataStoreParameters getParams() throws DataException {</div><div>    DataManager dataManager = DALLocator.getDataManager();</div><div><span style="white-space:pre">    </span>DataStoreParameters pgParameters = null;</div><div><span style="white-space:pre">    params</span> = dataManager.createStoreParameters(PostgreSQLStoreProvider.NAME);</div><div>    params.setDynValue(&quot;host&quot;, SERVER);</div><div>    params.setDynValue(&quot;port&quot;, PORT);</div><div><span style="white-space:pre">    </span>params.setDynValue(&quot;dbuser&quot;, USERNAME);</div><div><span style="white-space:pre">    </span>params.setDynValue(&quot;password&quot;, PASSWORD);</div><div><span class="" style="white-space:pre">    params.setDynValue(&quot;dbname&quot;, DBNAME);</span></div><div>}</div></div><div><br></div><div><div>public FLyrVect createLayer(String schema, String table) throws DataException, LoadLayerException {</div><div><span style="white-space:pre">    </span>MapContextManager mapContextManager = MapContextLocator.getMapContextManager();</div><div><span style="white-space:pre">    </span>DataStoreParameters params = (DataStoreParameters) getParams().getCopy();</div><div><span style="white-space:pre">    </span>FLayer layer = mapContextManager.createLayer(table, params);</div><div><span style="white-space:pre">    </span>return (FLyrVect) layer;</div><div>}</div></div><div><br></div><div>El MapContextManager.createLayer por debajo hace una llamada a:</div><div><br></div><div>DataStore dataStore=dataManager.createStore(storeParameters);<br></div><div><br></div><div>Entiendo que<b> si llamo dos veces al createStore / openStore del DataManage con los mismos datos básicos de la conexión a la bd (server, puerto, ...) no se crea una conexión nueva </b>si no que se reaprovecha la existente.</div><div><br></div><div>Y la segunda cuestión es que <b>entiendo que la conexión ( JDBCServerExplorerParameters ) no se añade al pool automáticamente al hacer un createStore si no que hay que añadir a mano</b> con algo tipo:<br></div><div><br></div><div><div>DataManager dataManager = DALLocator.getDataManager();</div><div>DataServerExplorerPool pool = dataManager.getDataServerExplorerPool();</div><div>pool.add(name, explorer);</div></div><div><br><div>Y lo último al utilizar DynObjects donde las claves están definidas en DBParameters da la impresión de que <b>puedo usar un JDBCServerExplorerParameters directamente como substituto de un JDBCStoreParameters</b> la hacer el dataManager.createStore(storeParameters);. Pero no lo he probado para ver si funciona y no se si es una buena práctica.</div><div><br></div><div><br></div><div>Gracias y disculpas por la chapa.</div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">El 18 de junio de 2016, 13:06, Joaquin Jose del Cerro Murciano <span dir="ltr">&lt;<a href="mailto:jjdelcerro@gvsig.org" target="_blank">jjdelcerro@gvsig.org</a>&gt;</span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">El 17 de junio de 2016, 17:09, Francisco Puga <span dir="ltr">&lt;<a href="mailto:fpuga@icarto.es" target="_blank">fpuga@icarto.es</a>&gt;</span> escribió:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hola,<br>
<br>
En la v1 las clases SingleDBConnectionManager o<br>
SingleVectorialDBConnectionManager permitían crear o registrar una<br>
conexión a una base de datos.<br>
<br>
¿Hay algún equivalente en la v2?<br>
<br>
Algún ejemplo de como crear y registrar una conexión a una bd postgres<br>
para luego cargar una capa por código sería genial :)<br></blockquote></div></div><div><br>Hola Francisco.<br><br>Me temo que no existe el equivalente en gvSIG 2.<br><br>Lo mas parecido podria ser el DataServerExplorerPool (que se puede obtener a traves del DataManager); pero no es exactamente lo que quieres, ya que es un pool de DataServerExplorer mientras lo que entiendo que quieres es un pool de DataStore.<br><br>Para la 2.3, tengo casi casi un pequeño script que le permitira al usuario mantener un &quot;catalogo&quot; de parametros de DataStore (el usuario simplemente lo ve como un catalogo de capas) que le permite añadir rapidamente una capa a la vista. Es posible que lo que precises sea eso, pero solo funcionara sobre la 2.3. Tiene un pequeño API a traves del ActionInfo que te permitira:<br>- añadir una capa del catalogo a la vista activa<br>- recuperar una capa del catalogo sin añadirla a la vista<br>- recuperar un DataStore del catalogo<br>- recuperar un DataStoreParameters del catalogo<br>- añadir una capa al catalogo<br>- añadir un DataStore al catalogo<br>- añadir un DataStoreParameters al catalogo<br><br>Pero me temo que no se podra empezar a probar hasta gvSIG 2.3 RC2.<br><br>Un saludo<br>Joaquin<br><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
_______________________________________________<br>
gvSIG_desarrolladores mailing list<br>
<a href="mailto:gvSIG_desarrolladores@listserv.gva.es" target="_blank">gvSIG_desarrolladores@listserv.gva.es</a><br>
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: <a href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" rel="noreferrer" target="_blank">https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores</a><span class="HOEnZb"><font color="#888888"><br>
</font></span></blockquote></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><br>-- <br><div data-smartmail="gmail_signature">--------------------------------------<br>Joaquin Jose del Cerro Murciano<br>Development and software arquitecture manager at gvSIG Team<br><a href="mailto:jjdelcerro@gvsig.com" target="_blank">jjdelcerro@gvsig.com</a><br><a href="mailto:jjdelcerro@gvsig.org" target="_blank">jjdelcerro@gvsig.org</a><br>gvSIG Association<br><a href="http://www.gvsig.com" target="_blank">www.gvsig.com</a><br><a href="http://www.gvsig.org" target="_blank">www.gvsig.org</a></div>
</font></span></div></div>
<br>_______________________________________________<br>
gvSIG_desarrolladores mailing list<br>
<a href="mailto:gvSIG_desarrolladores@listserv.gva.es">gvSIG_desarrolladores@listserv.gva.es</a><br>
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: <a href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" rel="noreferrer" target="_blank">https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Francisco Puga</div><div>iCarto | Innovación, Cooperación, Cartografía y Territorio S.L.</div><div><a href="http://www.icarto.es/" target="_blank">http://www.icarto.es/</a></div><div><br></div><div>c/ Rafael Alberti nº 13 – 1º D</div><div>15008 A Coruña</div><div>Galicia (Spain)</div><div>+34 881927808</div><div><br></div><div>Este correo electrónico contiene información estrictamente confidencial y es de uso exclusivo del destinatario, quedando prohibida a cualquier otra persona su revelación, copia, distribución, o el ejercicio de cualquier acción relativa a su contenido. Si ha recibido este mensaje por error, por favor conteste a su remitente mediante correo electrónico y proceda a borrarlo de su sistema.</div><div><br></div><div>Sus datos personales serán tratados de forma confidencial y no serán cedidos a terceros ajenos a ICARTO. En cualquier caso, podrá ejercer los derecho de oposición, acceso, rectificación y cancelación de acuerdo con lo establecido en la Ley Orgánica 15/99, de 13 de diciembre, de Protección de Datos de Carácter Personal dirigiéndose a Innovación, Cooperación, Cartografía e Territorio, SL. (ICARTO) en la dirección postal a C/ Rafael Alberti, nº 13, 1ºD, 15.008 – (A Coruña).</div></div></div>
</div>