Hola Joaquín, Gracias por el post es muy ilustrativo.
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. 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). Lo que tengo dudas es en el acceso al FeatureSet. Cuando se hace la petición a la bd ¿cuando se crea el fastIterator? El 4 de junio de 2016, 15:10, Joaquin Jose del Cerro Murciano < jjdelce...@gvsig.org> escribió: > > > El 4 de junio de 2016, 12:52, Francisco Puga <fp...@icarto.es> escribió: > >> Hola, >> >> 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: >> >> int pos = 0; >> FLyrVect lyr = null; >> IFeature feature = lyr.getSource().getFeature(pos); >> >> 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? >> >> public static FeatureReference getFeature(FeatureStore fs , long feature) >> { >> FeatureReference ref = null; >> FeatureSet featSet = null; >> DisposableIterator fastIterator = null; >> try { >> featSet = fs.getFeatureSet(); >> fastIterator = featSet.fastIterator(feature); >> Feature feat = (Feature) fastIterator.next(); >> ref = feat.getReference(); >> } catch (DataException e) { >> logger.error(e.getStackTrace(),e); >> } finally { >> DisposeUtils.dispose(fastIterator); >> DisposeUtils.dispose(featSet); >> } >> return ref; >> } >> >> > Hola Francisco, > en lugar de contestarte aquí he preferido crear un pequeño articulo en el > blog de gvSIG comentando sobre esto. > > Puedes encontrar el articulo en: > > > https://blog.gvsig.org/2016/06/04/accediendo-a-un-feature-por-posicion-en-gvsig-desktop-2-3-0/ > > También te recomiendo que le eches un vistazo a: > > > https://blog.gvsig.org/2015/04/21/recomendaciones-y-trucos-para-desarrollar-con-gvsig-2-1-1-recorriendo-datos/ > > Espero que te sirva, y no dudéis en preguntar las dudas, trataremos de > contestar en cuanto podamos. > > Un saludo > Joaquin > > > > > >> Saludos. Gracias >> >> _______________________________________________ >> gvSIG_desarrolladores mailing list >> gvSIG_desarrolladores@listserv.gva.es >> Para ver histórico de mensajes, editar sus preferencias de usuario o >> darse de baja en esta lista, acuda a la siguiente dirección: >> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores >> >> > > > -- > -------------------------------------- > Joaquin Jose del Cerro Murciano > Development and software arquitecture manager at gvSIG Team > jjdelce...@gvsig.com > jjdelce...@gvsig.org > gvSIG Association > www.gvsig.com > www.gvsig.org > > _______________________________________________ > gvSIG_desarrolladores mailing list > gvSIG_desarrolladores@listserv.gva.es > Para ver histórico de mensajes, editar sus preferencias de usuario o darse > de baja en esta lista, acuda a la siguiente dirección: > https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores > > -- Francisco Puga iCarto | Innovación, Cooperación, Cartografía y Territorio S.L. http://www.icarto.es/ c/ Rafael Alberti nº 13 – 1º D 15008 A Coruña Galicia (Spain) +34 881927808 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. 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).
_______________________________________________ gvSIG_desarrolladores mailing list gvSIG_desarrolladores@listserv.gva.es Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores