package com.papagiannis.tuberun.fetchers; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; public abstract class DeparturesFetcher extends Fetcher { private static final long serialVersionUID = 4L; protected ArrayList<HashMap<String, String>> departures = new ArrayList<HashMap<String, String>>(); protected String error = ""; public HashMap<String, ArrayList<HashMap<String, String>>> getDepartures() { HashMap<String, ArrayList<HashMap<String, String>>> categorised = new HashMap<String, ArrayList<HashMap<String, String>>>(); for (HashMap<String, String> train : departures) { String platform=train.get("platform"); if (!categorised.containsKey(platform)) { categorised.put(platform, new ArrayList<HashMap<String, String>>()); } categorised.get(train.get("platform")).add(train); } return categorised; } public ArrayList<HashMap<String, String>> getDepartures(String platform) { ArrayList<HashMap<String, String>> result = new ArrayList<HashMap<String, String>>(); for (HashMap<String, String> d : departures) { if (d.get("platform").equalsIgnoreCase(platform)) { result.add(d); } } return result; } public ArrayList<HashMap<String, String>> getUnsortedDepartures() { return new ArrayList<HashMap<String,String>>(departures); } @Override public Date getUpdateTime() { return new Date(); } public String getError() { return error; } }