PingHelper.java 2.32 KB
package com.sitech.ismp.coll.link;

/**
 * Created with IntelliJ IDEA.
 * User: Administrator
 * Date: 14-3-18
 * Time: 上午11:33
 * To change this template use File | Settings | File Templates.
 */
public class PingHelper {

    /** 默认ping5次 */
    public static final String DEFAULT_PING_TIMES = "5";

    /**
     * 根据不同的系统获得不同的ping命令
     * @param times ping次数
     * @return
     */
    public static String getPingTemplet(String times){
        String command = null;
        String osName = System.getProperty("os.name").toUpperCase();
        if (osName.indexOf("SUN") > 0) {
            command = LinkCollConst.PING_SUN;
        } else if (osName.indexOf("HP") > 0) {
            command = LinkCollConst.PING_HP;
        } else {
            command = LinkCollConst.PING_LINUX;
        }
        return command.replace("#PING_COUNT#", times);
    }

    /**
     * 根据不同的系统获得不同的ping命令
     * @return
     */
    public static String getPingTemplet(){
        return getPingTemplet(DEFAULT_PING_TIMES);
    }

    public static String getSeq(Hop nextHop) {
        return LinkCollConst.ECHO_STR_TO_RESFILE
                .replace("#STR_CONTENT#", "SEQ=" + nextHop.getSeq())
                .replace("#LINK_ID#", nextHop.getLinkId());
    }

    public static String getDevId(Hop nextHop) {
        return LinkCollConst.ECHO_STR_TO_RESFILE
                .replace("#STR_CONTENT#", "DEVICE_ID=" + nextHop.getDevId())
                .replace("#LINK_ID#", nextHop.getLinkId());
    }

    public static Object getIpAddr(Hop nextHop) {
        return PingHelper.getPingTemplet()
                .replace("#IP_ADDR#", nextHop.getIpAddr())
                .replace("#LINK_ID#", nextHop.getLinkId());
    }

    public static Object getSplitLine(Hop nextHop) {
        return LinkCollConst.ECHO_STR_TO_RESFILE
                .replace("#STR_CONTENT#", LinkCollConst.SPLIT_LINE)
                .replace("#LINK_ID#", nextHop.getLinkId());
    }

    public static Object getShellHead() {
        return LinkCollConst.SH_TOP;
    }

    public static Object getShellFoot(String fileName) {
        return LinkCollConst.MV_RESULT
                .replace("#RESULT_TEMP_PATH#", LinkCollConst.RESULT_TEMP_PATH + "/" + fileName)
                .replace("#RESULT_PATH#", LinkCollConst.RESULT_PATH);
    }
}