Skip to content

Commit 6b322fa

Browse files
author
Ajay Kannan
committed
minor fixes
1 parent 1f6a7b3 commit 6b322fa

3 files changed

Lines changed: 16 additions & 9 deletions

File tree

gcloud-java-resourcemanager/src/main/java/com/google/gcloud/resourcemanager/testing/LocalResourceManagerHelper.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,9 @@ private static Map<String, Object> parseListOptions(String query) {
248248
options.put("pageToken", argEntry[1]);
249249
break;
250250
case "pageSize":
251-
options.put("pageSize", Integer.parseInt(argEntry[1]));
251+
int pageSize = Integer.valueOf(argEntry[1]);
252+
checkArgument(pageSize > 0, "Page size must be greater than 0.");
253+
options.put("pageSize", pageSize);
252254
break;
253255
}
254256
}
@@ -363,10 +365,11 @@ Response list(Map<String, Object> options) {
363365
String pageToken = (String) options.get("pageToken");
364366
Integer pageSize = (Integer) options.get("pageSize");
365367
String nextPageToken = null;
366-
for (Project p : projects.values()) {
367-
if (pageToken != null && p.getProjectId().compareTo(pageToken) < 0) {
368-
continue;
369-
}
368+
Map<String, Project> projectsToScan = projects;
369+
if (pageToken != null) {
370+
projectsToScan = projects.tailMap(pageToken);
371+
}
372+
for (Project p : projectsToScan.values()) {
370373
if (pageSize != null && count >= pageSize) {
371374
nextPageToken = p.getProjectId();
372375
break;
@@ -385,11 +388,13 @@ Response list(Map<String, Object> options) {
385388
StringBuilder responseBody = new StringBuilder();
386389
responseBody.append("{\"projects\": [");
387390
Joiner.on(",").appendTo(responseBody, projectsSerialized);
388-
responseBody.append("]");
391+
responseBody.append(']');
389392
if (nextPageToken != null) {
390-
responseBody.append(", \"nextPageToken\": \"" + nextPageToken + "\"");
393+
responseBody.append(", \"nextPageToken\": \"");
394+
responseBody.append(nextPageToken);
395+
responseBody.append('"');
391396
}
392-
responseBody.append("}");
397+
responseBody.append('}');
393398
return new Response(HTTP_OK, responseBody.toString());
394399
}
395400

gcloud-java-resourcemanager/src/test/java/com/google/gcloud/resourcemanager/LocalResourceManagerHelperTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,7 @@ public void testListPaging() {
316316
iterator = projects.y().iterator();
317317
compareReadWriteFields(PARTIAL_PROJECT, iterator.next());
318318
assertFalse(iterator.hasNext());
319+
assertNull(projects.x());
319320
}
320321

321322
@Test

gcloud-java-resourcemanager/src/test/java/com/google/gcloud/resourcemanager/ResourceManagerImplTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ public void testList() {
183183
}
184184

185185
@Test
186-
public void tsetListPaging() {
186+
public void testListPaging() {
187187
RESOURCE_MANAGER.create(PARTIAL_PROJECT);
188188
RESOURCE_MANAGER.create(COMPLETE_PROJECT);
189189
Page<Project> page = RESOURCE_MANAGER.list(ProjectListOption.pageSize(1));
@@ -195,6 +195,7 @@ public void tsetListPaging() {
195195
iterator = page.values().iterator();
196196
compareReadWriteFields(PARTIAL_PROJECT, iterator.next());
197197
assertFalse(iterator.hasNext());
198+
assertNull(page.nextPageCursor());
198199
}
199200

200201
@Test

0 commit comments

Comments
 (0)