Skip to content

Commit c826a1d

Browse files
committed
Review fixes
1 parent 6b17fb3 commit c826a1d

File tree

4 files changed

+16
-19
lines changed

4 files changed

+16
-19
lines changed

client/transport/jsonrpc/src/main/java/io/a2a/client/transport/jsonrpc/JSONRPCTransport.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -218,8 +218,6 @@ public ListTasksResult listTasks(ListTasksParams request, @Nullable ClientCallCo
218218
String httpResponseBody = sendPostRequest(payloadAndHeaders);
219219
ListTasksResponse response = unmarshalResponse(httpResponseBody, LIST_TASKS_RESPONSE_REFERENCE);
220220
return response.getResult();
221-
} catch (A2AClientException e) {
222-
throw e;
223221
} catch (IOException | InterruptedException e) {
224222
throw new A2AClientException("Failed to list tasks: " + e, e);
225223
}

client/transport/rest/src/main/java/io/a2a/client/transport/rest/RestTransport.java

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -231,39 +231,32 @@ public ListTasksResult listTasks(ListTasksParams request, @Nullable ClientCallCo
231231
responseBuilder.getTasksCount(),
232232
responseBuilder.getNextPageToken().isEmpty() ? null : responseBuilder.getNextPageToken()
233233
);
234-
} catch (A2AClientException e) {
235-
throw e;
236234
} catch (IOException | InterruptedException e) {
237235
throw new A2AClientException("Failed to list tasks: " + e, e);
238236
}
239237
}
240238

241239
private String buildListTasksQueryString(ListTasksParams request) {
242-
StringBuilder sb = new StringBuilder();
240+
java.util.List<String> queryParts = new java.util.ArrayList<>();
243241
if (request.contextId() != null) {
244-
sb.append("contextId=").append(URLEncoder.encode(request.contextId(), StandardCharsets.UTF_8));
242+
queryParts.add("contextId=" + URLEncoder.encode(request.contextId(), StandardCharsets.UTF_8));
245243
}
246244
if (request.status() != null) {
247-
if (sb.length() > 0) sb.append("&");
248-
sb.append("status=").append(request.status().asString());
245+
queryParts.add("status=" + request.status().asString());
249246
}
250247
if (request.pageSize() != null) {
251-
if (sb.length() > 0) sb.append("&");
252-
sb.append("pageSize=").append(request.pageSize());
248+
queryParts.add("pageSize=" + request.pageSize());
253249
}
254250
if (request.pageToken() != null) {
255-
if (sb.length() > 0) sb.append("&");
256-
sb.append("pageToken=").append(URLEncoder.encode(request.pageToken(), StandardCharsets.UTF_8));
251+
queryParts.add("pageToken=" + URLEncoder.encode(request.pageToken(), StandardCharsets.UTF_8));
257252
}
258253
if (request.historyLength() != null) {
259-
if (sb.length() > 0) sb.append("&");
260-
sb.append("historyLength=").append(request.historyLength());
254+
queryParts.add("historyLength=" + request.historyLength());
261255
}
262256
if (request.includeArtifacts() != null && request.includeArtifacts()) {
263-
if (sb.length() > 0) sb.append("&");
264-
sb.append("includeArtifacts=true");
257+
queryParts.add("includeArtifacts=true");
265258
}
266-
return sb.toString();
259+
return String.join("&", queryParts);
267260
}
268261

269262
@Override

extras/task-store-database-jpa/src/main/java/io/a2a/extras/taskstore/database/jpa/JpaTask.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,11 @@ static JpaTask createFromTask(Task task) throws JsonProcessingException {
130130
*/
131131
private void updateDenormalizedFields(Task task) {
132132
this.contextId = task.getContextId();
133-
if (task.getStatus() != null && task.getStatus().state() != null) {
134-
this.state = task.getStatus().state().asString();
133+
if (task.getStatus() != null) {
134+
io.a2a.spec.TaskState taskState = task.getStatus().state();
135+
this.state = (taskState != null) ? taskState.asString() : null;
136+
} else {
137+
this.state = null;
135138
}
136139
}
137140

spec/src/main/java/io/a2a/spec/ListTasksResult.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ public record ListTasksResult(
3131
if (pageSize < 0) {
3232
throw new IllegalArgumentException("pageSize must be non-negative");
3333
}
34+
if (pageSize != tasks.size()) {
35+
throw new IllegalArgumentException("pageSize must be equal to the number of tasks in the list. Got " + pageSize + ", but list has " + tasks.size() + " tasks.");
36+
}
3437
// Make defensive copy
3538
tasks = List.copyOf(tasks);
3639
}

0 commit comments

Comments
 (0)