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

SNMP编程

开发平台:

C/C++

  1. /* $Id: TrapBrowserApplication.java,v 1.4 2002/09/09 05:35:19 tonyjpaul Exp $ */
  2. /*
  3.  * @(#)TrapBrowserApplication.java
  4.  * Copyright (c) 1996-2003 AdventNet, Inc. All Rights Reserved.
  5.  * Please read the associated COPYRIGHTS file for more details.
  6.  */
  7. /**
  8.  *  This is a example program for TrapBrowser bean .
  9.  *  The TrapBrowser is used to display the traps parsed by the TrapParserBean.
  10.  *  TrapParser file has set of match criteria to parse the traps.
  11.  *  We can specify any number of TrapParsers in TrapParser file.
  12.  */
  13. import javax.swing.*;
  14. import java.awt.event.*;
  15. import java.io.*;
  16. import java.awt.*;
  17. import javax.swing.event.*;
  18. import com.adventnet.snmp.beans.*;
  19. import com.adventnet.snmp.ui.*;
  20. //import ParseOptions;
  21. public class TrapBrowserApplication extends JFrame implements TrapListener,ChangeListener
  22. ,TrapParserListener {
  23. JCheckBox combobox;
  24.     public TrapBrowserApplication() {
  25. this.setTitle("TrapBrowserApplication");
  26. //Instantiate TrapParserBean
  27.         trapparserbean= new com.adventnet.snmp.ui.TrapParserBean();
  28.         //Instantiate SnmpTrapReceiver
  29.         trapreceiver= new com.adventnet.snmp.beans.SnmpTrapReceiver();
  30. if(mibs != null) {
  31. try {
  32. trapreceiver.loadMibs(mibs);
  33. }
  34. catch(Exception e) {
  35. System.out.println("Mib Loading Failed: " + e.getMessage());
  36. }
  37. }
  38. JPanel detailPanel = new JPanel();
  39. GridBagLayout g = new GridBagLayout();
  40. GridBagConstraints c = new GridBagConstraints();
  41. GridBagLayout dg = new GridBagLayout();
  42. GridBagConstraints dc = new GridBagConstraints();
  43. JLabel portLabel = new JLabel("Port");
  44. portText = new JTextField(7);
  45. portText.setText(""+port);
  46. JLabel commLabel = new JLabel("Community");
  47. commText = new JTextField(community, 15);
  48. JButton restart = new JButton("Restart");
  49. restart.addActionListener( new restartListener());
  50. detailPanel.setLayout(dg);
  51. dc.fill = GridBagConstraints.BOTH;
  52. dc.gridx = 1;
  53. dc.weightx = 1;
  54. dg.setConstraints(portLabel,dc);
  55. detailPanel.add(portLabel);
  56. dc.gridx = 2;
  57. dg.setConstraints(portText,dc);
  58. detailPanel.add(portText);
  59. dc.gridx = 3;
  60. dg.setConstraints(commLabel,dc);
  61. detailPanel.add(commLabel);
  62. dc.gridx = 4;
  63. dg.setConstraints(commText,dc);
  64. detailPanel.add(commText);
  65. dc.gridx = 5;
  66. dg.setConstraints(restart,dc);
  67. detailPanel.add(restart);
  68.         //Instantiate TrapBrowser
  69.         trapbrowser= new TrapBrowser();
  70. String[] str={"Class","Type","Source","Date","Severity"};
  71. trapbrowser.setColumnNames(str);
  72. getContentPane().setLayout(g);
  73. c.gridy = 1;
  74. c.weighty = 1;
  75. c.weightx = 1;
  76. c.fill = GridBagConstraints.BOTH;
  77. g.setConstraints(trapbrowser,c);
  78.         getContentPane().add(trapbrowser);
  79. c.gridy = 3;
  80. c.weighty = 0;
  81. c.weightx = 0;
  82. g.setConstraints(detailPanel,c);
  83.         getContentPane().add(detailPanel);
  84. c.gridy = 2;
  85. c.weighty = 0;
  86. c.weightx = 0;
  87. combobox =new JCheckBox("Color severity column");
  88. combobox.addChangeListener(this);
  89. g.setConstraints(combobox,c);
  90.         getContentPane().add(combobox);
  91.     // set the port for SnmpTrapReceiver
  92.     trapreceiver.setPort(port);
  93.     // set the parser file for TrapParserBean
  94.     trapparserbean.setFileName("new_trap_parser.parser");
  95. trapbrowser.loadMibs("../mibs/RFC1213-MIB");
  96.     // add listener for incoming traps
  97.     trapreceiver.addTrapListener(this);
  98.     // add listener for ParsedTrapEvent
  99.     trapparserbean.addParserListener( this);
  100.         this.setSize(600,350);
  101.     }
  102.     /**
  103.      * this should be implemented for TrapListener.The TrapParserBean gets
  104.      * trapEvent and parses it and generates ParsedTrapEvent if it matches
  105.      * the Match Criteria in Trap parser file.
  106.      */
  107.  public void stateChanged(ChangeEvent l)
  108.  {
  109.   if(combobox.isSelected())
  110. {
  111. trapbrowser.setShowSeverityColumnColor(true);
  112. }
  113. else
  114. {
  115. trapbrowser.setShowSeverityColumnColor(false);
  116. }
  117.  }
  118.     public void receivedTrap(TrapEvent e) {
  119.     trapparserbean.parseEvtAndFire(e);
  120.     }
  121.     /**
  122.      * this should be implemented for TrapParserListener.The TrapBrowser gets
  123.      * ParsedTrapEvent and dispalyes it in TrapBrowser Table.
  124.      */
  125.     public void eventParsed(ParsedTrapEvent evt) {
  126. trapbrowser.displayEvent(evt);
  127.     }
  128.     // the main method for this application
  129.     public static void main(String [] args) {
  130.         String usage = "java TrapBrowserApplication [-p port] [-c community] [-m MIB_files]";
  131. String options[] = { "-p", "-c", "-m"};
  132. String values[] = { null, null, null};
  133. ParseOptions opt = new ParseOptions(args,options,values, usage);
  134. if (opt.remArgs.length > 0) opt.usage_error();
  135. try {
  136. if (values[0] != null) port = Integer.parseInt(values[0]);
  137. } catch (NumberFormatException ex) {
  138. System.err.println("Invalid port : "+ex);
  139. }
  140.         if (values[1] != null) community = values[1];
  141.         if (values[2] != null) mibs = values[2];
  142.      TrapBrowserApplication frame = new TrapBrowserApplication();
  143.         frame.show();
  144.         frame.addWindowListener(new WindowAdapter() {
  145. public void windowClosing(WindowEvent evt) {
  146. System.exit(0);
  147. }
  148. });
  149.     }
  150. class restartListener implements ActionListener {
  151. public void actionPerformed(ActionEvent e) {
  152. if( portText.getText().equals(""))
  153. return;
  154. try {
  155. port = Integer.parseInt(portText.getText());
  156. trapreceiver.setPort(port);
  157. }
  158. catch(NumberFormatException ee) {
  159. System.out.println(" Error in Setting port: "+ee.toString());
  160. return;
  161. }
  162. trapreceiver.setCommunity( commText.getText());
  163. }
  164. }
  165.     //Declare the beans
  166.     TrapParserBean  trapparserbean = null;
  167.     SnmpTrapReceiver  trapreceiver = null;
  168.     TrapBrowser  trapbrowser = null;
  169. JTextField portText = null;
  170. JTextField commText = null;
  171. static String community = "";
  172. static String mibs = null;
  173. static int port = 162;
  174. }