package com.ese2013.mensaunibe.model.mensa;
import java.util.ArrayList;
import org.json.*;
import android.util.Log;
import com.ese2013.mensaunibe.model.api.ApiUrl;
import com.ese2013.mensaunibe.model.data.DataRequest;
import com.ese2013.mensaunibe.model.menu.MenuData;
/**
* @author group7
* @author Andreas Hohler
*/
public class MensaData {
private static final String TAG = "MensaData";
private DataRequest rq;
private final ArrayList<Mensa> mensas;
public MensaData() {
rq = new DataRequest();
mensas = new ArrayList<Mensa>();
}
/**
* returns a ArrayList of all loaded Mensas without reload
* @return ArrayList of Mensas
*/
public ArrayList<Mensa> getMensaList() {
return getMensaList(false);
}
/**
* Initial start of the loading process
* Sets all needed settings for the request
* @param forceReload: true if force reload, or false if not
* @return ArrayList of loaded Mensas
*/
public ArrayList<Mensa> getMensaList(boolean forceReload) {
rq.setUrl( ApiUrl.API_MENSA_LIST );
rq.setType( ApiUrl.API_TYP_MENSA, forceReload );
try {
rq.execute();
JSONArray js = rq.getJSONData().getJSONArray("content");
for(int i = 0; i<js.length(); i++) {
JSONObject m = js.getJSONObject(i);
MensaBuilder mb = new MensaBuilder(m);
Mensa mensa = mb.create();
MenuData md = new MenuData();
mensa.setWeeklyMenu( md.getWeeklyMenuList( mensa.getId() ) );
//Log.i(TAG, mensa.toString());
mensas.add( mensa );
}
}
catch(Exception e) {
Log.e(TAG, e.getMessage());
}
return mensas;
}
}