tableBeanDemo.java
上传用户:aonuowh
上传日期:2021-05-23
资源大小:35390k
文件大小:7k
源码类别:

SNMP编程

开发平台:

C/C++

  1. /*$Id: tableBeanDemo.src,v 1.3.2.3 2009/01/28 12:51:12 prathika Exp $*/
  2. /*
  3.  * @(#)tableBeanDemo.java
  4.  * Copyright (c) 1996-2009 AdventNet, Inc. All Rights Reserved.
  5.  * Please read the COPYRIGHTS file for more details.
  6.  */
  7. /** 
  8.  *  An example of using the TableBean component.
  9.  *  This combines the JTable and SnmpTableModel components. 
  10.   * [-v] <version>      - version
  11.  ifdef(VERSION3){
  12.   (v1 / v2/ v3). By default v1.
  13.  * [-d] debug          - Debug output.By default off. 
  14.  * [-c] <community>    - community String. By default "public".
  15.  * [-p] <port>         - remote port no. By default 161.
  16.  * [-r] <Retries>      - Retries. By default 0.      
  17.  * [-t] <Timeout>      - Timeout. By default 5000ms.
  18.  * [-u] <username>     - The v3 principal/userName
  19.  * [-a] <autProtocol>  - The authProtocol(MD5/SHA). Mandatory if authPassword is specified
  20.  * [-w] <authPassword> - The authentication password.
  21.  * [-s] <privPassword> - The privacy protocol password. Must be accompanied with auth password and authProtocol fields.
  22.  * [-n] <contextName>  - The snmpv3 contextName to be used.
  23.  * [-i] <contextID>    - The snmpv3 contextID to be used.
  24.  * host Mandatory      - The RemoteHost (agent).Format (string without double qoutes/IpAddress).
  25.  * tableOID  Mandatory - Give the Object Identifier of a Table.
  26.  * mibs  Mandatory - The mibs to be loaded.
  27.  **/
  28. import javax.swing.*;
  29. import javax.swing.table.*;
  30. import java.awt.*;
  31. import java.awt.event.*;
  32. import com.adventnet.snmp.beans.*;
  33. import com.adventnet.snmp.ui.*;
  34. public class tableBeanDemo extends JFrame {
  35.     private static final int VERSION = 0;
  36.     private static final int COMMUNITY = 1;
  37.     private static final int PORT = 2;
  38.     private static final int RETRIES = 3;
  39.     private static final int TIMEOUT = 4;
  40.     private static final int DEBUG = 5;
  41.     private static final int USER_NAME = 6;
  42.     private static final int AUTH_PROTOCOL = 7;
  43.     private static final int AUTH_PASSWORD = 8;
  44.     private static final int PRIV_PASSWORD = 9;
  45.     private static final int CONTEXTNAME = 10;
  46.     private static final int CONTEXTID = 11;
  47.     /** Supply command line arguments to this constructor **/
  48.     public tableBeanDemo(String host, String community, String mibs,
  49.                     String tableOID, int port, int retries, int timeout, String debug) {
  50.       
  51.              this("v1", host, community, mibs, tableOID, port, retries, timeout, debug, "", "", "", "","","");
  52.   } /* tableBeanDemo */
  53.   
  54.       /** Supply command line arguments to this constructor **/
  55.     public tableBeanDemo(String version, String host, String community, String mibs, String tableOID, int port, int retries,int timeout, String debug, String userName, String authProtocol, String authPassword, String privPassword,String contextName,String contextID) {
  56.                                  
  57.         super("MainWindow");
  58.     TableBean tableBean = new TableBean();
  59.     // set the properties fo the table model
  60.     
  61.     tableBean.setTargetHost (host);
  62.     tableBean.setCommunity (community);
  63.     tableBean.setTargetPort (port);
  64.     tableBean.setRetries (retries);
  65.     tableBean.setTimeout (timeout);
  66.     if(debug.equals("set"))   
  67.     tableBean.setDebug(true);
  68.     tableBean.setAutoResizeMode(0);
  69.     tableBean.sizeColumnsToFit(-1);
  70.     if(version.equals("v3"))
  71.         tableBean.setSnmpVersion(SnmpTarget.VERSION3);
  72.     else if(version.equals("v2"))
  73.         tableBean.setSnmpVersion(SnmpTarget.VERSION2C);
  74.     else tableBean.setSnmpVersion(SnmpTarget.VERSION1);
  75.     if(version.equals("v3")){
  76.         tableBean.setPrincipal(userName);
  77.         if(authProtocol.compareTo("MD5") == 0)
  78.              tableBean.setAuthProtocol(SnmpTarget.MD5_AUTH);
  79.         else if(authProtocol.compareTo("SHA") == 0)
  80.              tableBean.setAuthProtocol(SnmpTarget.SHA_AUTH);
  81.         else tableBean.setAuthProtocol(SnmpTarget.NO_AUTH);
  82.         tableBean.setAuthPassword(authPassword);
  83.         tableBean.setPrivPassword(privPassword);
  84.         tableBean.setContextName(contextName);
  85.         tableBean.setContextID(contextID);
  86.     }
  87.     try {
  88.         System.out.println("Loading MIBs: "+mibs);
  89.         tableBean.setMibModules(mibs);
  90.         System.out.println("Done.");
  91.         if(tableBean.getSnmpVersion() == SnmpTarget.VERSION3){
  92.             tableBean.create_v3_tables();
  93.         }
  94.         tableBean.setTableOID (tableOID);
  95.     } catch (Exception ex) {
  96.         System.err.println("Error: "+ex);
  97.         System.exit(1);
  98.     }
  99.     JScrollPane scrollpane = new JScrollPane(tableBean);
  100.     getContentPane().add(scrollpane);
  101.     } /* tableBeanDemo */
  102.     public static void main(String[] args) {
  103.     // Take care of getting options
  104.         String usage = "tableBeanDemo [-v version(v1/v2/v3)] [-c community] [-p port] [-r retries] [-t timeout] [-d] [-u userName] [-a authProtocol] [-w authPassword] [-s privPassword] [-n contextname] [-i contextID] host tableOID MIB_file ";
  105.         String options[] = { "-v", "-c", "-p", "-r", "-t", "-d", "-u", "-a", "-w", "-s","-n","-i" };
  106.         String values[] = { null, null, null, null, null, "None", null, null, null, null, null,null};
  107.     ParseOptions opt = new ParseOptions(args,options,values, usage);
  108.     // check for at least hostname and one OID in remaining arguments
  109.     if (opt.remArgs.length<3) opt.usage_error();
  110.     String host = opt.remArgs[0];
  111.     String oidTable = opt.remArgs[1];
  112.     String community = "public";
  113.     String mibs = opt.remArgs[2];
  114.     String debug = new String("");
  115.     String version ="v1";
  116.     String userName = "";
  117.     String authProtocol = new String("NO_AUTH");
  118.     String authPassword = new String ("");
  119.     String privPassword = new String ("");
  120.     String contextName = new String (""); 
  121.     String contextID = new String (""); 
  122.     if (values[COMMUNITY] != null) community = values[COMMUNITY];
  123.     
  124.      if(values[DEBUG].equals("Set"))
  125.      debug="set";
  126.     int port = 161, retries=0,timeout = 5000;
  127.     try {
  128.         if (values[PORT] != null) 
  129.             port = ( Integer.parseInt(values[PORT]) );
  130.         if (values[RETRIES] != null) 
  131.             retries = ( Integer.parseInt(values[RETRIES]) );
  132.         if (values[TIMEOUT] != null) 
  133.             timeout = ( Integer.parseInt(values[TIMEOUT]) );
  134.     } catch (NumberFormatException ex) {
  135.         System.err.println("Invalid Integer Argument "+ex);
  136.     }
  137.     if(values[VERSION] != null)
  138.          version = values[VERSION];
  139.     if(values[USER_NAME] != null)
  140.          userName = values[USER_NAME];
  141.     if(values[AUTH_PROTOCOL] != null)
  142.         authProtocol = values[AUTH_PROTOCOL];
  143.     if(values[AUTH_PASSWORD] != null)
  144.         authPassword = values[AUTH_PASSWORD];
  145.     if(values[PRIV_PASSWORD] != null)
  146.         privPassword = values[PRIV_PASSWORD];
  147.     if(values[CONTEXTNAME] != null)
  148.         contextName = values[CONTEXTNAME];
  149.     if(values[CONTEXTID] != null)
  150.         contextID = values[CONTEXTID];
  151.         try { //setup the look and feel for native platform L&F
  152.             UIManager.setLookAndFeel(
  153.                 UIManager.getSystemLookAndFeelClassName());
  154.         } catch (Exception e) {
  155.             System.err.println("Couldn't use the system "
  156.                              + "look and feel: " + e);
  157.         }
  158.       JFrame frame = new tableBeanDemo(version, host, community, mibs, oidTable, port, retries, timeout,debug,
  159.           userName, authProtocol, authPassword, privPassword,contextName,contextID);
  160.         WindowListener l = new WindowAdapter() {
  161.             public void windowClosing(WindowEvent e) {
  162.                 System.exit(0);
  163.             }
  164.         };
  165.         frame.addWindowListener(l);
  166.         frame.setSize(600,300);
  167.         frame.setVisible(true);
  168.     }
  169. }