HttpRequest.java 5.75 KB
package com.ecar.apm.model;

import java.util.Date;
import java.util.HashMap;

import com.ecar.apm.util.GuidGenerator;
import com.github.pagehelper.StringUtil;


public class HttpRequest {

    private static final long serialVersionUID = 1826152029135090793L;

	public static HttpRequest getHttpRequest(HttpRequestForm httpRequestForm){
		HttpRequest httpRequest = new HttpRequest();
		httpRequest.setGuid(httpRequestForm.getGuid());
		httpRequest.setPguid(httpRequestForm.getPguid());
		httpRequest.setHttpMethod(httpRequestForm.getHttpMethod());
		httpRequest.setUrl(httpRequestForm.getUrl());
		httpRequest.setHeaders(httpRequestForm.getHeaders());
		httpRequest.setParameters(httpRequestForm.getParameters());
		httpRequest.setConditionType(httpRequestForm.getConditionType());
		httpRequest.setCondition(httpRequestForm.getCondition());
		httpRequest.setResultType(httpRequestForm.getResultType());
		httpRequest.setVariables(httpRequestForm.getVariables());
		httpRequest.setMaxConnectionSeconds(httpRequestForm.getMaxConnectionSeconds());
		return httpRequest;
	}

	public enum CheckCondition {
		CONTAINS, DOESNT_CONTAIN, STATUSCODE, DEFAULT
	}
	public enum HttpMethod {
		GET, HEAD, POST, PUT, DELETE
	}
	
	public enum ResultType {
		XML, JSON
	}    
	
	private int id;
	
	private String guid;

	private String pguid;
	
	private int sort = 1;//序号

    private String url;//地址

    private String remark;//备注

	private CheckCondition conditionType = CheckCondition.DEFAULT;//结果校验类型(包含,不包含,状态码,默认200)

	private String condition;//结果校验内容
	
	private ResultType resultType;//返回结果类型(xml,json)
	
	private HttpMethod httpMethod;//http方法(get,head,post,put,delete)

	private String headers;

	private String parameters;

	private String variables;
	
	private HashMap<String,String> headersMap = new HashMap<String,String>();//请求头部

	private HashMap<String,String> parametersMap = new HashMap<String,String>();//请求参数
	
	private HashMap<String,String> variablesMap = new HashMap<String,String>();//变量
	
    private int maxConnectionSeconds = 30;//最大超时时间

    private Date createTime;

    private boolean archived;//是否删除(0-有效,1-删除)
    
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getGuid() {
		return guid;
	}

	public void setGuid(String guid) {
		this.guid = guid;
	}

	public String getPguid() {
		return pguid;
	}

	public void setPguid(String pguid) {
		this.pguid = pguid;
	}

	public int getSort() {
		return sort;
	}

	public void setSort(int sort) {
		this.sort = sort;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public CheckCondition getConditionType() {
		return conditionType;
	}

	public void setConditionType(CheckCondition conditionType) {
		this.conditionType = conditionType;
	}

	
	public ResultType getResultType() {
		return resultType;
	}

	public void setResultType(ResultType resultType) {
		this.resultType = resultType;
	}

	public HttpMethod getHttpMethod() {
		return httpMethod;
	}

	public void setHttpMethod(HttpMethod httpMethod) {
		this.httpMethod = httpMethod;
	}

	public String getHeaders() {
		return headers;
	}

	public void setHeaders(String headers) {
		this.headers = headers;
		this.headersMap = this.stringToMap(headers);
	}

	public String getParameters() {
		return parameters;
	}

	public void setParameters(String parameters) {
		this.parameters = parameters;
		this.parametersMap = this.stringToMap(parameters);
	}

	public String getVariables() {
		return variables;
	}

	public void setVariables(String variables) {
		this.variables = variables;
		this.variablesMap = this.stringToMap(variables);
	}

	public HashMap<String, String> getHeadersMap() {
		return headersMap;
	}

	public void setHeadersMap(HashMap<String, String> headers) {
		this.headersMap = headers;
		this.headers = this.mapToString(headersMap);
	}

	public HashMap<String, String> getParametersMap() {
		return parametersMap;
	}

	public void setParametersMap(HashMap<String, String> parameters) {
		this.parametersMap = parameters;
		this.parameters = this.mapToString(parametersMap);
	}

	
	public HashMap<String, String> getVariablesMap() {
		return variablesMap;
	}

	public void setVariablesMap(HashMap<String, String> variables) {
		this.variablesMap = variables;
		this.variables = this.mapToString(variablesMap);
	}

	public int getMaxConnectionSeconds() {
		return maxConnectionSeconds;
	}

	public void setMaxConnectionSeconds(int maxConnectionSeconds) {
		this.maxConnectionSeconds = maxConnectionSeconds;
	}

	public String getCondition() {
		return condition;
	}

	public void setCondition(String condition) {
		this.condition = condition;
	}

    public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public boolean isArchived() {
		return archived;
	}

	public void setArchived(boolean archived) {
		this.archived = archived;
	}
	
	public String mapToString(HashMap<String, String> map){
		if(map == null || map.size() == 0)return null;
		StringBuffer sb = new StringBuffer();
		for (String key : map.keySet()) {
			if(sb.length()!=0)sb.append("\r\n");
			sb.append(key).append("::").append(map.get(key));
		}
		return sb.toString();
	}

	public HashMap<String, String> stringToMap(String text){
		if(StringUtil.isEmpty(text))return null;
		HashMap<String, String> map = new HashMap<String, String>();
		String[] strArray = text.split("\r\n");
		for(String str : strArray){
			String[] header = str.split("::");
			map.put(header[0], header[1]);
		}
		return map;
	}
	
	
	
	
	
   
}