package esri.mrm.mobile;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.os.Parcel;
import android.os.Parcelable;
public class StopsConfigurations implements Parcelable {
private String gepUrl;
private String agsUrl;
private String callback;
List<StopsConfiguration> configurations;
public StopsConfigurations(JSONObject jobj)
{
configurations = new ArrayList<StopsConfiguration>();
try {
JSONObject root = jobj.getJSONObject("stopsConfigurations");
callback = root.getString("callback");
gepUrl = root.getString("gepUrl");
agsUrl = root.getString("agsUrl");
// JSONArray configs = jobj.getJSONArray("stopsConfiguration");
Object obj = root.get("stopsConfiguration");
JSONArray configs = new JSONArray();
if(obj instanceof JSONArray)
{
configs = (JSONArray)obj;
}
else if(obj instanceof JSONObject)
{
configs.put(obj);
}
for(int i=0; i<configs.length(); i++)
{
JSONObject configJsonObj = configs.getJSONObject(i);
StopsConfiguration stopsConfig = new StopsConfiguration(configJsonObj);
configurations.add(stopsConfig);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public StopsConfiguration getStopsConfiguration(String type)
{
for(StopsConfiguration config : configurations)
{
if(config.getStopType().equals(type))
{
return config;
}
}
return null;
}
public String getCallback() {
return callback;
}
public void setCallback(String callback) {
this.callback = callback;
}
public List<StopsConfiguration> getConfigurations() {
return configurations;
}
public void setConfigurations(List<StopsConfiguration> configurations) {
this.configurations = configurations;
}
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(callback);
dest.writeList(configurations);
}
public String getGepUrl() {
return gepUrl;
}
public void setGepUrl(String gepUrl) {
this.gepUrl = gepUrl;
}
public String getAgsUrl() {
return agsUrl;
}
public void setAgsUrl(String agsUrl) {
this.agsUrl = agsUrl;
}
}