/** * Gets the result returned by the table operation as an instance of the specified type. * * @return * An <code>T</code> reference which represents the result returned by the table operation. */ @SuppressWarnings("unchecked") public <T> T getResultAsType() { return (T) this.getResult(); }
/** * Gets the result returned by the table operation as an instance of the specified type. * * @return * An <code>T</code> reference which represents the result returned by the table operation. */ @SuppressWarnings("unchecked") public <T> T getResultAsType() { return (T) this.getResult(); }
@Test public void testBatchEmptyQuery() throws StorageException { TableRequestOptions options = new TableRequestOptions(); options.setTablePayloadFormat(TablePayloadFormat.Json); // insert entity Class1 ref = TableTestHelper.generateRandomEntity("jxscl_odata"); TableBatchOperation batch = new TableBatchOperation(); batch.retrieve(ref.getPartitionKey(), ref.getRowKey(), ref.getClass()); ArrayList<TableResult> results = this.table.execute(batch, options, null); assertEquals(results.size(), 1); assertNull(results.get(0).getResult()); assertEquals(results.get(0).getHttpStatusCode(), HttpURLConnection.HTTP_NOT_FOUND); }
private void testDelete(TableRequestOptions options) throws StorageException { Class1 ref = new Class1(); ref.setA("foo_A"); ref.setB("foo_B"); ref.setC("foo_C"); ref.setD(new byte[]{0, 1, 2}); ref.setPartitionKey("jxscl_odata"); ref.setRowKey(UUID.randomUUID().toString()); TableOperation op = TableOperation.insert(ref); this.table.execute(op, options, null); this.table.execute(TableOperation.delete(ref), options, null); TableResult res2 = this.table.execute( TableOperation.retrieve(ref.getPartitionKey(), ref.getRowKey(), Class1.class), options, null); assertTrue(res2.getResult() == null); }
@Test public void testEmptyRetrieve() throws StorageException { TableRequestOptions options = new TableRequestOptions(); options.setTablePayloadFormat(TablePayloadFormat.Json); Class1 ref = new Class1(); ref.setA("foo_A"); ref.setB("foo_B"); ref.setC("foo_C"); ref.setD(new byte[]{0, 1, 2}); ref.setPartitionKey("jxscl_odata"); ref.setRowKey(UUID.randomUUID().toString()); TableResult res = this.table.execute( TableOperation.retrieve(ref.getPartitionKey(), ref.getRowKey(), Class1.class), options, null); assertNull(res.getResult()); assertEquals(res.getHttpStatusCode(), HttpURLConnection.HTTP_NOT_FOUND); }
private void testWhitespaceTest(TableRequestOptions options, boolean usePropertyResolver) throws StorageException { Class1 ref = new Class1(); ref.setA("B "); ref.setB(" A "); ref.setC(" "); ref.setD(new byte[] { 0, 1, 2 }); ref.setPartitionKey("jxscl_odata"); ref.setRowKey(UUID.randomUUID().toString()); if (usePropertyResolver) { options.setPropertyResolver(ref); } this.table.execute(TableOperation.insert(ref), options, null); TableResult res = this.table.execute( TableOperation.retrieve(ref.getPartitionKey(), ref.getRowKey(), Class1.class), options, null); assertEquals(((Class1) res.getResult()).getA(), ref.getA()); }
private void testNewLineTest(TableRequestOptions options, boolean usePropertyResolver) throws StorageException { Class1 ref = new Class1(); ref.setA("B "); ref.setB(" A "); ref.setC("\r\n"); ref.setD(new byte[] { 0, 1, 2 }); ref.setPartitionKey("jxscl_odata"); ref.setRowKey(UUID.randomUUID().toString()); if (usePropertyResolver) { options.setPropertyResolver(ref); } this.table.execute(TableOperation.insert(ref), options, null); TableResult res = this.table.execute( TableOperation.retrieve(ref.getPartitionKey(), ref.getRowKey(), Class1.class), options, null); assertEquals(((Class1) res.getResult()).getA(), ref.getA()); }
private void insertAndDeleteBatchWithX(int x, TableRequestOptions options) throws StorageException { TableBatchOperation batch = new TableBatchOperation(); for (int m = 0; m < x; m++) { addInsertBatch(batch); } TableBatchOperation delBatch = new TableBatchOperation(); ArrayList<TableResult> results = this.table.execute(batch, options, null); for (TableResult r : results) { assertEquals(r.getHttpStatusCode(), HttpURLConnection.HTTP_NO_CONTENT); delBatch.delete((Class1) r.getResult()); } ArrayList<TableResult> delResults = this.table.execute(delBatch, options, null); for (TableResult r : delResults) { assertEquals(r.getHttpStatusCode(), HttpURLConnection.HTTP_NO_CONTENT); } }
private void upsertAndDeleteBatchWithX(int x, TableRequestOptions options) throws StorageException { TableBatchOperation batch = new TableBatchOperation(); for (int m = 0; m < x; m++) { addInsertOrMergeToBatch(TableTestHelper.generateRandomEntity("jxscl_odata"), batch); } TableBatchOperation delBatch = new TableBatchOperation(); ArrayList<TableResult> results = this.table.execute(batch, options, null); for (TableResult r : results) { assertEquals(r.getHttpStatusCode(), HttpURLConnection.HTTP_NO_CONTENT); delBatch.delete((Class2) r.getResult()); } ArrayList<TableResult> delResults = this.table.execute(delBatch, options, null); for (TableResult r : delResults) { assertEquals(r.getHttpStatusCode(), HttpURLConnection.HTTP_NO_CONTENT); } }
private void tableBatchRetrieveWithEntityResolver(TableRequestOptions options) throws StorageException { // insert entity Class1 randEnt = TableTestHelper.generateRandomEntity("jxscl_odata"); this.table.execute(TableOperation.insert(randEnt), options, null); TableBatchOperation batch = new TableBatchOperation(); batch.retrieve(randEnt.getPartitionKey(), randEnt.getRowKey(), new EntityResolver<Class1>() { @Override public Class1 resolve(String partitionKey, String rowKey, Date timeStamp, HashMap<String, EntityProperty> properties, String etag) { assertEquals(properties.size(), 4); Class1 ref = new Class1(); ref.setA(properties.get("A").getValueAsString()); ref.setB(properties.get("B").getValueAsString()); ref.setC(properties.get("C").getValueAsString()); ref.setD(properties.get("D").getValueAsByteArray()); return ref; } }); ArrayList<TableResult> results = this.table.execute(batch, options, null); assertEquals(results.size(), 1); Class1 ent = (Class1) results.get(0).getResult(); // Validate results assertEquals(ent.getA(), randEnt.getA()); assertEquals(ent.getB(), randEnt.getB()); assertEquals(ent.getC(), randEnt.getC()); assertTrue(Arrays.equals(ent.getD(), randEnt.getD())); }
Class1 retrievedEnt = (Class1) res4.getResult(); assertEquals(ref.getA(), retrievedEnt.getA()); assertTrue(Arrays.equals(ref.getD(), retrievedEnt.getD())); retrievedEnt = (Class1) res4.getResult(); assertEquals(ref.getA(), retrievedEnt.getA()); assertTrue(Arrays.equals(ref.getD(), retrievedEnt.getD()));
DynamicTableEntity mergedEntity = (DynamicTableEntity) res2.getResult();
private void testWhitespaceOnEmptyKeysTest(TableRequestOptions options, boolean usePropertyResolver) throws StorageException { Class1 ref = new Class1(); ref.setA("B "); ref.setB(" A "); ref.setC(" "); ref.setD(new byte[] { 0, 1, 2 }); ref.setPartitionKey(""); ref.setRowKey(""); if (usePropertyResolver) { options.setPropertyResolver(ref); } this.table.execute(TableOperation.insert(ref), options, null); TableResult res = this.table.execute( TableOperation.retrieve(ref.getPartitionKey(), ref.getRowKey(), Class1.class), options, null); assertEquals(((Class1) res.getResult()).getA(), ref.getA()); this.table.execute(TableOperation.delete(ref), options, null); }