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

SNMP编程

开发平台:

C/C++

  1. /* $Id: MibBrowserApplet.java,v 1.1 2002/06/15 14:43:37 ram Exp $ */
  2. /**
  3.  * MibBrowser.java    
  4.  * Copyright (c) 1998 AdventNet, Inc. All Rights Reserved.
  5.  * Please read the associated COPYRIGHTS file for more details.
  6.  
  7.  * ADVENTNET, INC. MAKES NO REPRESENTATIONS OR WARRANTIES
  8.  * ABOUT THE SUITABILITY OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED,
  9.  * INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY,
  10.  * FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.  ADVENTNET,
  11.  *  INC. SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY
  12.  * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE
  13.  * OR ITS DERIVATIVES.
  14.  */
  15. import javax.swing.*; 
  16. import com.adventnet.snmp.ui.*;
  17. import com.adventnet.snmp.beans.*;
  18. import com.adventnet.snmp.snmp2.*;
  19. import java.util.StringTokenizer;
  20. /** This example of using MibBrowser class with JFC component
  21.   * This enable you to load MIBs and you can perform all
  22.   * SNMP operations in this applet .
  23.   */
  24. public class MibBrowserApplet extends JApplet implements Runnable {
  25.     MibBrowser mbrowser = null;
  26.     public void init() {
  27.         try {
  28.         UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName());
  29.         } catch (Exception e) {
  30.             System.err.println("Couldn't use the system look and feel: "+ e);
  31.         }
  32.    //if (getParameter("PROTOCOL") != null) 
  33.    //   SASClient.setProtocol(Integer.parseInt(getParameter("PROTOCOL")));
  34.     /** instantiate the MibBrowser class */
  35.     mbrowser = new MibBrowser(this);
  36.     try {
  37. mbrowser.initSecurityProvider();
  38. }
  39. catch(SnmpException se) {
  40. System.err.println("Error initializing Security Provider: " +se.getMessage());
  41. }
  42.     /**
  43.      * MenuBar is an Option
  44.      */
  45.     mbrowser.setMenuBarVisible(true);
  46.     
  47.     /** get the Values for HOST ,COMMUNITY
  48.     from HTML file */
  49.     if (getParameter("HOST") != null) 
  50.         mbrowser.setTargetHost(getParameter("HOST"));
  51.     if (getParameter("COMMUNITY") != null) 
  52.         mbrowser.setCommunity(getParameter("COMMUNITY"));    
  53.     if (getParameter("VERSION") != null) 
  54.         mbrowser.setSnmpVersion(Integer.parseInt(getParameter("VERSION")));
  55.       
  56.     /** get the Values for PORT, RETRIES and TIMEOUT 
  57.         from HTML file */        
  58.     try {
  59.         if (getParameter("PORT") != null) 
  60.             mbrowser.setTargetPort(Integer.parseInt(getParameter("PORT")));
  61.         if (getParameter("RETRIES") != null) 
  62.             mbrowser.setRetries(getParameter("RETRIES"));
  63.         if (getParameter("TIMEOUT") != null) 
  64.             mbrowser.setTimeout(getParameter("TIMEOUT"));
  65.     } catch (NumberFormatException ex) {
  66.         System.err.println("Invalid option: "+ex);
  67.     } 
  68. /**get the Values for Database from html file*/
  69. try{
  70. if(getParameter("DATABASE") !=null)
  71. {
  72. StringTokenizer st = new StringTokenizer(getParameter("DATABASE"));
  73. if(st.countTokens()==4)
  74. {
  75. try{
  76. mbrowser.initJdbcParams(st.nextToken(),st.nextToken(),st.nextToken(),st.nextToken());
  77. }catch(Exception ex)
  78. {
  79. System.out.println("Error in Database Params :"+ex);
  80. }
  81. mbrowser.setLoadMibsFromDatabase(true);
  82. }
  83. }
  84. else 
  85. mbrowser.setLoadFromCompiledMibs(true);
  86. }catch(Exception e)
  87. {
  88. System.out.println("Error during setting Database Params: "+e);
  89. }
  90.     JFrame f = new JFrame("MibBrowser");
  91.     f.getContentPane().add("Center",mbrowser);
  92.     f.setSize(730,525);
  93.     f.setVisible(true);
  94.     }
  95.     /** to avoid loading  mibs multiple times */
  96.     boolean started = false;  
  97.     public void start() {
  98.         if (started) return;
  99.         Thread t = new Thread(this);
  100.         t.start();
  101.         // set the flag to indicate that the MIBs have been loaded 
  102.         started = true;
  103.     }
  104.     
  105.     // This double take to avoid swing problems
  106.     boolean runOnce = false;
  107.     public void run() {
  108.         if (!runOnce) {
  109.             runOnce = true;
  110.             try { 
  111.                 SwingUtilities.invokeAndWait(this); 
  112.                 return;
  113.             } catch (Exception ex) { System.err.println("Error: "+ex); }
  114.         }
  115.         
  116.         /** get the MIBs value to be loaded from the HTML
  117.         and Load those MIBs */
  118.         if (getParameter("MIBS") != null) 
  119.             mbrowser.setMibModules(getParameter("MIBS"));
  120.         
  121.         /** After loading MIBs expand the Root node only */
  122.         mbrowser.getMibTree().getTree().expandRow(0);
  123.     }
  124.     
  125. }