*/
private void createRequestPDU() {
SnmpRequest request = (SnmpRequest)
((AgentXSearchRange) searchRanges.get(0))
.getReferenceSubRequest().getRequest();
PDU requestPDU = request.getInitiatingEvent().getPDU();
switch (requestPDU.getType()) {
case PDU.GETBULK: {
short maxRep = getMaxRepetitions(request, requestPDU);
agentXRequestPDU =
new AgentXGetBulkPDU(request.getContext(),
maxRep, nonRepeater,
(MOScope[]) searchRanges.toArray(
new MOScope[searchRanges.size()]));
break;
}
case PDU.GET: {
OID[] oids = new OID[searchRanges.size()];
for (int i = 0; i < oids.length; i++) {
AgentXSearchRange sr = (AgentXSearchRange) searchRanges.get(i);
oids[i] = sr.getLowerBound();
}
agentXRequestPDU = new AgentXGetPDU(request.getContext(), oids);
break;
}
case PDU.GETNEXT: {
agentXRequestPDU =
new AgentXGetNextPDU(request.getContext(),
(MOScope[]) searchRanges.toArray(
new MOScope[searchRanges.size()]));
break;
}
default: {
logger.error("Failed to create AgentX PDU for PDU type " +
requestPDU.getType());
}
}
}