static public AResult resultToAResult(Result result) { AResult aresult = new AResult(); byte[] row = result.getRow(); aresult.row = ByteBuffer.wrap(row != null ? row : new byte[1]); Schema s = Schema.createArray(AResultEntry.SCHEMA$); GenericData.Array<AResultEntry> entries = null; List<KeyValue> resultKeyValues = result.list(); if (resultKeyValues != null && resultKeyValues.size() > 0) { entries = new GenericData.Array<AResultEntry>(resultKeyValues.size(), s); for (KeyValue resultKeyValue : resultKeyValues) { AResultEntry entry = new AResultEntry(); entry.family = ByteBuffer.wrap(resultKeyValue.getFamily()); entry.qualifier = ByteBuffer.wrap(resultKeyValue.getQualifier()); entry.value = ByteBuffer.wrap(resultKeyValue.getValue()); entry.timestamp = resultKeyValue.getTimestamp(); entries.add(entry); } } else { entries = new GenericData.Array<AResultEntry>(0, s); } aresult.entries = entries; return aresult; }
public GenericArray<AResult> scannerGetRows(int scannerId, int numberOfRows) throws AIOError, AIllegalArgument { try { ResultScanner scanner = getScanner(scannerId); if (scanner == null) { AIllegalArgument aie = new AIllegalArgument(); aie.message = new Utf8("scanner ID is invalid: " + scannerId); throw aie; } return AvroUtil.resultsToAResults(scanner.next(numberOfRows)); } catch (IOException e) { AIOError ioe = new AIOError(); ioe.message = new Utf8(e.getMessage()); throw ioe; } }
static public GenericArray<AResult> resultsToAResults(Result[] results) { Schema s = Schema.createArray(AResult.SCHEMA$); GenericData.Array<AResult> aresults = null; if (results != null && results.length > 0) { aresults = new GenericData.Array<AResult>(results.length, s); for (Result result : results) { aresults.add(resultToAResult(result)); } } else { aresults = new GenericData.Array<AResult>(0, s); } return aresults; }
@Test public void testGetEmpty() { Result result = Mockito.mock(Result.class); Mockito.when(result.getRow()).thenReturn(null); //Get on a row, that does not exist, returns a result, //whose row is null. AResult aresult = AvroUtil.resultToAResult(result); Assert.assertNotNull(aresult); }