package eu.dnetlib.ariadneplus.elasticsearch.model; import com.google.gson.Gson; import com.google.gson.JsonElement; import java.util.Map; public class AriadneGeoPoint { private String lat; private String lon; public String getLat() { return lat; } public void setLat(String lat) { this.lat = lat; } public String getLon() { return lon; } public void setLon(String lon) { this.lon = lon; } public AriadneGeoPoint() { } public static AriadneGeoPoint fromJson (String json){ return new Gson().fromJson(json, AriadneGeoPoint.class); } public static AriadneGeoPoint fromRDFJson(JsonElement json){ AriadneGeoPoint agp = new AriadneGeoPoint(); for (Map.Entry stringJsonElementEntry : json.getAsJsonObject().entrySet()) { switch (stringJsonElementEntry.getKey()){ case "https://www.ariadne-infrastructure.eu/property/lat": agp.setLat(stringJsonElementEntry.getValue().getAsJsonArray().get(0).getAsJsonObject().get("value").getAsString()); break; case "https://www.ariadne-infrastructure.eu/property/lon": agp.setLon(stringJsonElementEntry.getValue().getAsJsonArray().get(0).getAsJsonObject().get("value").getAsString()); break; } } return agp; } }