CollBalance.java 3.86 KB
package com.sitech.ismp.coll.loadBalance;

import com.sitech.database.dao.TbTmpInterfaceDao;
import com.sitech.ismp.coll.basic.TblATO_KPIDETAIL;
import com.sitech.util.DES3;
import com.sitech.util.LogUtil;

import java.util.HashMap;
import java.util.Scanner;
import java.util.Vector;

/**
 * Created by IntelliJ IDEA.
 * User: liush_bj
 * Date: 2014-10-16
 */
public class CollBalance implements CollBalanceMBean {

    static{
        // 初始化MBean时清理临时表
        new TbTmpInterfaceDao().clean();
    }

    public Vector<TblATO_KPIDETAIL> getTotal(HashMap<String, String> params) {
        try {
            return new CollBalanceWithSNMP().getTotal(params);
        } catch (Exception e) {
            LogUtil.error("Exception while getTotal()", e);
        }

        return null;
    }

    public Vector<TblATO_KPIDETAIL> getArrayAPV(HashMap<String, String> params) {
        try {
            return new CollBalanceWithSNMP().getArrayAPV(params);
        } catch (Exception e) {
            LogUtil.error("Exception while getArray()", e);
        }

        return null;
    }

    public Vector<TblATO_KPIDETAIL> getRadware(HashMap<String, String> params) {
        try {
            return new CollBalanceWithSNMP().getRadware(params);
        } catch (Exception e) {
            LogUtil.error("Exception while getRadware()", e);
        }

        return null;
    }

    public static void main(String[] args) {
		System.out.println("***************Net Device Collect Test Begin*********************");
//		String ipAddr = read("IP_ADDR:");
//		String port = read("SNMP_PORT:");
//		String community = read("READ_COMMUNITY:");
//		String deviceName = read("DEVICE_NAME:");
//		String kbpClass = read("KBP_CLASS:");
//		String type = read("TYPE(0:getAll, 1:getSysConfig, 2:getCpuMem, 3:getPing, 4:getPort):");

//		String ipAddr = "172.16.9.234";
//		String port = "161";
//		String community = "public";
//		String deviceName = "BS_S9312_08";
//		String kbpClass = "10-19-10";
//		String type = "6";
		String ipAddr = "127.0.0.1";
		String port = "161";
		String community = "public";
		String deviceName = "DELL";
		String kbpClass = "10-19-10";
		String type = "1";

        // FIREWALL CISCO PIX 535
//		String ipAddr = "192.168.1.43";
//		String port = "161";
//		String community = "public";
//		String deviceName = "PIX_535";
//		String kbpClass = "10-16-11";
//		String type = "1";

//        // SWITCH Quidway S8505
//		String ipAddr = "192.168.1.1";
//		String port = "161";
//		String community = "public";
//		String deviceName = "hw_quidway";
//		String kbpClass = "10-16-10";
//		String type = "1";

		System.out.println("IP_ADDR=" + ipAddr + ", SNMP_PORT=" + port
				+ ", READ_COMMUNITY=" + community + ", DEVICE_NAME=" + deviceName);

	    HashMap<String, String> params = new HashMap<String, String>();
	    // 网络设备IP地址
		params.put("IP", ipAddr);
		// SNMP端口
		params.put("PORT", port);
		// SNMP Read Community
		params.put("COMMUNITY", DES3.encrypt(community));
		// 网络设备名称
		params.put("HOST_NAME", deviceName);
		// 网络设备类型代表的KBP_CLASS
		params.put("KBP_CLASS", kbpClass);

		Vector<TblATO_KPIDETAIL> result = new Vector<TblATO_KPIDETAIL>();
		CollBalance collector = new CollBalance();

		int method = Integer.parseInt(type);

		switch (method) {
		case 0:
			result.addAll(collector.getArrayAPV(params));
			break;
		case 1:
			result.addAll(collector.getRadware(params));
			break;
		default:
			break;
		}

		System.out.println("***************Net Device Collect Test End*********************");

		for (int i = 0; i < result.size(); i++) {
			TblATO_KPIDETAIL record = (TblATO_KPIDETAIL) result.get(i);
			System.out.println(record.UNIT_ID + "\t" + record.KPI_ID + "\t"
					+ record.KPI_VALUE);
		}
	}

	private static String read(String prompt) {
		Scanner scanner = new Scanner(System.in);
		System.out.print(prompt);
		return scanner.nextLine();
	}
}