private void doQueryEscapeTestHelper(String data, TableRequestOptions options) throws StorageException { Class1 ref = new Class1(); ref.setA(data); ref.setPartitionKey(UUID.randomUUID().toString()); ref.setRowKey("foo"); this.table.execute(TableOperation.insert(ref), options, null); TableQuery<Class1> query = TableQuery.from(Class1.class) .where( String.format( "(PartitionKey eq '%s') and (A eq '%s')", ref.getPartitionKey(), data)); int count = 0; for (Class1 ent : this.table.execute(query, options, null)) { count++; assertEquals(ent.getA(), ref.getA()); assertEquals(ent.getB(), ref.getB()); assertEquals(ent.getC(), ref.getC()); assertEquals(ent.getPartitionKey(), ref.getPartitionKey()); assertEquals(ent.getRowKey(), ref.getRowKey()); } assertEquals(count, 1); }
private void doEscapeTestHelper( String data, boolean useBatch, boolean includeInKey, TableRequestOptions options) throws StorageException { Class1 ref = new Class1(); ref.setA(data); ref.setPartitionKey(includeInKey ? "temp" + data : "temp"); ref.setRowKey(UUID.randomUUID().toString()); if (useBatch) { TableBatchOperation batch = new TableBatchOperation(); batch.insert(ref); this.table.execute(batch, options, null); } else { this.table.execute(TableOperation.insert(ref), options, null); } TableResult res = null; if (useBatch) { TableBatchOperation batch = new TableBatchOperation(); batch.retrieve(ref.getPartitionKey(), ref.getRowKey(), Class1.class); res = this.table.execute(batch, options, null).get(0); } else { res = this.table.execute( TableOperation.retrieve(ref.getPartitionKey(), ref.getRowKey(), Class1.class), options, null); } Class1 retObj = res.getResultAsType(); assertEquals(ref.getA(), retObj.getA()); assertEquals(ref.getPartitionKey(), retObj.getPartitionKey()); ref.setEtag(retObj.getEtag()); ref.setB(data); // Merge if (useBatch) { TableBatchOperation batch = new TableBatchOperation(); batch.merge(ref); this.table.execute(batch, options, null); } else { this.table.execute(TableOperation.merge(ref), options, null); } if (useBatch) { TableBatchOperation batch = new TableBatchOperation(); batch.retrieve(ref.getPartitionKey(), ref.getRowKey(), Class1.class); res = this.table.execute(batch, options, null).get(0); } else { res = this.table.execute( TableOperation.retrieve(ref.getPartitionKey(), ref.getRowKey(), Class1.class), options, null); } retObj = res.getResultAsType(); assertEquals(ref.getA(), retObj.getA()); assertEquals(ref.getB(), retObj.getB()); // Replace ref.setEtag(retObj.getEtag()); ref.setC(data); if (useBatch) { TableBatchOperation batch = new TableBatchOperation(); batch.replace(ref); this.table.execute(batch, options, null); } else { this.table.execute(TableOperation.replace(ref), options, null); } if (useBatch) { TableBatchOperation batch = new TableBatchOperation(); batch.retrieve(ref.getPartitionKey(), ref.getRowKey(), Class1.class); res = this.table.execute(batch, options, null).get(0); } else { res = this.table.execute( TableOperation.retrieve(ref.getPartitionKey(), ref.getRowKey(), Class1.class), options, null); } retObj = res.getResultAsType(); assertEquals(ref.getA(), retObj.getA()); assertEquals(ref.getB(), retObj.getB()); assertEquals(ref.getC(), retObj.getC()); if (useBatch) { TableBatchOperation batch = new TableBatchOperation(); batch.delete(retObj); res = this.table.execute(batch, options, null).get(0); } else { res = this.table.execute(TableOperation.delete(retObj), options, null); } }