@Override protected F computeNext() { if (!iterator.hasNext()) { return endOfData(); } F next = iterator.next(); String featureId = next.getIdentifier().getID(); Ref ref = currentTypeTree.get(featureId); String versionId = ref == null ? null : ref.getObjectId().toString(); return VersionedFeatureWrapper.wrap(next, versionId); }
public static <T extends FeatureType, F extends Feature> void featureIdSetToJson( FeatureCollection<T, F> features, JSONBuilder json) { json.object(); json.key("objectIdFieldName"); json.value("objectid"); // TODO: Advertise "real" identifier property FeatureIterator<F> iterator = features.features(); try { json.key("objectIds"); json.array(); while (iterator.hasNext()) { F feature = iterator.next(); json.value(adaptId(feature.getIdentifier().getID())); } json.endArray(); } finally { iterator.close(); } json.endObject(); }