2024-11-23 20:50:11 +01:00

41 lines
1.3 KiB
Java

package eirb.pg203.fakeJSONFetcher;
import eirb.pg203.utils.FileResourcesUtils;
import eirb.pg203.utils.JSONFetcher;
import eirb.pg203.utils.JSONFetcherInterface;
import eirb.pg203.utils.SplitQueryUrl;
import org.json.JSONArray;
import org.json.JSONObject;
import java.io.IOException;
import java.net.URL;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
public class FakeJSONFetcherCity implements JSONFetcherInterface {
JSONObject unknownCity = FileResourcesUtils.getFileFromResourceAsJson("City/fakeCity.json");
private static HashMap<String, JSONObject> cities(){
HashMap<String, JSONObject> cities = new HashMap<>();
cities.put("bordeaux", FileResourcesUtils.getFileFromResourceAsJson("City/bordeaux.json"));
cities.put("paris", FileResourcesUtils.getFileFromResourceAsJson("City/paris.json"));
cities.put("unknown", FileResourcesUtils.getFileFromResourceAsJson("City/fakeCity.json"));
return cities;
}
@Override
public JSONObject fetch(URL url) throws IOException {
Map<String, String> params = SplitQueryUrl.splitQuery(url);
String city = params.get("q").toLowerCase(Locale.ENGLISH);
return cities().getOrDefault(city, unknownCity);
}
@Override
public JSONArray fetchArray(URL url) throws IOException {
return null;
}
}