ScanRequest_type scan_request = (ScanRequest_type) (e.getPDU().o);
int scan_status = 0;
try {
if (this.search_service instanceof Scanable) {
Scanable s = (Scanable) this.search_service;
if (s.isScanSupported()) {
String name = null;
OIDRegisterEntry ent = reg.lookupByOID(scan_request.attributeSet);
if (ent != null) {
name = ent.getName();
}
RootNode rn = new RootNode();
int i1 = ((scan_request.stepSize == null) ? 0
: scan_request.stepSize
.intValue());
int i2 = ((scan_request.numberOfTermsRequested == null) ? 0
: scan_request.numberOfTermsRequested
.intValue());
int i3 = ((scan_request.preferredPositionInResponse == null)
? 0 : scan_request.preferredPositionInResponse.intValue());
ScanRequestInfo sri = new ScanRequestInfo();
sri.collections = scan_request.databaseNames;
sri.attribute_set = name;
sri.term_list_and_start_point = com.k_int.z3950.util.RPN2Internal
.convertAPT(scan_request.termListAndStartPoint, rn);
sri.step_size = i1;
sri.number_of_terms_requested = i2;
sri.position_in_response = i3;
ScanInformation scan_result = null;
try {
scan_result = s.doScan(sri);
assoc.sendScanResponse(scan_request.referenceId,
BigInteger.valueOf(i1),
BigInteger.valueOf(scan_status),
BigInteger.valueOf(scan_result.position),