Hola, Antes con una tabla alfanumérica proveniente de postgres usaba un código como este para filtrar algunas features de la tabla que me interesaban, y estas features tenían todos los atributos:
```java FeatureStore store = my_get_feature_store_from_the_tabledocument() // no relevante. capa con al menos columnas: gid, bar, foo boolean hasFilter = si_tiene_que_tener_filtro(); // no relevante DataManager dataManager = DALLocator.getDataManager(); FeatureQuery query = store.createFeatureQuery(); if (hasFillter()) { String where = "foo = 5"; Evaluator evaluator = dataManager.createExpresion(where) // ahora sería createFilter query.addFilter(evaluator); } FeaturePagingHelper set = manager.createFeaturePagingHelper(store, query, 10); // tenía todos los atributos Feature feat = set.getFeatureAt(position); feat.get("bar"); // IllegalArgumentException: Attribute name 'bar' not found in the feature. ``` Pero ahora al intentar acceder a un atributo de la feature que no está definido en el filtro obtengo un error. En otros métodos de store.createFeatureQuery(xxxx); veo que al final se hace un "query.retrievesAllAttributes();". ¿Este es el comportamiento esperado? Lo comento por si es un bug. He cambiado del siguiente modo y parece funcionar: ```java FeatureStore store = my_get_feature_store_from_the_tabledocument() // no relevante. capa con al menos columnas: gid, bar, foo boolean hasFilter = si_tiene_que_tener_filtro(); // no relevante DataManager dataManager = DALLocator.getDataManager(); FeatureQuery query = null; if (hasFillter()) { String where = "foo = 5"; store.createFeatureQuery(where, "", false); } else { store.createFeatureQuery("", "", false); } FeaturePagingHelper set = manager.createFeaturePagingHelper(store, query, 10); Feature feat = set.getFeatureAt(position); feat.get("bar"); // It works! ``` -- Francisco Puga iCarto | Innovación, Cooperación, Cartografía y Territorio S.L. http://www.icarto.es/
_______________________________________________ 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