package com.oreilly.demo.android.pa.clientserver.server;
import java.util.Set;
import java.util.HashSet;
import org.json.JSONObject;
import org.json.JSONArray;
import com.oreilly.demo.android.pa.clientserver.server.data.UsersData;
public final class Config {
public static final String DEBUGKEY = "debug";
public static final String HTTPSERVLETS = "httpservlets";
public static final String HTTPSERVLETPORT = "httpservletport";
public static final String USERDATA = "userdata";
private boolean DEBUG = false;
private HashSet<String> SERVLETS = new HashSet<String>();
private int SERVLETPORT = -1;
private UsersData userdata = null;
public Config() { }
public Config(JSONObject json) {
SERVLETPORT = json.optInt(HTTPSERVLETPORT, 8080);
DEBUG = json.optBoolean(DEBUGKEY, false);
SERVLETS = new HashSet<String>();
JSONArray servarr = json.optJSONArray(HTTPSERVLETS);
if(servarr != null && servarr.length() > 0) {
for(int i=0;i<servarr.length();i++) {
if(!servarr.isNull(i)) try { SERVLETS.add(servarr.getString(i)); } catch (Exception e) {}
}
}
if(json.has(USERDATA)) {
ServerStatic.info("Loading UserData: "+json.optString(USERDATA));
userdata = new UsersData(json.optString(USERDATA));
if(userdata != null) ServerStatic.info("Loaded UserData: "+json.optString(USERDATA));
else ServerStatic.error("FAILED to load UserData: "+json.optString(USERDATA));
}
}
public boolean debug() { return DEBUG; }
public Set<String> getServlets() { return SERVLETS; }
public int getServletPort() { return SERVLETPORT; }
public UsersData getUserData() { return userdata; }
}