// Path: flyJenkins/src/main/java/com/agun/flyJenkins/FlyFactory.java
// public class FlyFactory {
// 
// 	public static PeriodWork getPeriodWork(){
// 		Jenkins jenkins = Jenkins.getInstance();
// 		ExtensionList<PeriodWork> extensionList  = jenkins.getExtensionList(PeriodWork.class);
// 		PeriodWork periodWork = extensionList.get(PeriodWork.class);
// 		return periodWork;
// 	}
// 	
// 	public static DeployInfo getDeployInfo(){
// 		Jenkins jenkins = Jenkins.getInstance();
// 		ExtensionList<DeployInfo> extensionList  = jenkins.getExtensionList(DeployInfo.class);
// 		DeployInfo deployInfo = extensionList.get(DeployInfo.class);
// 		return deployInfo;
// 	}
// 	
// 	public static IncreaseIndexer getIncreaseIndexer(){
// 		return IncreaseIndexer.getInstance();
// 	}
// 	
// 	public static Map<String, Object> getPropertiesOfJob(String name){
// 		Jenkins jenkins = Jenkins.getInstance();
// 	
// 		List<Item> itemList = jenkins.getAllItems();
// 	
// 		for(Item item : itemList){
// 			for(Job job : item.getAllJobs()){
// 				if(name.equals(job.getName())){
// 					return job.getProperties();
// 				}
// 			}
// 		}
// 		return null;
// 	}
// 	
// 	
// 	public static NetworkSpace getNetworkSpace(){
// 		return NetworkSpace.getInstance();
// 	}
// 	
// 	
// 	public static String getRootPathOfJob(String name){
// 		Jenkins jenkins = Jenkins.getInstance();
// 		List<Item> itemList = jenkins.getAllItems();
// 		for(Item item : itemList){
// 			for(Job job : item.getAllJobs()){
// 				if(name.equals(job.getName())){
// 					return job.getRootDir().getAbsolutePath();
// 				}
// 			}
// 		}
// 		return null;
// 	}
// }
// 
// Path: flyJenkins/src/main/java/com/agun/flyJenkins/request/RequestMap.java
// public class RequestMap {
// 	int type;
// 	Object arg;
// 	
// 	public int getType() {
// 		return type;
// 	}
// 	public void setType(int type) {
// 		this.type = type;
// 	}
// 	public Object getArg() {
// 		return arg;
// 	}
// 	public void setArg(Object arg) {
// 		this.arg = arg;
// 	}
// }
// 
// Path: flyJenkins/src/main/java/com/agun/flyJenkins/request/RequestQueue.java
// public class RequestQueue {
// 
// 	private Map<String, LinkedList<RequestMap>> requestQueueMap = new Hashtable<String, LinkedList<RequestMap>>();
// 
// 	public LinkedList<RequestMap> getRequest(String host){
// 		if(requestQueueMap.containsKey(host)){
// 			return requestQueueMap.get(host);
// 		}
// 		return null;
// 	}
// 	
// 	
// 	public void add(String host, RequestMap requestMap){
// 		if(requestQueueMap.containsKey(host)){
// 			requestQueueMap.get(host).add(requestMap);
// 		}else{
// 			LinkedList<RequestMap> requestQueue = new LinkedList<RequestMap>();
// 			requestQueue.add(requestMap);
// 			requestQueueMap.put(host, requestQueue);
// 		}
// 	}
// 	
// }
// 
// Path: flyJenkins/src/main/java/com/agun/flyJenkins/schedule/PeriodWork.java
// @Extension
// public class PeriodWork extends PeriodicWork {
// 	
// 	private RequestQueue requestQueue = new RequestQueue();
// 	private DeploySurveillant deploySurveillant = new DeploySurveillant();
// 	
// 	public RequestQueue getRequestQueue(){
// 		return requestQueue;
// 	}
// 
// 	public DeploySurveillant getDeploySurveillant(){
// 		return deploySurveillant;
// 	}
// 	
// 	public Map<String, DeployReport> getDeployReportMap(){
// 		return deploySurveillant.getDeployReportMap();
// 	}
// 	
// 	@Override
// 	public long getRecurrencePeriod() {
// 		//return MIN;
// 		return 10000;
// 	}
// 
// 	@IgnoreJRERequirement
// 	@Override
// 	protected void doRun() throws Exception {
// 		deploySurveillant.process();
// 	}
// }


import java.util.Collections;
import java.util.Hashtable;
import java.util.LinkedList;
import java.util.Map;
import com.agun.flyJenkins.FlyFactory;
import com.agun.flyJenkins.request.RequestMap;
import com.agun.flyJenkins.request.RequestQueue;
import com.agun.flyJenkins.schedule.PeriodWork;
package com.agun.flyJenkins.process;


public class FlyRequester implements FlyProcess {
	private static FlyRequester flyRequester = new FlyRequester();
	
	private FlyRequester(){
		
	}
	
	public static FlyRequester getInstance(){
		return FlyRequester.flyRequester;
	}
	
	private Map<String, Object> peekRequest(String host){
		
// Path: flyJenkins/src/main/java/com/agun/flyJenkins/FlyFactory.java
// public class FlyFactory {
// 
// 	public static PeriodWork getPeriodWork(){
// 		Jenkins jenkins = Jenkins.getInstance();
// 		ExtensionList<PeriodWork> extensionList  = jenkins.getExtensionList(PeriodWork.class);
// 		PeriodWork periodWork = extensionList.get(PeriodWork.class);
// 		return periodWork;
// 	}
// 	
// 	public static DeployInfo getDeployInfo(){
// 		Jenkins jenkins = Jenkins.getInstance();
// 		ExtensionList<DeployInfo> extensionList  = jenkins.getExtensionList(DeployInfo.class);
// 		DeployInfo deployInfo = extensionList.get(DeployInfo.class);
// 		return deployInfo;
// 	}
// 	
// 	public static IncreaseIndexer getIncreaseIndexer(){
// 		return IncreaseIndexer.getInstance();
// 	}
// 	
// 	public static Map<String, Object> getPropertiesOfJob(String name){
// 		Jenkins jenkins = Jenkins.getInstance();
// 	
// 		List<Item> itemList = jenkins.getAllItems();
// 	
// 		for(Item item : itemList){
// 			for(Job job : item.getAllJobs()){
// 				if(name.equals(job.getName())){
// 					return job.getProperties();
// 				}
// 			}
// 		}
// 		return null;
// 	}
// 	
// 	
// 	public static NetworkSpace getNetworkSpace(){
// 		return NetworkSpace.getInstance();
// 	}
// 	
// 	
// 	public static String getRootPathOfJob(String name){
// 		Jenkins jenkins = Jenkins.getInstance();
// 		List<Item> itemList = jenkins.getAllItems();
// 		for(Item item : itemList){
// 			for(Job job : item.getAllJobs()){
// 				if(name.equals(job.getName())){
// 					return job.getRootDir().getAbsolutePath();
// 				}
// 			}
// 		}
// 		return null;
// 	}
// }
// 
// Path: flyJenkins/src/main/java/com/agun/flyJenkins/request/RequestMap.java
// public class RequestMap {
// 	int type;
// 	Object arg;
// 	
// 	public int getType() {
// 		return type;
// 	}
// 	public void setType(int type) {
// 		this.type = type;
// 	}
// 	public Object getArg() {
// 		return arg;
// 	}
// 	public void setArg(Object arg) {
// 		this.arg = arg;
// 	}
// }
// 
// Path: flyJenkins/src/main/java/com/agun/flyJenkins/request/RequestQueue.java
// public class RequestQueue {
// 
// 	private Map<String, LinkedList<RequestMap>> requestQueueMap = new Hashtable<String, LinkedList<RequestMap>>();
// 
// 	public LinkedList<RequestMap> getRequest(String host){
// 		if(requestQueueMap.containsKey(host)){
// 			return requestQueueMap.get(host);
// 		}
// 		return null;
// 	}
// 	
// 	
// 	public void add(String host, RequestMap requestMap){
// 		if(requestQueueMap.containsKey(host)){
// 			requestQueueMap.get(host).add(requestMap);
// 		}else{
// 			LinkedList<RequestMap> requestQueue = new LinkedList<RequestMap>();
// 			requestQueue.add(requestMap);
// 			requestQueueMap.put(host, requestQueue);
// 		}
// 	}
// 	
// }
// 
// Path: flyJenkins/src/main/java/com/agun/flyJenkins/schedule/PeriodWork.java
// @Extension
// public class PeriodWork extends PeriodicWork {
// 	
// 	private RequestQueue requestQueue = new RequestQueue();
// 	private DeploySurveillant deploySurveillant = new DeploySurveillant();
// 	
// 	public RequestQueue getRequestQueue(){
// 		return requestQueue;
// 	}
// 
// 	public DeploySurveillant getDeploySurveillant(){
// 		return deploySurveillant;
// 	}
// 	
// 	public Map<String, DeployReport> getDeployReportMap(){
// 		return deploySurveillant.getDeployReportMap();
// 	}
// 	
// 	@Override
// 	public long getRecurrencePeriod() {
// 		//return MIN;
// 		return 10000;
// 	}
// 
// 	@IgnoreJRERequirement
// 	@Override
// 	protected void doRun() throws Exception {
// 		deploySurveillant.process();
// 	}
// }


// Path: flyJenkins/src/main/java/com/agun/flyJenkins/process/FlyRequester.java
import java.util.Collections;
import java.util.Hashtable;
import java.util.LinkedList;
import java.util.Map;
import com.agun.flyJenkins.FlyFactory;
import com.agun.flyJenkins.request.RequestMap;
import com.agun.flyJenkins.request.RequestQueue;
import com.agun.flyJenkins.schedule.PeriodWork;

package com.agun.flyJenkins.process;


public class FlyRequester implements FlyProcess {
	private static FlyRequester flyRequester = new FlyRequester();
	
	private FlyRequester(){
		
	}
	
	public static FlyRequester getInstance(){
		return FlyRequester.flyRequester;
	}
	
	private Map<String, Object> peekRequest(String host){
		
		PeriodWork periodWork = FlyFactory.getPeriodWork();