// Path: server/src/main/java/com/cloudwise/sap/niping/common/entity/Monitor.java
// @Data
// @Builder
// @EqualsAndHashCode(callSuper = true)
// @JsonIgnoreProperties(ignoreUnknown = true)
// public class Monitor extends AbstractEntity {
// 
//     private static final long serialVersionUID = 6732242760258530600L;
//     private String monitorId;
//     private String version;
//     private String name;
//     private String country;
//     private String province;
//     private String city;
//     private String isp;
//     private String area;
//     private String ip;
//     private String nipingT;
//     private int status;
//     private List<String> runningTaskIds;
// 
//     @JsonIgnore
//     private boolean isUsable;
// 
//     public enum Status {
//         active(1), inactive(0);
// 
//         @Getter
//         private int status;
// 
//         Status(int status) {this.status = status;}
//     }
// }
// 
// Path: server/src/main/java/com/cloudwise/sap/niping/common/entity/MonitorNiPingResult.java
// @Builder
// @Data
// @EqualsAndHashCode(callSuper = true)
// @JsonIgnoreProperties(ignoreUnknown = true)
// public class MonitorNiPingResult extends AbstractEntity {
// 	private static final long serialVersionUID = -4165099767077210852L;
// 	private String id;
// 	private String monitorId;
// 	private String taskId;
// 	private long collectedTime;
// 	private long startTime;
// 	private long endTime;
// 	/**
// 	 * 0为可用性，响应时间，性能数据 1为稳定性 2为空闲超时
// 	 */
// 	private int type;
// 
// 	/**
// 	 * 错误码，没有错误，为0
// 	 */
// 	private int errno;
// 	private double avg;
// 	private double max;
// 	private double min;
// 	private double tr;
// 	private double av2;
// 	private double tr2;
// 	/**
// 	 * 错误信息，没有为空。
// 	 */
// 	private String errmsg;
// 
// 
// 	public enum Type {
// 
// 		PERFORMANCE(0), STABILITY(1), IDLE_TIMEOUT(2);
// 
// 		@Getter
// 		private int value;
// 
// 		Type(int value) {
// 			this.value = value;
// 		}
// 	}
// 
// 
// 	@JsonIgnore
// 	private Monitor monitor;
// 
// 	@JsonIgnore
// 	private boolean isNoTime;
// 
// 	@JsonIgnore
// 	private boolean isUsable;
// 
// 	@JsonIgnore
// 	private String collectedTimeString;
// 
// 	@JsonIgnore
// 	private String startTimeString;
// 
// 	@JsonIgnore
// 	private String endTimeString;
// 
// 	@JsonIgnore
// 	private String typeString;
// 
// 	@JsonIgnore
// 	private String av2String;
// 	@JsonIgnore
// 	private String tr2String;
// 	@JsonIgnore
// 	private String usableString;
// 
// 	public int getType() {
// 		return type;
// 	}
// }


import com.cloudwise.sap.niping.common.entity.Monitor;
import com.cloudwise.sap.niping.common.entity.MonitorNiPingResult;
import org.skife.jdbi.v2.StatementContext;
import org.skife.jdbi.v2.tweak.ResultSetMapper;
import java.sql.ResultSet;
import java.sql.SQLException;
package com.cloudwise.sap.niping.dao.mapper;



public class MonitorNiPingResultMapper implements ResultSetMapper<MonitorNiPingResult> {

    @Override
    public MonitorNiPingResult map(int index, ResultSet r, StatementContext ctx) throws SQLException {

        Monitor monitor = Monitor.builder()
                .monitorId(r.getString("MONITOR_ID"))
                .name(r.getString("NAME"))
                .ip(r.getString("IP"))
                .country(r.getString("COUNTRY"))
                .province(r.getString("PROVINCE"))
                .city(r.getString("CITY"))
                .isp(r.getString("ISP"))
                .build();


// Path: server/src/main/java/com/cloudwise/sap/niping/common/entity/Monitor.java
// @Data
// @Builder
// @EqualsAndHashCode(callSuper = true)
// @JsonIgnoreProperties(ignoreUnknown = true)
// public class Monitor extends AbstractEntity {
// 
//     private static final long serialVersionUID = 6732242760258530600L;
//     private String monitorId;
//     private String version;
//     private String name;
//     private String country;
//     private String province;
//     private String city;
//     private String isp;
//     private String area;
//     private String ip;
//     private String nipingT;
//     private int status;
//     private List<String> runningTaskIds;
// 
//     @JsonIgnore
//     private boolean isUsable;
// 
//     public enum Status {
//         active(1), inactive(0);
// 
//         @Getter
//         private int status;
// 
//         Status(int status) {this.status = status;}
//     }
// }
// 
// Path: server/src/main/java/com/cloudwise/sap/niping/common/entity/MonitorNiPingResult.java
// @Builder
// @Data
// @EqualsAndHashCode(callSuper = true)
// @JsonIgnoreProperties(ignoreUnknown = true)
// public class MonitorNiPingResult extends AbstractEntity {
// 	private static final long serialVersionUID = -4165099767077210852L;
// 	private String id;
// 	private String monitorId;
// 	private String taskId;
// 	private long collectedTime;
// 	private long startTime;
// 	private long endTime;
// 	/**
// 	 * 0为可用性，响应时间，性能数据 1为稳定性 2为空闲超时
// 	 */
// 	private int type;
// 
// 	/**
// 	 * 错误码，没有错误，为0
// 	 */
// 	private int errno;
// 	private double avg;
// 	private double max;
// 	private double min;
// 	private double tr;
// 	private double av2;
// 	private double tr2;
// 	/**
// 	 * 错误信息，没有为空。
// 	 */
// 	private String errmsg;
// 
// 
// 	public enum Type {
// 
// 		PERFORMANCE(0), STABILITY(1), IDLE_TIMEOUT(2);
// 
// 		@Getter
// 		private int value;
// 
// 		Type(int value) {
// 			this.value = value;
// 		}
// 	}
// 
// 
// 	@JsonIgnore
// 	private Monitor monitor;
// 
// 	@JsonIgnore
// 	private boolean isNoTime;
// 
// 	@JsonIgnore
// 	private boolean isUsable;
// 
// 	@JsonIgnore
// 	private String collectedTimeString;
// 
// 	@JsonIgnore
// 	private String startTimeString;
// 
// 	@JsonIgnore
// 	private String endTimeString;
// 
// 	@JsonIgnore
// 	private String typeString;
// 
// 	@JsonIgnore
// 	private String av2String;
// 	@JsonIgnore
// 	private String tr2String;
// 	@JsonIgnore
// 	private String usableString;
// 
// 	public int getType() {
// 		return type;
// 	}
// }


// Path: server/src/main/java/com/cloudwise/sap/niping/dao/mapper/MonitorNiPingResultMapper.java
import com.cloudwise.sap.niping.common.entity.Monitor;
import com.cloudwise.sap.niping.common.entity.MonitorNiPingResult;
import org.skife.jdbi.v2.StatementContext;
import org.skife.jdbi.v2.tweak.ResultSetMapper;
import java.sql.ResultSet;
import java.sql.SQLException;

package com.cloudwise.sap.niping.dao.mapper;



public class MonitorNiPingResultMapper implements ResultSetMapper<MonitorNiPingResult> {

    @Override
    public MonitorNiPingResult map(int index, ResultSet r, StatementContext ctx) throws SQLException {

        Monitor monitor = Monitor.builder()
                .monitorId(r.getString("MONITOR_ID"))
                .name(r.getString("NAME"))
                .ip(r.getString("IP"))
                .country(r.getString("COUNTRY"))
                .province(r.getString("PROVINCE"))
                .city(r.getString("CITY"))
                .isp(r.getString("ISP"))
                .build();


        MonitorNiPingResult result = MonitorNiPingResult.builder()