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

SNMP编程

开发平台:

C/C++

  1. /*
  2. $Id: SetValues.src,v 1.7 2002/09/09 05:38:14 parasuraman Exp $
  3. */
  4. /*
  5.  * @(#)SetValues.java
  6.  * Copyright (c) 1996-2003 AdventNet, Inc. All Rights Reserved.
  7.  * Please read the associated COPYRIGHTS file for more details.
  8.  */
  9. import java.lang.*;
  10. import com.adventnet.snmp.snmp2.*;
  11. import com.adventnet.snmp.snmp2.usm.*;
  12. public class SetValues {
  13. boolean usage_error = false;
  14. private static final int COMMUNITY = 1;
  15. private static final int WRITE_COMMUNITY = 2;
  16. private static final int PORT = 3;
  17. private static final int RETRIES = 4;
  18. private static final int TIMEOUT = 5;
  19. //MIBS = 6 is for MIB option );
  20. private static final int VERSION = 7;
  21. private static final int USER_NAME = 8;
  22. private static final int AUTH_PROTOCOL = 9;
  23. private static final int AUTH_PASSWORD = 10;
  24. private static final int PRIV_PASSWORD = 11;
  25. private static final int CONTEXT_NAME = 12;
  26. private static final int CONTEXT_ID = 13;
  27. String userName = new String("");
  28. int authProtocol = USMUserEntry.NO_AUTH;
  29. String authPassword = new String ("");
  30. String privPassword = new String ("");
  31. String contextName = new String ("");
  32. String contextID = new String ("");
  33. public SetValues(SnmpSession session, String values[]) {
  34.     
  35.     // set community & writecommunity
  36.         if (values[COMMUNITY] != null)
  37. session.setCommunity( values[COMMUNITY] );
  38. if (values[WRITE_COMMUNITY] != null)
  39. session.setWriteCommunity( values[WRITE_COMMUNITY] );
  40.         //set remote Port, timeout,retries if needed.
  41.     try {
  42.         if (values[PORT] != null)
  43.                 session.setRemotePort( Integer.parseInt(values[PORT]) );
  44.         if (values[RETRIES] != null)
  45.                 session.setRetries( Integer.parseInt(values[RETRIES]) );
  46.         if (values[TIMEOUT] != null)
  47.                 session.setTimeout( Integer.parseInt(values[TIMEOUT]) );
  48.     }
  49.     catch (NumberFormatException ex) {
  50.         System.err.println("Invalid Integer Arg : " + ex.getMessage());
  51. System.exit(1);
  52.     }
  53. if(values[VERSION] != null) {
  54. if(values[VERSION].equals("v2"))
  55. session.setVersion( SnmpAPI.SNMP_VERSION_2C ) ;
  56. else if(values[VERSION].equals("v1"))
  57. session.setVersion( SnmpAPI.SNMP_VERSION_1 );
  58. else if(values[VERSION].equals("v3"))
  59. session.setVersion( SnmpAPI.SNMP_VERSION_3 );
  60. else {
  61. System.out.println("Invalid Version Number");
  62. usage_error = true;
  63. }
  64. }
  65. if(session.getVersion()==SnmpAPI.SNMP_VERSION_3) {
  66. if (values[USER_NAME] != null) {
  67. userName = values[USER_NAME];
  68. if ((values[AUTH_PROTOCOL] != null) && (values[AUTH_PASSWORD] != null)) {
  69. if(values[AUTH_PROTOCOL].equals("SHA"))
  70. {
  71. authProtocol = USMUserEntry.SHA_AUTH;
  72. }
  73. else if(values[AUTH_PROTOCOL].equals("MD5"))
  74. {
  75. authProtocol = USMUserEntry.MD5_AUTH;
  76. }
  77. else
  78. {
  79. System.out.println("The AuthProtocol should be " +
  80. "either MD5 or SHA");
  81. usage_error = true;
  82. }
  83. if(authProtocol==USMUserEntry.NO_AUTH)
  84. {
  85. System.err.println("Enter authentication protocol");
  86. usage_error = true;
  87. }
  88. authPassword = values[AUTH_PASSWORD];
  89. if (values[PRIV_PASSWORD] != null) 
  90. {
  91. privPassword = values[PRIV_PASSWORD];
  92. }
  93. }
  94. else if ((values[AUTH_PROTOCOL] != null) || (values[AUTH_PASSWORD] != null) || (values[PRIV_PASSWORD] != null)) {
  95. usage_error = true;
  96. }
  97. if (values[CONTEXT_NAME] != null) {
  98. contextName = values[CONTEXT_NAME];
  99. }
  100. if (values[CONTEXT_ID] != null) {
  101. contextID = values[CONTEXT_ID];
  102. }
  103. }
  104. else {
  105. System.err.println("UserName Missing");
  106. usage_error = true;
  107. }
  108. }
  109. }
  110. public SetValues(SnmpPDU pdu, String[] values)
  111. {
  112.     // set community & writecommunity
  113.         if (values[COMMUNITY] != null)
  114. pdu.setCommunity( values[COMMUNITY] );
  115. if (values[WRITE_COMMUNITY] != null)
  116. pdu.setWriteCommunity( values[WRITE_COMMUNITY] );
  117.         //set remote Port, timeout,retries if needed.
  118.     try {
  119.         if (values[RETRIES] != null)
  120.                 pdu.setRetries( Integer.parseInt(values[RETRIES]) );
  121.         if (values[TIMEOUT] != null)
  122.                 pdu.setTimeout( Integer.parseInt(values[TIMEOUT]) );
  123.     }
  124.     catch (NumberFormatException ex) {
  125.         System.err.println("Invalid Integer Arg : " + ex.getMessage());
  126. System.exit(1);
  127.     }
  128. if(values[VERSION] != null) {
  129. if(values[VERSION].equals("v2"))
  130. pdu.setVersion( SnmpAPI.SNMP_VERSION_2C ) ;
  131. else if(values[VERSION].equals("v1"))
  132. pdu.setVersion( SnmpAPI.SNMP_VERSION_1 );
  133. else if(values[VERSION].equals("v3"))
  134. pdu.setVersion( SnmpAPI.SNMP_VERSION_3 );
  135. else {
  136. System.out.println("Invalid Version Number");
  137. usage_error = true;
  138. }
  139. }
  140. if(pdu.getVersion()==SnmpAPI.SNMP_VERSION_3) {
  141. if (values[USER_NAME] != null) {
  142. userName = values[USER_NAME];
  143. if ((values[AUTH_PROTOCOL] != null) && (values[AUTH_PASSWORD] != null)) {
  144. if(values[AUTH_PROTOCOL].equals("SHA"))
  145. {
  146. authProtocol = USMUserEntry.SHA_AUTH;
  147. }
  148. else if(values[AUTH_PROTOCOL].equals("MD5"))
  149. {
  150. authProtocol = USMUserEntry.MD5_AUTH;
  151. }
  152. else
  153. {
  154. System.out.println("The AuthProtocol should be " +
  155. "either MD5 or SHA");
  156. usage_error = true;
  157. }
  158. if(authProtocol==USMUserEntry.NO_AUTH)
  159. {
  160. System.err.println("Enter authentication protocol");
  161. usage_error = true;
  162. }
  163. authPassword = values[AUTH_PASSWORD];
  164. if (values[PRIV_PASSWORD] != null) 
  165. {
  166. privPassword = values[PRIV_PASSWORD];
  167. }
  168. }
  169. else if ((values[AUTH_PROTOCOL] != null) || (values[AUTH_PASSWORD] != null) || (values[PRIV_PASSWORD] != null)) {
  170. usage_error = true;
  171. }
  172. if (values[CONTEXT_NAME] != null) {
  173. contextName = values[CONTEXT_NAME];
  174. }
  175. if (values[CONTEXT_ID] != null) {
  176. contextID = values[CONTEXT_ID];
  177. }
  178. }
  179. else {
  180. System.err.println("UserName Missing");
  181. usage_error = true;
  182. }
  183. }
  184. }
  185. }