Hi Frank,
Below code are auto-generated with AgenPro.
But I find the validators added are not used.
This is due to the ‘validate’ method in class DateAndTime overrides that in class MOMutableColumn.
Do you have any suggestion for this? I need to add my own validators in ‘PktcEScTapMediationTimeoutValidator()’.
Thanks.
pktcEScTapMediationEntryColumns[idxPktcEScTapMediationTimeout] = new DateAndTime(colPktcEScTapMediationTimeout,
moFactory.createAccess(MOAccessImpl.ACCESSIBLE_FOR_READ_CREATE), (OctetString) null
// --AgentGen BEGIN=pktcEScTapMediationTimeout::auxInit
// --AgentGen END
);
ValueConstraint pktcEScTapMediationTimeoutVC = new ConstraintsImpl();
((ConstraintsImpl) pktcEScTapMediationTimeoutVC).add(new Constraint(8L, 8L));
((ConstraintsImpl) pktcEScTapMediationTimeoutVC).add(new Constraint(11L, 11L));
((MOMutableColumn) pktcEScTapMediationEntryColumns[idxPktcEScTapMediationTimeout])
.addMOValueValidationListener(new ValueConstraintValidator(pktcEScTapMediationTimeoutVC));
((MOMutableColumn) pktcEScTapMediationEntryColumns[idxPktcEScTapMediationTimeout])
.addMOValueValidationListener(new PktcEScTapMediationTimeoutValidator());
/**
* The <code>PktcEScTapMediationTimeoutValidator</code> implements the value validation for
* <code>PktcEScTapMediationTimeout</code>.
*/
static class PktcEScTapMediationTimeoutValidator implements MOValueValidationListener {
public void validate(MOValueValidationEvent validationEvent) {
Variable newValue = validationEvent.getNewValue();
OctetString os = (OctetString) newValue;
if (!(((os.length() >= 8) && (os.length() <= 8)) || ((os.length() >= 11) && (os.length() <= 11)))) {
validationEvent.setValidationStatus(SnmpConstants.SNMP_ERROR_WRONG_LENGTH);
return;
}
// --AgentGen BEGIN=pktcEScTapMediationTimeout::validate
OctetString cur = DateAndTime.makeDateAndTime(new GregorianCalendar());
if (newValue.compareTo(cur) < 0) {
validationEvent.setValidationStatus(SnmpConstants.SNMP_ERROR_WRONG_VALUE);
return;
}
// --AgentGen END
}
}