Better replacement tag handling

Signed-off-by: Taylor Smock <taylor.smock@kaart.com>
pull/1/head
Taylor Smock 2020-06-04 08:51:58 -06:00
rodzic 978c175d26
commit 0b10f3f927
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 625F6A74A3E4311A
1 zmienionych plików z 9 dodań i 2 usunięć

Wyświetl plik

@ -153,6 +153,7 @@ public class ESRISourceReader implements Closeable {
JsonObject info = reader.readObject();
JsonArray layers = info.getJsonArray("layers");
// TODO use all the layers?
JsonObject layer = layers.get(0).asJsonObject();
String partialUrl = (url.endsWith("/") ? url : url + "/") + layer.getInt("id");
mapwithaiInfo.setReplacementTags(getReplacementTags(partialUrl));
@ -169,15 +170,21 @@ public class ESRISourceReader implements Closeable {
try (CachedFile featureServer = new CachedFile(toGet);
BufferedReader br = featureServer.getContentReader();
JsonReader reader = Json.createReader(br)) {
return reader.readObject().getJsonArray("fields").getValuesAs(JsonObject.class).stream()
.collect(Collectors.toMap(o -> o.getString("name"), o -> o.getString("alias", null)));
.collect(Collectors.toMap(o -> o.getString("name"), ESRISourceReader::getReplacementTag));
} catch (IOException e) {
Logging.error(e);
}
return Collections.emptyMap();
}
private static String getReplacementTag(JsonObject tag) {
if (tag.getBoolean("editable", true) && !"esriFieldTypeOID".equals(tag.getString("type", null))) {
return tag.getString("alias", "");
}
return "";
}
/**
* Sets whether opening HTTP connections should fail fast, i.e., whether a
* {@link HttpClient#setConnectTimeout(int) low connect timeout} should be used.