diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/table/client/CloudTableClient.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/table/client/CloudTableClient.java
index b471594261c6..8e49c62513db 100644
--- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/table/client/CloudTableClient.java
+++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/table/client/CloudTableClient.java
@@ -25,6 +25,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
+import java.util.Iterator;
import javax.xml.stream.XMLStreamException;
@@ -657,7 +658,7 @@ public TableResult execute(final String tableName, final TableOperation operatio
* R of the results of executing the query.
*/
@DoesServiceRequest
- public Iterable execute(final TableQuery> query, final EntityResolver resolver) {
+ public Iterator execute(final TableQuery> query, final EntityResolver resolver) {
return this.execute(query, resolver, null, null);
}
@@ -692,11 +693,11 @@ public Iterable execute(final TableQuery> query, final EntityResolver Iterable execute(final TableQuery> query, final EntityResolver resolver,
+ public Iterator execute(final TableQuery> query, final EntityResolver resolver,
final TableRequestOptions options, final OperationContext opContext) {
Utility.assertNotNull("query", query);
Utility.assertNotNull("Query requires a valid class type or resolver.", resolver);
- return (Iterable) this.generateIteratorForQuery(query, resolver, options, opContext);
+ return (Iterator) this.generateIteratorForQuery(query, resolver, options, opContext);
}
/**
@@ -716,7 +717,7 @@ public Iterable execute(final TableQuery> query, final EntityResolver Iterable execute(final TableQuery query) {
+ public Iterator execute(final TableQuery query) {
return this.execute(query, null, null);
}
@@ -748,10 +749,10 @@ public Iterable execute(final TableQuery query) {
*/
@SuppressWarnings("unchecked")
@DoesServiceRequest
- public Iterable execute(final TableQuery query, final TableRequestOptions options,
+ public Iterator execute(final TableQuery query, final TableRequestOptions options,
final OperationContext opContext) {
Utility.assertNotNull("query", query);
- return (Iterable) this.generateIteratorForQuery(query, null, options, opContext);
+ return (Iterator) this.generateIteratorForQuery(query, null, options, opContext);
}
/**
@@ -942,7 +943,7 @@ public ResultSegment executeSegmented(final TableQuer
* An Iterable collection of the table names in the storage account.
*/
@DoesServiceRequest
- public Iterable listTables() {
+ public Iterator listTables() {
return this.listTables(null);
}
@@ -961,7 +962,7 @@ public Iterable listTables() {
* prefix.
*/
@DoesServiceRequest
- public Iterable listTables(final String prefix) {
+ public Iterator listTables(final String prefix) {
return this.listTables(prefix, null, null);
}
@@ -991,7 +992,7 @@ public Iterable listTables(final String prefix) {
* prefix.
*/
@DoesServiceRequest
- public Iterable listTables(final String prefix, final TableRequestOptions options,
+ public Iterator listTables(final String prefix, final TableRequestOptions options,
final OperationContext opContext) {
return this.execute(this.generateListTablesQuery(prefix), this.tableNameResolver, options, opContext);
}
diff --git a/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/table/client/TableClientTests.java b/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/table/client/TableClientTests.java
index 7dc7bd3c4dbd..e02cb04aeadc 100644
--- a/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/table/client/TableClientTests.java
+++ b/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/table/client/TableClientTests.java
@@ -20,6 +20,7 @@
import java.net.URISyntaxException;
import java.text.DecimalFormat;
import java.util.ArrayList;
+import java.util.Iterator;
import junit.framework.Assert;
@@ -142,8 +143,8 @@ public void listTablesWithIterator() throws IOException, URISyntaxException, Sto
try {
// With prefix
int currTable = 0;
- for (String s : tClient.listTables(tableBaseName, null, null)) {
- Assert.assertEquals(s,
+ for (Iterator iterator = tClient.listTables(tableBaseName, null, null); iterator.hasNext();) {
+ Assert.assertEquals(iterator.next(),
String.format("%s%s", tableBaseName, new DecimalFormat("#0000").format(currTable)));
currTable++;
}
@@ -152,8 +153,8 @@ public void listTablesWithIterator() throws IOException, URISyntaxException, Sto
// Without prefix
currTable = 0;
- for (String s : tClient.listTables()) {
- if (s.startsWith(tableBaseName)) {
+ for (Iterator iterator = tClient.listTables(tableBaseName, null, null); iterator.hasNext();) {
+ if (iterator.next().startsWith(tableBaseName)) {
currTable++;
}
}
diff --git a/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/table/client/TableEscapingTests.java b/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/table/client/TableEscapingTests.java
index ce90b73f1af4..75e28b8c370b 100644
--- a/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/table/client/TableEscapingTests.java
+++ b/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/table/client/TableEscapingTests.java
@@ -14,6 +14,7 @@
*/
package com.microsoft.windowsazure.services.table.client;
+import java.util.Iterator;
import java.util.UUID;
import junit.framework.Assert;
@@ -217,7 +218,8 @@ private void doQueryEscapeTest(String data) throws StorageException {
int count = 0;
- for (class1 ent : tClient.execute(query)) {
+ for (Iterator iterator = tClient.execute(query); iterator.hasNext();) {
+ class1 ent = iterator.next();
count++;
Assert.assertEquals(ent.getA(), ref.getA());
Assert.assertEquals(ent.getB(), ref.getB());
diff --git a/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/table/client/TableQueryTests.java b/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/table/client/TableQueryTests.java
index dd46b99bae99..540406ba2dd6 100644
--- a/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/table/client/TableQueryTests.java
+++ b/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/table/client/TableQueryTests.java
@@ -20,10 +20,7 @@
import java.net.HttpURLConnection;
import java.net.URISyntaxException;
import java.security.InvalidKeyException;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.UUID;
+import java.util.*;
import junit.framework.Assert;
@@ -64,11 +61,12 @@ public void tableQueryWithDynamicEntity() {
// Create entity to check against
class1 randEnt = TableTestBase.generateRandomEnitity(null);
- final Iterable result = tClient.execute(TableQuery.from(testSuiteTableName,
+ final Iterator result = tClient.execute(TableQuery.from(testSuiteTableName,
DynamicTableEntity.class));
// Validate results
- for (DynamicTableEntity ent : result) {
+ while (result.hasNext()) {
+ DynamicTableEntity ent = result.next();
Assert.assertEquals(ent.getProperties().size(), 4);
Assert.assertEquals(ent.getProperties().get("A").getValueAsString(), randEnt.getA());
Assert.assertEquals(ent.getProperties().get("B").getValueAsString(), randEnt.getB());
@@ -81,11 +79,12 @@ public void tableQueryWithDynamicEntity() {
public void tableQueryWithProjection() {
// Create entity to check against
class1 randEnt = TableTestBase.generateRandomEnitity(null);
- final Iterable result = tClient.execute(TableQuery.from(testSuiteTableName, class1.class).select(
+ final Iterator result = tClient.execute(TableQuery.from(testSuiteTableName, class1.class).select(
new String[] { "A", "C" }));
// Validate results
- for (class1 ent : result) {
+ while (result.hasNext()) {
+ class1 ent = result.next();
// Validate core properties were sent.
Assert.assertNotNull(ent.getPartitionKey());
Assert.assertNotNull(ent.getRowKey());
@@ -116,12 +115,13 @@ public void eventOccurred(ResponseReceivedEvent eventArg) {
}
});
- final Iterable result = tClient.execute(
+ final Iterator result = tClient.execute(
TableQuery.from(testSuiteTableName, class1.class).select(
new String[] { "PartitionKey", "RowKey", "Timestamp" }), null, opContext);
// Validate results
- for (class1 ent : result) {
+ while (result.hasNext()) {
+ class1 ent = result.next();
Assert.assertEquals(ent.getA(), null);
Assert.assertEquals(ent.getB(), null);
Assert.assertEquals(ent.getC(), null);
@@ -134,10 +134,11 @@ public void tableQueryWithReflection() {
// Create entity to check against
class1 randEnt = TableTestBase.generateRandomEnitity(null);
- final Iterable result = tClient.execute(TableQuery.from(testSuiteTableName, class1.class));
+ final Iterator result = tClient.execute(TableQuery.from(testSuiteTableName, class1.class));
// Validate results
- for (class1 ent : result) {
+ while (result.hasNext()) {
+ class1 ent = result.next();
Assert.assertEquals(ent.getA(), randEnt.getA());
Assert.assertEquals(ent.getB(), randEnt.getB());
Assert.assertEquals(ent.getC(), randEnt.getC());
@@ -150,7 +151,7 @@ public void tableQueryWithResolver() {
// Create entity to check against
class1 randEnt = TableTestBase.generateRandomEnitity(null);
- final Iterable result = tClient.execute(TableQuery.from(testSuiteTableName, TableServiceEntity.class),
+ final Iterator result = tClient.execute(TableQuery.from(testSuiteTableName, TableServiceEntity.class),
new EntityResolver() {
@Override
public class1 resolve(String partitionKey, String rowKey, Date timeStamp,
@@ -166,7 +167,8 @@ public class1 resolve(String partitionKey, String rowKey, Date timeStamp,
});
// Validate results
- for (class1 ent : result) {
+ while (result.hasNext()) {
+ class1 ent = result.next();
Assert.assertEquals(ent.getA(), randEnt.getA());
Assert.assertEquals(ent.getB(), randEnt.getB());
Assert.assertEquals(ent.getC(), randEnt.getC());
@@ -202,7 +204,8 @@ public void tableQueryWithFilter() throws StorageException {
int count = 0;
- for (class1 ent : tClient.execute(query)) {
+ for (Iterator iterator = tClient.execute(query); iterator.hasNext();) {
+ class1 ent = iterator.next();
Assert.assertEquals(ent.getA(), randEnt.getA());
Assert.assertEquals(ent.getB(), randEnt.getB());
Assert.assertEquals(ent.getC(), randEnt.getC());
@@ -225,7 +228,8 @@ public void tableQueryWithContinuation() throws StorageException {
int count = 0;
int pk = 1;
- for (class1 ent : tClient.execute(query)) {
+ for (Iterator iterator = tClient.execute(query); iterator.hasNext();) {
+ class1 ent = iterator.next();
Assert.assertEquals(ent.getA(), randEnt.getA());
Assert.assertEquals(ent.getB(), randEnt.getB());
Assert.assertEquals(ent.getC(), randEnt.getC());
@@ -406,8 +410,8 @@ public void testQueryOnSupportedTypes() throws StorageException {
TableQuery query = TableQuery.from(testSuiteTableName, ComplexEntity.class).where(
String.format("PartitionKey eq '%s'", pk));
- for (ComplexEntity e : tClient.execute(query)) {
- delBatch.delete(e);
+ for (Iterator iterator = tClient.execute(query); iterator.hasNext();) {
+ delBatch.delete(iterator.next());
}
tClient.execute(testSuiteTableName, delBatch);
@@ -417,8 +421,7 @@ public void testQueryOnSupportedTypes() throws StorageException {
private void executeQueryAndAssertResults(String filter, int expectedResults) {
int count = 0;
TableQuery query = TableQuery.from(testSuiteTableName, ComplexEntity.class).where(filter);
- for (@SuppressWarnings("unused")
- ComplexEntity e : tClient.execute(query)) {
+ for (Iterator iterator = tClient.execute(query); iterator.hasNext();) {
count++;
}