34 lines
1.3 KiB
Java
34 lines
1.3 KiB
Java
package eirb.pg203.weather.fakeJSONFetcher;
|
|
|
|
import eirb.pg203.weather.utils.FileResourcesUtils;
|
|
import eirb.pg203.weather.utils.SplitQueryUrl;
|
|
import eirb.pg203.weather.utils.JSONFetcher;
|
|
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 extends JSONFetcher{
|
|
JSONObject unknownCity = FileResourcesUtils.getFileFromResourceAsJson("City/fakeCity.json");
|
|
|
|
private static HashMap<String, JSONObject> cities(){
|
|
HashMap<String, JSONObject> cities = new HashMap<>();
|
|
cities.put("bordeaux", eirb.pg203.weather.utils.FileResourcesUtils.getFileFromResourceAsJson("City/bordeaux.json"));
|
|
cities.put("paris", eirb.pg203.weather.utils.FileResourcesUtils.getFileFromResourceAsJson("City/paris.json"));
|
|
cities.put("unknown", eirb.pg203.weather.utils.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);
|
|
}
|
|
} |