inputs.put(DataProcessor.input_key_records_offset, Integer.valueOf(offset));
inputs.put(DataProcessor.input_key_records_limit, Integer.valueOf(limitOrFixed));
OmniDTO dto = execute(inputs, processorType, processorName);
TableData td = dto.getTableData(processorName);
if (limitOrFixed != DataProcessor.NO_ROW_LIMIT) {
boolean requireFixed = Util.getBooleanValue(inputs, DataProcessor.input_key_records_fixed, false);
if (requireFixed) {
if (td.getTableSize() != 0 && td.getTableSize() != limitOrFixed) {
throw new UnexpectedDataException("Failed to retrieveRows for '" +
processorName + "': required only " +
limitOrFixed + " but retrieved " + td.getTableSize() + ".");
}
}
else {
if (td.getTableSize() > limitOrFixed) {
throw new UnexpectedDataException("Failed to retrieveRows for '" +
processorName + "': required limit at most " +
limitOrFixed + " but retrieved " + td.getTableSize() + ".");
}
}
}
return td;
}