📄 snmptargetmib.java
字号:
OctetString contextName) {
Address addr = getAddress();
OctetString addrParams =
(OctetString) getValue(idxSnmpTargetAddrParams);
OID paramsIndex = addrParams.toSubIndex(true);
MOTableRow paramsRow = snmpTargetParamsEntryModel.getRow(paramsIndex);
if (paramsRow == null) {
return null;
}
Target t;
if (paramsRow.getValue(idxSnmpTargetParamsMPModel).toInt() ==
MPv3.ID) {
t = new UserTarget(addr,
(OctetString)
paramsRow.getValue(idxSnmpTargetParamsSecurityName),
contextEngineID.getValue(),
paramsRow.getValue(idxSnmpTargetParamsSecurityLevel).
toInt());
}
else {
OctetString community =
(OctetString) paramsRow.getValue(idxSnmpTargetParamsSecurityName);
if (coexistenceProvider != null) {
community = coexistenceProvider.getCommunity(community,
contextEngineID, contextName);
if (community == null) {
return null;
}
}
t = new CommunityTarget(addr, community);
}
t.setRetries(getValue(idxSnmpTargetAddrRetryCount).toInt());
t.setTimeout(getValue(idxSnmpTargetAddrTimeout).toInt()*10);
t.setVersion(paramsRow.getValue(idxSnmpTargetParamsMPModel).toInt());
return t;
}
}
// Value Validators
/**
* The <code>SnmpTargetParamsMPModelValidator</code> implements the value validation
* for <code>SnmpTargetParamsMPModel</code>.
*/
class SnmpTargetParamsMPModelValidator implements
MOValueValidationListener {
public void validate(MOValueValidationEvent validationEvent) {
Variable newValue = validationEvent.getNewValue();
int v = ((Integer32) newValue).getValue();
if (session.getMessageProcessingModel(v) == null) {
validationEvent.setValidationStatus(SnmpConstants.
SNMP_ERROR_WRONG_VALUE);
return;
}
//--AgentGen BEGIN=snmpTargetParamsMPModel::validate
//--AgentGen END
}
}
/**
* The <code>SnmpTargetParamsSecurityModelValidator</code> implements the value validation
* for <code>SnmpTargetParamsSecurityModel</code>.
*/
static class SnmpTargetParamsSecurityModelValidator implements
MOValueValidationListener {
public void validate(MOValueValidationEvent validationEvent) {
//--AgentGen BEGIN=snmpTargetParamsSecurityModel::validate
Variable newValue = validationEvent.getNewValue();
switch (((Integer32)newValue).getValue()) {
case SecurityModel.SECURITY_MODEL_USM: {
if (SecurityModels.getInstance().
getSecurityModel((Integer32) newValue) == null) {
validationEvent.setValidationStatus(SnmpConstants.
SNMP_ERROR_WRONG_VALUE);
return;
}
break;
}
default:
break;
}
//--AgentGen END
}
}
/**
* The <code>SnmpTargetAddrTDomainValidator</code> implements the value validation
* for <code>SnmpTargetAddrTDomain</code>.
*/
class SnmpTargetAddrTDomainValidator implements
MOValueValidationListener {
public void validate(MOValueValidationEvent validationEvent) {
Variable newValue = validationEvent.getNewValue();
//--AgentGen BEGIN=snmpTargetAddrTDomain::validate
if (newValue instanceof OID) {
OID tdomain = (OID)newValue;
if (!supportedAddressClasses.containsKey(tdomain)) {
validationEvent.setValidationStatus(SnmpConstants.SNMP_ERROR_BAD_VALUE);
}
}
else {
validationEvent.setValidationStatus(SnmpConstants.SNMP_ERROR_WRONG_TYPE);
}
//--AgentGen END
}
}
/**
* The <code>SnmpTargetAddrTAddressValidator</code> implements the value
* validation for <code>SnmpTargetAddrTAddress</code>.
*/
static class SnmpTargetAddrTAddressValidator implements
MOValueValidationListener {
public void validate(MOValueValidationEvent validationEvent) {
Variable newValue = validationEvent.getNewValue();
OctetString os = (OctetString) newValue;
if (!(((os.length() >= 1) && (os.length() <= 255)))) {
validationEvent.setValidationStatus(SnmpConstants.
SNMP_ERROR_WRONG_LENGTH);
return;
}
//--AgentGen BEGIN=snmpTargetAddrTAddress::validate
//--AgentGen END
}
}
/**
* The <code>SnmpTargetAddrTimeoutValidator</code> implements the value
* validation for <code>SnmpTargetAddrTimeout</code>.
*/
static class SnmpTargetAddrTimeoutValidator implements
MOValueValidationListener {
public void validate(MOValueValidationEvent validationEvent) {
Variable newValue = validationEvent.getNewValue();
long v = ((Integer32) newValue).getValue();
if (!(((v >= 0L) /*&& (v <= 2147483647L)*/))) {
validationEvent.setValidationStatus(SnmpConstants.
SNMP_ERROR_WRONG_VALUE);
return;
}
//--AgentGen BEGIN=snmpTargetAddrTimeout::validate
//--AgentGen END
}
}
/**
* The <code>SnmpTargetAddrRetryCountValidator</code> implements the value validation
* for <code>SnmpTargetAddrRetryCount</code>.
*/
static class SnmpTargetAddrRetryCountValidator implements
MOValueValidationListener {
public void validate(MOValueValidationEvent validationEvent) {
Variable newValue = validationEvent.getNewValue();
long v = ((Integer32) newValue).getValue();
if (!(((v >= 0L) && (v <= 255L)))) {
validationEvent.setValidationStatus(SnmpConstants.
SNMP_ERROR_WRONG_VALUE);
return;
}
//--AgentGen BEGIN=snmpTargetAddrRetryCount::validate
//--AgentGen END
}
}
/**
* The <code>SnmpTargetAddrParamsValidator</code> implements the value validation
* for <code>SnmpTargetAddrParams</code>.
*/
class SnmpTargetAddrParamsValidator implements
MOValueValidationListener {
public void validate(MOValueValidationEvent validationEvent) {
Variable newValue = validationEvent.getNewValue();
OctetString os = (OctetString) newValue;
if (!(((os.length() >= 1) && (os.length() <= 32)))) {
validationEvent.setValidationStatus(SnmpConstants.
SNMP_ERROR_WRONG_LENGTH);
return;
}
//--AgentGen BEGIN=snmpTargetAddrParams::validate
OID paramsIndexOID = os.toSubIndex(true);
MOTableRow paramsRow =
snmpTargetParamsEntryModel.getRow(paramsIndexOID);
if (paramsRow == null) {
validationEvent.
setValidationStatus(SnmpConstants.SNMP_ERROR_INCONSISTENT_VALUE);
}
//--AgentGen END
}
}
public void incrementCounter(CounterEvent event) {
if (event.getOid().equals(snmpUnavailableContexts.getOid())) {
((Counter32) snmpUnavailableContexts.getValue()).increment();
event.setCurrentValue(snmpUnavailableContexts.getValue());
}
else if (event.getOid().equals(snmpUnknownContexts.getOid())) {
((Counter32) snmpUnknownContexts.getValue()).increment();
event.setCurrentValue(snmpUnknownContexts.getValue());
}
}
// Enumerations
public static final class SnmpTargetParamsSecurityLevelEnum {
public static final int noAuthNoPriv = 1;
public static final int authNoPriv = 2;
public static final int authPriv = 3;
}
//--AgentGen BEGIN=_CLASSES
public void rowChanged(MOTableRowEvent event) {
if ((event.getType() == MOTableRowEvent.DELETE) &&
(event.getRow() instanceof SnmpTargetAddrEntryRow)) {
Variable[] vbs = new Variable[event.getRow().size()];
vbs[idxSnmpTargetAddrTagList] = new OctetString();
MOTableRow dummyRow =
new DefaultMOTableRow(event.getRow().getIndex(), vbs);
((SnmpTargetAddrEntryRow)event.getRow()).updateUserObject(dummyRow);
}
}
/**
* Returns the SNMP Target Parameters row for the specified name.
* @param paramsName
* the name of the parameters set to return.
* @return
* if the row containing the target parameters if such an entry
* exists or <code>null</code> if no such entry exists
*/
public MOTableRow getTargetParamsRow(OctetString paramsName) {
if (paramsName == null) {
return null;
}
OID paramsIndex = paramsName.toSubIndex(true);
return snmpTargetParamsEntryModel.getRow(paramsIndex);
}
/**
* Returns the SNMP Target Parameters row for the specified name.
* @param paramsName
* the name of the parameters set to return.
* @param activeOnly
* if <code>true</code> only an active row will be returned.
* @return
* if the row containing the target parameters if such an entry
* exists or <code>null</code> if no such entry exists
*/
public MOTableRow getTargetParamsRow(OctetString paramsName,
boolean activeOnly) {
MOTableRow row = getTargetParamsRow(paramsName);
if (activeOnly && (row != null)) {
if (((Integer32)row.getValue(idxSnmpTargetParamsRowStatus)).getValue()
!= RowStatus.active) {
return null;
}
}
return row;
}
public DefaultMOTable getSnmpTargetAddrEntry() {
return snmpTargetAddrEntry;
}
public CoexistenceInfoProvider getCoexistenceProvider() {
return coexistenceProvider;
}
public void setCoexistenceProvider(CoexistenceInfoProvider
coexistenceProvider) {
this.coexistenceProvider = coexistenceProvider;
}
//--AgentGen END
//--AgentGen BEGIN=_END
//--AgentGen END
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -