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

SNMP编程

开发平台:

C/C++

  1. /* $Id: getTableInfo.java,v 1.3 2002/09/09 05:36:28 tonyjpaul Exp $ */ 
  2. /*
  3.  * @(#)getTableInfo.java
  4.  * Copyright (c) 1996-2003 AdventNet, Inc. All Rights Reserved.
  5.  * Please read the associated COPYRIGHTS file for more details.
  6.  */
  7. /**
  8.  *  An example to get the information about the table by giving 
  9.  *  the table column oid and mib file as input.
  10.  */  
  11. import com.adventnet.snmp.beans.*;
  12. import com.adventnet.snmp.mibs.*;
  13. import com.adventnet.snmp.snmp2.*;
  14. import java.util.*;
  15. public class getTableInfo {
  16. public static void main(String args[]){
  17.     
  18. // check for mib_file and column oid
  19.     if (args.length<2){ 
  20. System.out.println("Usage : getTableInfo ColumnOID MIB_FILE");
  21. System.exit(0);
  22. }
  23. SnmpTarget target=new SnmpTarget();
  24. //column oid
  25. String oid = args[0];
  26. try{
  27. target.loadMibs(args[1]);
  28. }catch(Exception ex)
  29. {
  30. System.out.println(ex);
  31. }
  32. MibOperations mibOps = target.getMibOperations();
  33. SnmpOID rootoid = mibOps.getSnmpOID(oid);
  34. MibNode node = mibOps.getMibNode(rootoid);
  35. MibNode tnode=null;
  36. Vector indeces =null;
  37. Vector items=null;
  38. if(node != null)
  39.         {
  40. tnode =node.getParent().getParent();
  41. if(tnode.isTable()){
  42.        System.out.println("Table name is       : "+tnode.getLabel());
  43. System.out.println("Table OID is        : "+mibOps.getSnmpOID(tnode.getLabel()));
  44. }
  45. else{
  46.         System.out.println("Not a Column OID");
  47. System.exit(0);
  48. }
  49. indeces =node.getIndexes(target.getMibOperations());     
  50. System.out.println("Table Index Names are:");
  51. for(int i=0; i<indeces.size();i++)
  52.      System.out.print(indeces.elementAt(i)+",");   
  53. System.out.println();
  54. }
  55. else
  56.     System.out.println("Invalid column oid");   
  57.  
  58. if(tnode!=null){
  59. System.out.println("Table Items :");
  60. items=tnode.getTableItems(); 
  61. if(items!=null)
  62. for(int i=0;i<items.size();i++)
  63. System.out.println(items.elementAt(i));
  64. else
  65.      System.out.println("items");
  66. }
  67. if(items!=null){
  68. boolean b=false;
  69. for(int i=0;i<items.size();i++){
  70. SnmpOID columnoid=mibOps.getSnmpOID((String)items.elementAt(i)); 
  71. MibNode columnMibNode=mibOps.getMibNode(columnoid);
  72. String colType = columnMibNode.getSyntax().toString();
  73. if (colType.equals("RowStatus")){
  74. System.out.println("Column of type RowStatus :"+columnMibNode.toString());
  75. b=true;
  76. }
  77. }
  78. if(!b)
  79. System.out.println("There is no column with type RowStatus");
  80. }
  81. System.exit(0);
  82.     }
  83. }
  84.