CollIdmdb.java 4.17 KB
package com.sitech.ismp.coll.database;

import com.sitech.ismp.coll.basic.TblATO_KPIDETAIL;
import com.sitech.util.DES3;

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

/**
 * Created by mooker on 2014/8/29.
 */
public class CollIdmdb implements CollIdmdbMBean {

    @Override
    public Vector<TblATO_KPIDETAIL> getSystem(HashMap<String, String> params) {
        CollIdmdbByCMD cmd = new CollIdmdbByCMD();
        return cmd.getSystem(params);
    }

    @Override
    public Vector<TblATO_KPIDETAIL> getPerform(HashMap<String, String> params) {
        CollIdmdbByCMD cmd = new CollIdmdbByCMD();
        return cmd.getPerform(params);
    }

    @Override
    public Vector<TblATO_KPIDETAIL> getSession(HashMap<String, String> params) {
        CollIdmdbByCMD cmd = new CollIdmdbByCMD();
        return cmd.getSession(params);
    }

    public static void main(String[] args) {
        System.out
                .println("***************SI-TECH Idmdb Collect Test Begin*********************");
//        String ipAddr = "172.21.2.76";
//        String username = "ocsapp";
//        String password = "ocsapp";
//        String protocal = "ssh";
//        String dbName = "ocsIdmdb";
//        String methodStr = "0";
		String ipAddr = read("IP_ADDR(remote host ip):\n");
		String username = read("USERNAME:\n");
		String password = read("PASSWORD:\n");
		String protocal = read("PROTOCAL(ssh/telnet):\n");
		String dbName = read("DBNAME:\n");
		String methodStr = read("METHOD(0:getAll, 1:getSystem, 2:getPerform, 3:getSession):\n");

        System.out.println("IP_ADDR=" + ipAddr + ", USERNAME=" + username
                + ", PASSWORD=" + password + ", PROTOCAL=" + protocal
                + ", DBNAME=" + dbName + ", METHOD=" + methodStr);

        HashMap<String, String> params = new HashMap<String, String>();
        params.put("IP_ADDR", ipAddr);
        params.put("USERNAME", username);
        params.put("PASSWORD", DES3.encrypt(password));
        params.put("PROTOCOL", protocal);
        params.put("DBNAME", dbName);

        int method = Integer.parseInt(methodStr);
        Vector<TblATO_KPIDETAIL> result = new Vector<TblATO_KPIDETAIL>();

        CollIdmdb collector = new CollIdmdb();

        switch (method) {
            case 0:
                result.addAll(collector.getSystem(params));
                result.addAll(collector.getPerform(params));
                result.addAll(collector.getSession(params));
                break;
            case 1:
                result.addAll(collector.getSystem(params));
                break;
            case 2:
                result.addAll(collector.getPerform(params));
                break;
            case 3:
                result.addAll(collector.getSession(params));
                break;
            default:
                break;
        }

        System.out
                .println("***************SI-TECH Idmdb Collect Test End*********************");
        System.out.println();
        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);
//            String insSql = "INSERT INTO TB_ATO_KPIDETAIL (KPI_ID, UNIT_ID, CLL_TIME, KPI_VALUE, EXT_INFO, DB_TIME, EXT_UNIT_ID, INTERVAL) " +
//                    "VALUES ('#KPI_ID#', '#UNIT_ID#', sysdate, '#KPI_VALUE#', null, sysdate, '10-11-36:ocsIdmdb', #INTERVAL#);";
            String insSql = "INSERT INTO TB_ATO_KPIDETAIL (KPI_ID, UNIT_ID, CLL_TIME, KPI_VALUE, EXT_INFO, DB_TIME, EXT_UNIT_ID, `INTERVAL`) " +
                    "VALUES ('#KPI_ID#', '#UNIT_ID#', now(), '#KPI_VALUE#', null, now(), '10-11-36:ocsIdmdb', #INTERVAL#);";
            insSql = insSql.replace("#KPI_ID#", record.KPI_ID);
            insSql = insSql.replace("#UNIT_ID#", record.UNIT_ID);
            insSql = insSql.replace("#KPI_VALUE#", record.KPI_VALUE);
            insSql = insSql.replace("#INTERVAL#", record.INTERVAL);
            System.out.println(insSql);
        }
    }

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