1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package com.rthoni.stssaguenay.dataaccess;
-
- import android.util.Pair;
-
- import com.rthoni.stssaguenay.dbo.LuDataAccessConfigDbo;
- import com.rthoni.stssaguenay.dbo.LuDbo;
- import com.rthoni.stssaguenay.dbo.StopsDbo;
-
- import org.json.JSONArray;
- import org.json.JSONException;
- import org.json.JSONObject;
-
- import java.util.HashMap;
- import java.util.List;
- import java.util.Locale;
- import java.util.Vector;
-
- /**
- * Created by robin on 9/29/16.
- */
- public class StopsDataAccess {
-
- public static class StopsDboRaw extends LuDbo {
-
- protected List<StopsDbo> _stops;
-
- @Override
- public void fromJson(JSONObject json) throws JSONException {
-
- _stops = new Vector<>();
- JSONArray features = json.getJSONArray("features");
- for (int i = 0; i < features.length(); ++i) {
- JSONObject obj = features.getJSONObject(i);
- JSONObject props = obj.getJSONObject("properties");
-
- JSONArray routes = props.getJSONArray("route_ids");
- List<String> routesStr = new Vector<>();
- for (int j = 0; j < routes.length(); ++j) {
- routesStr.add(routes.getString(j));
- }
-
- JSONArray pos = obj.getJSONObject("geometry").getJSONArray("coordinates");
-
- StopsDbo stop = new StopsDbo();
- stop.setId(obj.getString("id"));
- stop.setName(props.getString("name"));
- stop.setRoutes(routesStr);
- stop.setPosition(new Pair<Double, Double>(pos.getDouble(0), pos.getDouble(1)));
- _stops.add(stop);
- }
- }
-
- @Override
- public HashMap<String, Object> toArray() {
- return null;
- }
-
- public List<StopsDbo> getStops()
- {
- return _stops;
- }
- }
-
- public static LuPromise<List<StopsDbo>> getAll(LuDataAccessConfigDbo config, int unknownParam)
- {
- return LuRequest.get(config, StopsDboRaw.class, String.format(Locale.getDefault(), "transit/%d/week/stops.json", unknownParam))
- .map(new LuPromise.LuConverter<StopsDboRaw, List<StopsDbo>>() {
- @Override
- public List<StopsDbo> convert(StopsDboRaw data) {
- return data.getStops();
- }
- });
- }
- }
|