// Path: flyAgent/src/main/java/com/agun/agent/model/AgentMemoryStore.java
// public class AgentMemoryStore {
// 
// 	private static AgentMemoryStore agentMemory = new AgentMemoryStore();
// 	private List<AgentMeta> agentMetaList;
// 	private FlyJenkinsInfo flyJenkinsInfo = null;
// 	
// 	public static AgentMemoryStore getInstance(){
// 		return agentMemory;
// 	}
// 
// 	private AgentMemoryStore(){
// 		agentMetaList = new ArrayList<AgentMeta>();
// 	}
// 	
// 	public void addAgentMeta(AgentMeta agentMeta){
// 		int agentId = delAgentMeta(agentMeta.getServiceId());
// 		if(agentId > 0)
// 			agentMeta.setId(agentId);
// 		this.agentMetaList.add(agentMeta);
// 	}
// 	
// 	public List<AgentMeta> getAgentMetaList(){
// 		return this.agentMetaList;
// 	}
// 
// 	public AgentMeta getAgentMeta(int agentId){
// 		for(AgentMeta agentMeta : agentMetaList){
// 			if(agentMeta.getId() == agentId)
// 				return agentMeta;
// 		}
// 		return null;
// 	}
// 
// 	public int getAgentTotalSize(){
// 		return agentMetaList.size();
// 	}
// 	
// 	public int delAgentMeta(int serviceId){
// 		int agentId = 0;
// 		if(agentMetaList == null)
// 			return 0;
// 		for(AgentMeta agentMeta : agentMetaList){
// 			if(agentMeta.getServiceId() == serviceId){
// 				agentId = agentMeta.getId();
// 				agentMetaList.remove(agentMeta);
// 				break;
// 			}
// 		}
// 		return agentId;
// 	}
// 	
// 	
// 	public FlyJenkinsInfo getFlyJenkinsInfo() {
// 		return flyJenkinsInfo;
// 	}
// 
// 	public void setFlyJenkinsInfo(FlyJenkinsInfo flyJenkinsInfo) {
// 		this.flyJenkinsInfo = flyJenkinsInfo;
// 	}
// 	
// 	
// 	
// }
// 
// Path: flyAgent/src/main/java/com/agun/agent/model/AgentMeta.java
// public class AgentMeta {
// 
// 	private int id;
// 	private int type;
// 	private int pid;
// 	private int serviceId;
// 	
// 	private String command;
// 	private String testUrl;
// 	
// 	private String destination;
// 	
// 	public int getId() {
// 		return id;
// 	}
// 	public void setId(int id) {
// 		this.id = id;
// 	}
// 	public String getDestination() {
// 		return destination;
// 	}
// 	public void setDestination(String destination) {
// 		this.destination = destination;
// 	}
// 	public int getType() {
// 		return type;
// 	}
// 	public void setType(int type) {
// 		this.type = type;
// 	}
// 	public int getPid() {
// 		return pid;
// 	}
// 	public void setPid(int pid) {
// 		this.pid = pid;
// 	}
// 	public String getCommand() {
// 		return command;
// 	}
// 	public void setCommand(String command) {
// 		this.command = command;
// 	}
// 	public int getServiceId() {
// 		return serviceId;
// 	}
// 	public void setServiceId(int serviceId) {
// 		this.serviceId = serviceId;
// 	}
// 	public String getTestUrl() {
// 		return testUrl;
// 	}
// 	public void setTestUrl(String testUrl) {
// 		this.testUrl = testUrl;
// 	}
// }


import hudson.FilePath;
import java.io.File;
import java.io.IOException;
import java.util.List;
import com.agun.agent.model.AgentMemoryStore;
import com.agun.agent.model.AgentMeta;

package com.agun.system;




public class AgentInfoManager {

	public static String getAgnetHome(){
		String agentHome = System.getenv("FLY_AGENT_HOME");
		if(agentHome == null)
			return ".";
		return agentHome;
	}
	
	public static String getProductionPath(int serverId, String productionPath){
		return AgentInfoManager.getAgnetHome() + "/production/" + serverId + "/" + productionPath; 
	}
	
	public static void checkProductionDir(int serverId){
		String tagret = AgentInfoManager.getAgnetHome() + "/production/" + serverId;
		FilePath filePath = new FilePath(new File(tagret));
		try {
			if(filePath.exists() == false){
				filePath.mkdirs();
			}
		} catch (IOException e) {
			e.printStackTrace();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
	
	public static int getAgentMaxId(){

// Path: flyAgent/src/main/java/com/agun/agent/model/AgentMemoryStore.java
// public class AgentMemoryStore {
// 
// 	private static AgentMemoryStore agentMemory = new AgentMemoryStore();
// 	private List<AgentMeta> agentMetaList;
// 	private FlyJenkinsInfo flyJenkinsInfo = null;
// 	
// 	public static AgentMemoryStore getInstance(){
// 		return agentMemory;
// 	}
// 
// 	private AgentMemoryStore(){
// 		agentMetaList = new ArrayList<AgentMeta>();
// 	}
// 	
// 	public void addAgentMeta(AgentMeta agentMeta){
// 		int agentId = delAgentMeta(agentMeta.getServiceId());
// 		if(agentId > 0)
// 			agentMeta.setId(agentId);
// 		this.agentMetaList.add(agentMeta);
// 	}
// 	
// 	public List<AgentMeta> getAgentMetaList(){
// 		return this.agentMetaList;
// 	}
// 
// 	public AgentMeta getAgentMeta(int agentId){
// 		for(AgentMeta agentMeta : agentMetaList){
// 			if(agentMeta.getId() == agentId)
// 				return agentMeta;
// 		}
// 		return null;
// 	}
// 
// 	public int getAgentTotalSize(){
// 		return agentMetaList.size();
// 	}
// 	
// 	public int delAgentMeta(int serviceId){
// 		int agentId = 0;
// 		if(agentMetaList == null)
// 			return 0;
// 		for(AgentMeta agentMeta : agentMetaList){
// 			if(agentMeta.getServiceId() == serviceId){
// 				agentId = agentMeta.getId();
// 				agentMetaList.remove(agentMeta);
// 				break;
// 			}
// 		}
// 		return agentId;
// 	}
// 	
// 	
// 	public FlyJenkinsInfo getFlyJenkinsInfo() {
// 		return flyJenkinsInfo;
// 	}
// 
// 	public void setFlyJenkinsInfo(FlyJenkinsInfo flyJenkinsInfo) {
// 		this.flyJenkinsInfo = flyJenkinsInfo;
// 	}
// 	
// 	
// 	
// }
// 
// Path: flyAgent/src/main/java/com/agun/agent/model/AgentMeta.java
// public class AgentMeta {
// 
// 	private int id;
// 	private int type;
// 	private int pid;
// 	private int serviceId;
// 	
// 	private String command;
// 	private String testUrl;
// 	
// 	private String destination;
// 	
// 	public int getId() {
// 		return id;
// 	}
// 	public void setId(int id) {
// 		this.id = id;
// 	}
// 	public String getDestination() {
// 		return destination;
// 	}
// 	public void setDestination(String destination) {
// 		this.destination = destination;
// 	}
// 	public int getType() {
// 		return type;
// 	}
// 	public void setType(int type) {
// 		this.type = type;
// 	}
// 	public int getPid() {
// 		return pid;
// 	}
// 	public void setPid(int pid) {
// 		this.pid = pid;
// 	}
// 	public String getCommand() {
// 		return command;
// 	}
// 	public void setCommand(String command) {
// 		this.command = command;
// 	}
// 	public int getServiceId() {
// 		return serviceId;
// 	}
// 	public void setServiceId(int serviceId) {
// 		this.serviceId = serviceId;
// 	}
// 	public String getTestUrl() {
// 		return testUrl;
// 	}
// 	public void setTestUrl(String testUrl) {
// 		this.testUrl = testUrl;
// 	}
// }


// Path: flyAgent/src/main/java/com/agun/system/AgentInfoManager.java
import hudson.FilePath;
import java.io.File;
import java.io.IOException;
import java.util.List;
import com.agun.agent.model.AgentMemoryStore;
import com.agun.agent.model.AgentMeta;

package com.agun.system;




public class AgentInfoManager {

	public static String getAgnetHome(){
		String agentHome = System.getenv("FLY_AGENT_HOME");
		if(agentHome == null)
			return ".";
		return agentHome;
	}
	
	public static String getProductionPath(int serverId, String productionPath){
		return AgentInfoManager.getAgnetHome() + "/production/" + serverId + "/" + productionPath; 
	}
	
	public static void checkProductionDir(int serverId){
		String tagret = AgentInfoManager.getAgnetHome() + "/production/" + serverId;
		FilePath filePath = new FilePath(new File(tagret));
		try {
			if(filePath.exists() == false){
				filePath.mkdirs();
			}
		} catch (IOException e) {
			e.printStackTrace();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
	
	public static int getAgentMaxId(){

		AgentMemoryStore agentMemoryStore = AgentMemoryStore.getInstance();
