@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);
 }
예제 #2
0
  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();
  }