Skip to content

Commit 19cfcb1

Browse files
committed
addressed copilot feedback
1 parent bfa175a commit 19cfcb1

4 files changed

Lines changed: 35 additions & 8 deletions

File tree

client/src/test/java/com/microsoft/durabletask/TaskEntityTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,8 @@ public void add(int amount) {
163163

164164
public void add(String label) {
165165
// overloaded — should trigger ambiguous match error
166+
// 'label' intentionally unused; method exists to create ambiguous overload
167+
166168
}
167169

168170
@Override

endtoendtests/src/main/java/com/functions/EntityFunctions.java

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,14 @@ public HttpResponseMessage startCallEntityOrchestration(
145145
@DurableClientInput(name = "durableContext") DurableClientContext durableContext,
146146
final ExecutionContext context) {
147147
String key = request.getQueryParameters().getOrDefault("key", "e2e-call-" + System.currentTimeMillis());
148-
int value = Integer.parseInt(request.getQueryParameters().getOrDefault("value", "5"));
148+
int value;
149+
try {
150+
value = Integer.parseInt(request.getQueryParameters().getOrDefault("value", "5"));
151+
} catch (NumberFormatException e) {
152+
return request.createResponseBuilder(HttpStatus.BAD_REQUEST)
153+
.body("The 'value' parameter must be a valid integer.")
154+
.build();
155+
}
149156

150157
DurableTaskClient client = durableContext.getClient();
151158
EntityPayload payload = new EntityPayload(key, value);
@@ -164,7 +171,14 @@ public HttpResponseMessage startSignalThenCallEntityOrchestration(
164171
@DurableClientInput(name = "durableContext") DurableClientContext durableContext,
165172
final ExecutionContext context) {
166173
String key = request.getQueryParameters().getOrDefault("key", "e2e-signal-" + System.currentTimeMillis());
167-
int value = Integer.parseInt(request.getQueryParameters().getOrDefault("value", "10"));
174+
int value;
175+
try {
176+
value = Integer.parseInt(request.getQueryParameters().getOrDefault("value", "10"));
177+
} catch (NumberFormatException e) {
178+
return request.createResponseBuilder(HttpStatus.BAD_REQUEST)
179+
.body("The 'value' parameter must be a valid integer.")
180+
.build();
181+
}
168182

169183
DurableTaskClient client = durableContext.getClient();
170184
EntityPayload payload = new EntityPayload(key, value);
@@ -217,7 +231,14 @@ public HttpResponseMessage startCallEntityTwiceOrchestration(
217231
@DurableClientInput(name = "durableContext") DurableClientContext durableContext,
218232
final ExecutionContext context) {
219233
String key = request.getQueryParameters().getOrDefault("key", "e2e-twice-" + System.currentTimeMillis());
220-
int value = Integer.parseInt(request.getQueryParameters().getOrDefault("value", "3"));
234+
int value;
235+
try {
236+
value = Integer.parseInt(request.getQueryParameters().getOrDefault("value", "3"));
237+
} catch (NumberFormatException e) {
238+
return request.createResponseBuilder(HttpStatus.BAD_REQUEST)
239+
.body("The 'value' parameter must be a valid integer.")
240+
.build();
241+
}
221242

222243
DurableTaskClient client = durableContext.getClient();
223244
EntityPayload payload = new EntityPayload(key, value);

endtoendtests/src/test/java/com/functions/EndToEndTests.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -564,7 +564,13 @@ private int getEntityStateValue(String entityName, String entityKey) {
564564
Response response = get("/api/GetEntityState?name=" + entityName + "&key=" + entityKey);
565565
assertEquals(200, response.getStatusCode(),
566566
"GetEntityState should return 200, got: " + response.getStatusCode() + " body: " + response.getBody().asString());
567-
return Integer.parseInt(response.getBody().asString().trim());
567+
String body = response.getBody().asString().trim();
568+
try {
569+
return Integer.parseInt(body);
570+
} catch (NumberFormatException e) {
571+
fail("Expected integer entity state but got: " + body);
572+
throw e; // unreachable, but satisfies compiler
573+
}
568574
}
569575

570576
private boolean pollingCheck(String statusQueryGetUri,

samples-azure-functions/src/main/java/com/functions/entities/UserFunctions.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,7 @@ public HttpResponseMessage putUser(
8787
route = "users/{id}",
8888
authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
8989
@DurableClientInput(name = "durableContext") DurableClientContext durableContext,
90-
@BindingName("id") String id,
91-
final ExecutionContext context) {
90+
@BindingName("id") String id) {
9291
String name = request.getQueryParameters().get("name");
9392
String ageStr = request.getQueryParameters().get("age");
9493

@@ -130,8 +129,7 @@ public HttpResponseMessage patchUser(
130129
route = "users/{id}",
131130
authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
132131
@DurableClientInput(name = "durableContext") DurableClientContext durableContext,
133-
@BindingName("id") String id,
134-
final ExecutionContext context) {
132+
@BindingName("id") String id) {
135133
String name = request.getQueryParameters().get("name");
136134
String ageStr = request.getQueryParameters().get("age");
137135

0 commit comments

Comments
 (0)