org.odata4j.examples.consumer.AzureTableStorageConsumerExample Maven / Gradle / Ivy
The newest version!
package org.odata4j.examples.consumer;
import org.odata4j.consumer.ODataConsumer;
import org.odata4j.consumer.ODataConsumers;
import org.odata4j.consumer.behaviors.OClientBehaviors;
import org.odata4j.core.OEntity;
import org.odata4j.core.OEntityKey;
import org.odata4j.core.OProperties;
import org.odata4j.examples.AbstractExample;
public class AzureTableStorageConsumerExample extends AbstractExample {
public static void main(String[] args) {
AzureTableStorageConsumerExample example = new AzureTableStorageConsumerExample();
example.run(args);
}
private void run(String[] args) {
String[] azureCreds = args.length > 0 ? args : System.getenv("AZURESTORAGE").split(":");
String accountKey = azureCreds[0];
String secretKey = azureCreds[1];
String url = "http://" + accountKey + ".table.core.windows.net/";
ODataConsumer c = ODataConsumers.newBuilder(url)
.setClientBehaviors(OClientBehaviors.azureTables(accountKey, secretKey))
.build();
report("Create a new temp table to use for the test");
String tableName = "TempTable" + System.currentTimeMillis();
c.createEntity("Tables").properties(OProperties.string("TableName", tableName)).execute();
reportEntities(c, "Tables", 100);
// create composite key to use for entity-level tests
OEntityKey rowKey1 = OEntityKey.create("PartitionKey", "", "RowKey", "1");
report("Ensure the new entity does not exist");
c.deleteEntity(tableName, rowKey1).execute();
reportEntities(c, tableName, 100);
report("Create a new entity");
OEntity newEntity = c.createEntity(tableName).properties(rowKey1.asComplexProperties()).properties(
OProperties.string("foo", "bar"))
.execute();
reportEntities(c, tableName, 100);
report("Update the new entity");
c.updateEntity(newEntity)
.properties(OProperties.string("Value", "Sortof Large")).execute();
reportEntities(c, tableName, 100);
report("Merge the new entity");
c.mergeEntity(tableName, rowKey1)
.properties(OProperties.string("foo", "baz")).execute();
reportEntities(c, tableName, 100);
report("Delete the new entity");
c.deleteEntity(tableName, rowKey1).execute();
reportEntities(c, tableName, 100);
report("Delete the temp table");
c.deleteEntity("Tables", tableName).execute();
}
}