// Path: src/core/iface/INetworkData.java
// public interface INetworkData extends IData {
// 
// 	public String[] getServerLabels();
// 
// 	public String[] getDeviceLabels();
// 
// 	public String[] getDeviceMacs();
// 
// 	public String[] getServerProfiles(String server);
// 
// 	public String getServerData(String server, String label);
// 
// 	public String getServerUser(String server);
// 
// 	public String getServerIP(String server);
// 
// 	public String getServerPort(String server);
// 	
// 	public String getServerUpdate(String server);
// }
// 
// Path: src/core/iface/IProfile.java
// public interface IProfile {
// 
// 	public String getLabel();
// 
// 	public boolean isSingleton();
// 
// 	public Vector<IProfile> getUnits(String server, INetworkData data);
// 
// }


import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import core.iface.INetworkData;
import core.iface.IProfile;
package core.profile;



public abstract class AProfile implements IProfile {

	protected String name;

	protected AProfile(String name) {
		this.name = name;
	}

	public String getLabel() {
		return name;
	}

	public boolean isSingleton() {
		return false;
	}

	public static String getProperty(String prop, String prof, String server, INetworkData data) {
		try {
			String val = data.getServerData(server, prof);
			JSONParser parser = new JSONParser();
			JSONObject config = (JSONObject) parser.parse(val);
			return config.get(prop).toString();
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return "";
	}
	
// Path: src/core/iface/INetworkData.java
// public interface INetworkData extends IData {
// 
// 	public String[] getServerLabels();
// 
// 	public String[] getDeviceLabels();
// 
// 	public String[] getDeviceMacs();
// 
// 	public String[] getServerProfiles(String server);
// 
// 	public String getServerData(String server, String label);
// 
// 	public String getServerUser(String server);
// 
// 	public String getServerIP(String server);
// 
// 	public String getServerPort(String server);
// 	
// 	public String getServerUpdate(String server);
// }
// 
// Path: src/core/iface/IProfile.java
// public interface IProfile {
// 
// 	public String getLabel();
// 
// 	public boolean isSingleton();
// 
// 	public Vector<IProfile> getUnits(String server, INetworkData data);
// 
// }


// Path: src/core/profile/AProfile.java
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import core.iface.INetworkData;
import core.iface.IProfile;

package core.profile;



public abstract class AProfile implements IProfile {

	protected String name;

	protected AProfile(String name) {
		this.name = name;
	}

	public String getLabel() {
		return name;
	}

	public boolean isSingleton() {
		return false;
	}

	public static String getProperty(String prop, String prof, String server, INetworkData data) {
		try {
			String val = data.getServerData(server, prof);
			JSONParser parser = new JSONParser();
			JSONObject config = (JSONObject) parser.parse(val);
			return config.get(prop).toString();
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return "";
	}
	
	public static String getProperties(String prop, String prof, String server, INetworkData data) {