Skip to content

Commit 5ad31a1

Browse files
committed
fix type error
1 parent 1580c9b commit 5ad31a1

9 files changed

Lines changed: 68 additions & 73 deletions

File tree

examples/src/main/java/software/amazon/lambda/durable/examples/child/ManyAsyncChildContextExample.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
import software.amazon.lambda.durable.DurableContext;
1010
import software.amazon.lambda.durable.DurableFuture;
1111
import software.amazon.lambda.durable.DurableHandler;
12+
import software.amazon.lambda.durable.examples.types.ManyAsyncStepsInput;
13+
import software.amazon.lambda.durable.examples.types.ManyAsyncStepsOutput;
1214

1315
/**
1416
* Performance test example demonstrating concurrent async child contexts.
@@ -21,15 +23,10 @@
2123
* <li>All results are collected using {@link DurableFuture#allOf}
2224
* </ul>
2325
*/
24-
public class ManyAsyncChildContextExample
25-
extends DurableHandler<ManyAsyncChildContextExample.Input, ManyAsyncChildContextExample.Output> {
26-
27-
public record Input(int multiplier, int steps) {}
28-
29-
public record Output(long result, long executionTimeMs, long replayTimeMs) {}
26+
public class ManyAsyncChildContextExample extends DurableHandler<ManyAsyncStepsInput, ManyAsyncStepsOutput> {
3027

3128
@Override
32-
public Output handleRequest(Input input, DurableContext context) {
29+
public ManyAsyncStepsOutput handleRequest(ManyAsyncStepsInput input, DurableContext context) {
3330
var startTime = System.nanoTime();
3431
var multiplier = input.multiplier();
3532
var steps = input.steps();
@@ -65,7 +62,7 @@ public Output handleRequest(Input input, DurableContext context) {
6562

6663
var replayTimeMs = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTime);
6764

68-
return new Output(totalSum, executionTimeMs, replayTimeMs);
65+
return new ManyAsyncStepsOutput(totalSum, executionTimeMs, replayTimeMs);
6966
}
7067

7168
@Override

examples/src/main/java/software/amazon/lambda/durable/examples/step/ManyAsyncStepsExample.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
import software.amazon.lambda.durable.DurableContext;
1010
import software.amazon.lambda.durable.DurableFuture;
1111
import software.amazon.lambda.durable.DurableHandler;
12+
import software.amazon.lambda.durable.examples.types.ManyAsyncStepsInput;
13+
import software.amazon.lambda.durable.examples.types.ManyAsyncStepsOutput;
1214

1315
/**
1416
* Performance test example demonstrating concurrent async steps.
@@ -21,14 +23,10 @@
2123
* <li>All results are collected using {@link DurableFuture#allOf}
2224
* </ul>
2325
*/
24-
public class ManyAsyncStepsExample extends DurableHandler<ManyAsyncStepsExample.Input, ManyAsyncStepsExample.Output> {
25-
26-
public record Input(int multiplier, int steps) {}
27-
28-
public record Output(long result, long executionTimeMs, long replayTimeMs) {}
26+
public class ManyAsyncStepsExample extends DurableHandler<ManyAsyncStepsInput, ManyAsyncStepsOutput> {
2927

3028
@Override
31-
public Output handleRequest(Input input, DurableContext context) {
29+
public ManyAsyncStepsOutput handleRequest(ManyAsyncStepsInput input, DurableContext context) {
3230
var startTime = System.nanoTime();
3331
var multiplier = input.multiplier();
3432
var steps = input.steps();
@@ -60,7 +58,7 @@ public Output handleRequest(Input input, DurableContext context) {
6058

6159
var replayTimeMs = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTime);
6260

63-
return new Output(totalSum, executionTimeMs, replayTimeMs);
61+
return new ManyAsyncStepsOutput(totalSum, executionTimeMs, replayTimeMs);
6462
}
6563

6664
@Override
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
package software.amazon.lambda.durable.examples.types;
4+
5+
public record ManyAsyncStepsInput(int multiplier, int steps) {}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
package software.amazon.lambda.durable.examples.types;
4+
5+
public record ManyAsyncStepsOutput(long result, long executionTimeMs, long replayTimeMs) {}

examples/src/main/java/software/amazon/lambda/durable/examples/vt/ManyAsyncStepsVirtualThreadPoolExample.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import software.amazon.lambda.durable.DurableContext;
1111
import software.amazon.lambda.durable.DurableFuture;
1212
import software.amazon.lambda.durable.DurableHandler;
13+
import software.amazon.lambda.durable.examples.types.ManyAsyncStepsInput;
14+
import software.amazon.lambda.durable.examples.types.ManyAsyncStepsOutput;
1315

1416
/**
1517
* Performance test example demonstrating concurrent async steps.
@@ -22,16 +24,10 @@
2224
* <li>All results are collected using {@link DurableFuture#allOf}
2325
* </ul>
2426
*/
25-
public class ManyAsyncStepsVirtualThreadPoolExample
26-
extends DurableHandler<
27-
ManyAsyncStepsVirtualThreadPoolExample.Input, ManyAsyncStepsVirtualThreadPoolExample.Output> {
28-
29-
public record Input(int multiplier, int steps) {}
30-
31-
public record Output(long result, long executionTimeMs, long replayTimeMs) {}
27+
public class ManyAsyncStepsVirtualThreadPoolExample extends DurableHandler<ManyAsyncStepsInput, ManyAsyncStepsOutput> {
3228

3329
@Override
34-
public Output handleRequest(Input input, DurableContext context) {
30+
public ManyAsyncStepsOutput handleRequest(ManyAsyncStepsInput input, DurableContext context) {
3531
var startTime = System.nanoTime();
3632
var multiplier = input.multiplier();
3733
var steps = input.steps();
@@ -63,7 +59,7 @@ public Output handleRequest(Input input, DurableContext context) {
6359

6460
var replayTimeMs = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTime);
6561

66-
return new Output(totalSum, executionTimeMs, replayTimeMs);
62+
return new ManyAsyncStepsOutput(totalSum, executionTimeMs, replayTimeMs);
6763
}
6864

6965
@Override

examples/src/test/java/software/amazon/lambda/durable/examples/CloudBasedIntegrationTest.java

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,11 @@
2424
import software.amazon.awssdk.services.lambda.model.OperationStatus;
2525
import software.amazon.awssdk.services.sts.StsClient;
2626
import software.amazon.lambda.durable.TypeToken;
27-
import software.amazon.lambda.durable.examples.child.ManyAsyncChildContextExample;
2827
import software.amazon.lambda.durable.examples.general.GenericTypesExample;
29-
import software.amazon.lambda.durable.examples.step.ManyAsyncStepsExample;
3028
import software.amazon.lambda.durable.examples.types.ApprovalRequest;
3129
import software.amazon.lambda.durable.examples.types.GreetingRequest;
32-
import software.amazon.lambda.durable.examples.vt.ManyAsyncStepsVirtualThreadPoolExample;
30+
import software.amazon.lambda.durable.examples.types.ManyAsyncStepsInput;
31+
import software.amazon.lambda.durable.examples.types.ManyAsyncStepsOutput;
3332
import software.amazon.lambda.durable.examples.wait.ConcurrentWaitForConditionExample;
3433
import software.amazon.lambda.durable.model.ExecutionStatus;
3534
import software.amazon.lambda.durable.serde.JacksonSerDes;
@@ -539,10 +538,10 @@ void testManyAsyncStepsExample(int steps, long maxExecutionTime, long maxReplayT
539538
for (var i = 0; i < PERFORMANCE_TEST_REPEAT; i++) {
540539
var runner = CloudDurableTestRunner.create(
541540
arn("many-async-steps-example"),
542-
ManyAsyncStepsExample.Input.class,
543-
ManyAsyncStepsExample.Output.class,
541+
ManyAsyncStepsInput.class,
542+
ManyAsyncStepsOutput.class,
544543
lambdaClient);
545-
var result = runner.run(new ManyAsyncStepsExample.Input(2, steps));
544+
var result = runner.run(new ManyAsyncStepsInput(2, steps));
546545

547546
assertEquals(ExecutionStatus.SUCCEEDED, result.getStatus());
548547

@@ -577,10 +576,10 @@ void testManyAsyncStepsVirtualThreadExample(int steps, long maxExecutionTime, lo
577576
for (var i = 0; i < PERFORMANCE_TEST_REPEAT; i++) {
578577
var runner = CloudDurableTestRunner.create(
579578
arn("many-async-steps-virtual-thread-pool-example"),
580-
ManyAsyncStepsVirtualThreadPoolExample.Input.class,
581-
ManyAsyncStepsVirtualThreadPoolExample.Output.class,
579+
ManyAsyncStepsInput.class,
580+
ManyAsyncStepsOutput.class,
582581
lambdaClient);
583-
var result = runner.run(new ManyAsyncStepsVirtualThreadPoolExample.Input(2, steps));
582+
var result = runner.run(new ManyAsyncStepsInput(2, steps));
584583

585584
assertEquals(ExecutionStatus.SUCCEEDED, result.getStatus());
586585

@@ -615,10 +614,10 @@ void testManyAsyncChildContextExample(int steps, long maxExecutionTime, long max
615614
for (var i = 0; i < PERFORMANCE_TEST_REPEAT; i++) {
616615
var runner = CloudDurableTestRunner.create(
617616
arn("many-async-child-context-example"),
618-
ManyAsyncChildContextExample.Input.class,
619-
ManyAsyncChildContextExample.Output.class,
617+
ManyAsyncStepsInput.class,
618+
ManyAsyncStepsOutput.class,
620619
lambdaClient);
621-
var result = runner.run(new ManyAsyncChildContextExample.Input(2, steps));
620+
var result = runner.run(new ManyAsyncStepsInput(2, steps));
622621

623622
assertEquals(ExecutionStatus.SUCCEEDED, result.getStatus());
624623

examples/src/test/java/software/amazon/lambda/durable/examples/child/ManyAsyncChildContextExampleTest.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
import static org.junit.jupiter.api.Assertions.assertNotNull;
77

88
import org.junit.jupiter.api.Test;
9-
import software.amazon.lambda.durable.examples.step.ManyAsyncStepsExample;
9+
import software.amazon.lambda.durable.examples.types.ManyAsyncStepsInput;
10+
import software.amazon.lambda.durable.examples.types.ManyAsyncStepsOutput;
1011
import software.amazon.lambda.durable.model.ExecutionStatus;
1112
import software.amazon.lambda.durable.testing.LocalDurableTestRunner;
1213

@@ -15,14 +16,14 @@ class ManyAsyncChildContextExampleTest {
1516
@Test
1617
void testManyAsyncSteps() {
1718
var handler = new ManyAsyncChildContextExample();
18-
var runner = LocalDurableTestRunner.create(ManyAsyncChildContextExample.Input.class, handler);
19+
var runner = LocalDurableTestRunner.create(ManyAsyncStepsInput.class, handler);
1920

20-
var input = new ManyAsyncChildContextExample.Input(2, 500);
21+
var input = new ManyAsyncStepsInput(2, 500);
2122
var result = runner.runUntilComplete(input);
2223

2324
assertEquals(ExecutionStatus.SUCCEEDED, result.getStatus());
2425

25-
var output = result.getResult(ManyAsyncStepsExample.Output.class);
26+
var output = result.getResult(ManyAsyncStepsOutput.class);
2627
assertNotNull(output);
2728

2829
// Sum of 0..499 * 2 = 499 * 500 / 2 * 2 = 249500
@@ -32,25 +33,23 @@ void testManyAsyncSteps() {
3233
@Test
3334
void testManyAsyncStepsWithDefaultMultiplier() {
3435
var handler = new ManyAsyncChildContextExample();
35-
var runner = LocalDurableTestRunner.create(ManyAsyncChildContextExample.Input.class, handler);
36+
var runner = LocalDurableTestRunner.create(ManyAsyncStepsInput.class, handler);
3637

37-
var input = new ManyAsyncChildContextExample.Input(1, 500);
38+
var input = new ManyAsyncStepsInput(1, 500);
3839
var result = runner.runUntilComplete(input);
3940

4041
assertEquals(ExecutionStatus.SUCCEEDED, result.getStatus());
4142

4243
// Sum of 0..499 = 499 * 500 / 2 = 124750
43-
assertEquals(
44-
124750,
45-
result.getResult(ManyAsyncChildContextExample.Output.class).result());
44+
assertEquals(124750, result.getResult(ManyAsyncStepsOutput.class).result());
4645
}
4746

4847
@Test
4948
void testOperationsAreTracked() {
5049
var handler = new ManyAsyncChildContextExample();
51-
var runner = LocalDurableTestRunner.create(ManyAsyncChildContextExample.Input.class, handler);
50+
var runner = LocalDurableTestRunner.create(ManyAsyncStepsInput.class, handler);
5251

53-
var result = runner.runUntilComplete(new ManyAsyncChildContextExample.Input(1, 500));
52+
var result = runner.runUntilComplete(new ManyAsyncStepsInput(1, 500));
5453

5554
assertEquals(ExecutionStatus.SUCCEEDED, result.getStatus());
5655

examples/src/test/java/software/amazon/lambda/durable/examples/step/ManyAsyncStepsExampleTest.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import static org.junit.jupiter.api.Assertions.*;
66

77
import org.junit.jupiter.api.Test;
8+
import software.amazon.lambda.durable.examples.types.ManyAsyncStepsInput;
9+
import software.amazon.lambda.durable.examples.types.ManyAsyncStepsOutput;
810
import software.amazon.lambda.durable.model.ExecutionStatus;
911
import software.amazon.lambda.durable.testing.LocalDurableTestRunner;
1012

@@ -13,42 +15,40 @@ class ManyAsyncStepsExampleTest {
1315
@Test
1416
void testManyAsyncSteps() {
1517
var handler = new ManyAsyncStepsExample();
16-
var runner = LocalDurableTestRunner.create(ManyAsyncStepsExample.Input.class, handler);
18+
var runner = LocalDurableTestRunner.create(ManyAsyncStepsInput.class, handler);
1719

18-
var input = new ManyAsyncStepsExample.Input(2, 500);
20+
var input = new ManyAsyncStepsInput(2, 500);
1921
var result = runner.runUntilComplete(input);
2022

2123
assertEquals(ExecutionStatus.SUCCEEDED, result.getStatus());
2224

23-
var output = result.getResult(ManyAsyncStepsExample.Output.class);
25+
var output = result.getResult(ManyAsyncStepsOutput.class);
2426
assertNotNull(output);
2527

2628
// Sum of 0..499 * 2 = 499 * 500 / 2 * 2 = 249500
27-
assertEquals(
28-
249500, result.getResult(ManyAsyncStepsExample.Output.class).result());
29+
assertEquals(249500, result.getResult(ManyAsyncStepsOutput.class).result());
2930
}
3031

3132
@Test
3233
void testManyAsyncStepsWithDefaultMultiplier() {
3334
var handler = new ManyAsyncStepsExample();
34-
var runner = LocalDurableTestRunner.create(ManyAsyncStepsExample.Input.class, handler);
35+
var runner = LocalDurableTestRunner.create(ManyAsyncStepsInput.class, handler);
3536

36-
var input = new ManyAsyncStepsExample.Input(1, 500);
37+
var input = new ManyAsyncStepsInput(1, 500);
3738
var result = runner.runUntilComplete(input);
3839

3940
assertEquals(ExecutionStatus.SUCCEEDED, result.getStatus());
4041

4142
// Sum of 0..499 = 499 * 500 / 2 = 124750
42-
assertEquals(
43-
124750, result.getResult(ManyAsyncStepsExample.Output.class).result());
43+
assertEquals(124750, result.getResult(ManyAsyncStepsOutput.class).result());
4444
}
4545

4646
@Test
4747
void testOperationsAreTracked() {
4848
var handler = new ManyAsyncStepsExample();
49-
var runner = LocalDurableTestRunner.create(ManyAsyncStepsExample.Input.class, handler);
49+
var runner = LocalDurableTestRunner.create(ManyAsyncStepsInput.class, handler);
5050

51-
var result = runner.runUntilComplete(new ManyAsyncStepsExample.Input(1, 500));
51+
var result = runner.runUntilComplete(new ManyAsyncStepsInput(1, 500));
5252

5353
assertEquals(ExecutionStatus.SUCCEEDED, result.getStatus());
5454

examples/src/test/java/software/amazon/lambda/durable/examples/vt/ManyAsyncStepsVirtualThreadPoolExampleTest.java

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
import org.junit.jupiter.api.Test;
99
import org.junit.jupiter.api.condition.EnabledForJreRange;
1010
import org.junit.jupiter.api.condition.JRE;
11+
import software.amazon.lambda.durable.examples.types.ManyAsyncStepsInput;
12+
import software.amazon.lambda.durable.examples.types.ManyAsyncStepsOutput;
1113
import software.amazon.lambda.durable.model.ExecutionStatus;
1214
import software.amazon.lambda.durable.testing.LocalDurableTestRunner;
1315

@@ -17,46 +19,40 @@ class ManyAsyncStepsVirtualThreadPoolExampleTest {
1719
@Test
1820
void testManyAsyncSteps() {
1921
var handler = new ManyAsyncStepsVirtualThreadPoolExample();
20-
var runner = LocalDurableTestRunner.create(ManyAsyncStepsVirtualThreadPoolExample.Input.class, handler);
22+
var runner = LocalDurableTestRunner.create(ManyAsyncStepsInput.class, handler);
2123

22-
var input = new ManyAsyncStepsVirtualThreadPoolExample.Input(2, 500);
24+
var input = new ManyAsyncStepsInput(2, 500);
2325
var result = runner.runUntilComplete(input);
2426

2527
assertEquals(ExecutionStatus.SUCCEEDED, result.getStatus());
2628

27-
var output = result.getResult(ManyAsyncStepsVirtualThreadPoolExample.Output.class);
29+
var output = result.getResult(ManyAsyncStepsOutput.class);
2830
assertNotNull(output);
2931

3032
// Sum of 0..499 * 2 = 499 * 500 / 2 * 2 = 249500
31-
assertEquals(
32-
249500,
33-
result.getResult(ManyAsyncStepsVirtualThreadPoolExample.Output.class)
34-
.result());
33+
assertEquals(249500, result.getResult(ManyAsyncStepsOutput.class).result());
3534
}
3635

3736
@Test
3837
void testManyAsyncStepsWithDefaultMultiplier() {
3938
var handler = new ManyAsyncStepsVirtualThreadPoolExample();
40-
var runner = LocalDurableTestRunner.create(ManyAsyncStepsVirtualThreadPoolExample.Input.class, handler);
39+
var runner = LocalDurableTestRunner.create(ManyAsyncStepsInput.class, handler);
4140

42-
var input = new ManyAsyncStepsVirtualThreadPoolExample.Input(1, 500);
41+
var input = new ManyAsyncStepsInput(1, 500);
4342
var result = runner.runUntilComplete(input);
4443

4544
assertEquals(ExecutionStatus.SUCCEEDED, result.getStatus());
4645

4746
// Sum of 0..499 = 499 * 500 / 2 = 124750
48-
assertEquals(
49-
124750,
50-
result.getResult(ManyAsyncStepsVirtualThreadPoolExample.Output.class)
51-
.result());
47+
assertEquals(124750, result.getResult(ManyAsyncStepsOutput.class).result());
5248
}
5349

5450
@Test
5551
void testOperationsAreTracked() {
5652
var handler = new ManyAsyncStepsVirtualThreadPoolExample();
57-
var runner = LocalDurableTestRunner.create(ManyAsyncStepsVirtualThreadPoolExample.Input.class, handler);
53+
var runner = LocalDurableTestRunner.create(ManyAsyncStepsInput.class, handler);
5854

59-
var result = runner.runUntilComplete(new ManyAsyncStepsVirtualThreadPoolExample.Input(1, 500));
55+
var result = runner.runUntilComplete(new ManyAsyncStepsInput(1, 500));
6056

6157
assertEquals(ExecutionStatus.SUCCEEDED, result.getStatus());
6258

0 commit comments

Comments
 (0)