<div dir="ltr">Hola Joaquín,<div><br></div><div>Gracias por el post es muy ilustrativo.</div><div><br></div><div>La aproximación que estoy tomando para hacer la migración es tratar de hacer una traducción 1 a 1, creando incluso clases auxiliares que me provean de un comportamiento similar a la v1.x. Una vez que consiga tenerlo funcionando mi idea es refactorizar hacia una estructura más acorde a la v2. Igual me equivoco pero hice una prueba rápida e intentar migrar directamente a una estructura como la v2 introduce demasiados bugs. De la otra forma puedo tenerlo funcionando relativamente rápido y en función del tiempo disponible priorizar tareas.</div><div><br></div><div>Tendría que revisar un poco el código pero por lo que explicas en el post entiendo que con FeaturePagingHelper me traigo a memoria un número de features igual al del tamaño de página y cuando pido una feature fuera de la página actual hago otra petición (a bd o lo que sea).</div><div><br></div><div>Lo que tengo dudas es en el acceso al FeatureSet. Cuando se hace la petición a la bd ¿cuando se crea el fastIterator?</div></div><div class="gmail_extra"><br><div class="gmail_quote">El 4 de junio de 2016, 15:10, 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"><span class="">El 4 de junio de 2016, 12:52, 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"><div dir="ltr">Hola,
<div><br></div><div>Estoy tratando de migrar código de la 1 a la 2. En la 1 era muy habitual acceder a una feature de la capa por posición con un código de este estilo:</div><div><br></div><div>int pos = 0;</div><div>FLyrVect lyr = null;</div><div>IFeature feature = lyr.getSource().getFeature(pos);<br></div><div><br></div><div>Cual sería la forma lógica de hacer esto en la 2. Ahora mismo estoy probando a acceder mediante un iterator inicializado a esa posición concreta, pero igual tiene más sentido con un FeatureQuery, ¿Podéis poner un ejemplo de como sería con el FeatureQuery?</div><div><br></div><div><div>public static FeatureReference getFeature(FeatureStore fs , long feature) {</div><div><span style="white-space:pre-wrap">        </span>FeatureReference ref = null;</div><div><span style="white-space:pre-wrap">        </span>FeatureSet featSet = null;</div><div><span style="white-space:pre-wrap">        </span>DisposableIterator fastIterator = null;</div><div><span style="white-space:pre-wrap">        </span>try {</div><div><span style="white-space:pre-wrap">                </span>featSet = fs.getFeatureSet();</div><div><span style="white-space:pre-wrap">                </span>fastIterator = featSet.fastIterator(feature);</div><div><span style="white-space:pre-wrap">                </span>Feature feat = (Feature) fastIterator.next();</div><div><span style="white-space:pre-wrap">                </span>ref = feat.getReference();</div><div><span style="white-space:pre-wrap">        </span>} catch (DataException e) {</div><div><span style="white-space:pre-wrap">                logger.error(e.getStackTrace(),e);</span></div><div><span style="white-space:pre-wrap">        </span>} finally {</div><div><span style="white-space:pre-wrap">                </span>DisposeUtils.dispose(fastIterator);</div><div><span style="white-space:pre-wrap">                </span>DisposeUtils.dispose(featSet);</div><div><span style="white-space:pre-wrap">        </span>}</div><div><span style="white-space:pre-wrap">        </span>return ref;</div><div>}</div></div><div><br></div></div></blockquote></span><div><br>Hola Francisco,<br>en lugar de contestarte aquí he preferido crear un pequeño articulo en el blog de gvSIG comentando sobre esto.<br><br>Puedes encontrar el articulo en:<br><br><a href="https://blog.gvsig.org/2016/06/04/accediendo-a-un-feature-por-posicion-en-gvsig-desktop-2-3-0/" target="_blank">https://blog.gvsig.org/2016/06/04/accediendo-a-un-feature-por-posicion-en-gvsig-desktop-2-3-0/</a><br><br>También te recomiendo que le eches un vistazo a: <br><br><a href="https://blog.gvsig.org/2015/04/21/recomendaciones-y-trucos-para-desarrollar-con-gvsig-2-1-1-recorriendo-datos/" target="_blank">https://blog.gvsig.org/2015/04/21/recomendaciones-y-trucos-para-desarrollar-con-gvsig-2-1-1-recorriendo-datos/</a><br><br>Espero que te sirva,  y no dudéis en preguntar las dudas, trataremos de contestar en cuanto podamos.<br><br>Un saludo<br>Joaquin<br><br><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"><div dir="ltr"><div></div><div>Saludos. Gracias</div></div>
<br>_______________________________________________<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><br>
<br></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>