Skip to content

Commit 083c36d

Browse files
committed
code refactoring
1 parent d262558 commit 083c36d

File tree

16 files changed

+98
-410
lines changed

16 files changed

+98
-410
lines changed

core/src/main/java/com/javaaidev/agenticpatterns/core/AgenticWorkflow.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,38 @@
33
import io.micrometer.observation.ObservationRegistry;
44
import org.jspecify.annotations.Nullable;
55

6+
/**
7+
* Agentic workflow
8+
*
9+
* @param <Request> Type of request
10+
* @param <Response> Type of response
11+
*/
612
public interface AgenticWorkflow<Request, Response> {
713

14+
/**
15+
* Execute this workflow
16+
*
17+
* @param request Request
18+
* @return Response
19+
*/
820
Response execute(@Nullable Request request);
921

22+
/**
23+
* Name of this workflow
24+
*
25+
* @return name
26+
*/
1027
default String getName() {
1128
return this.getClass().getSimpleName();
1229
}
1330

31+
/**
32+
* Builder to create {@linkplain AgenticWorkflow}
33+
*
34+
* @param <Request> Type of request
35+
* @param <Response> Type of response
36+
* @param <T> Type of {@linkplain AgenticWorkflow}
37+
*/
1438
interface Builder<Request, Response, T extends AgenticWorkflow.Builder<Request, Response, T>> {
1539

1640
T name(String name);

core/src/main/java/com/javaaidev/agenticpatterns/core/CustomWorkflowBuilder.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,23 @@
55
import org.jspecify.annotations.Nullable;
66
import org.springframework.util.Assert;
77

8+
/**
9+
* Build a custom {@linkplain AgenticWorkflow}
10+
*
11+
* @param <Request> Type of request
12+
* @param <Response> Type of response
13+
*/
814
public class CustomWorkflowBuilder<Request, Response> extends
915
AbstractAgenticWorkflowBuilder<Request, Response, CustomWorkflowBuilder<Request, Response>> {
1016

1117
protected Function<Request, Response> action;
1218

19+
/**
20+
* Set the action of this workflow
21+
*
22+
* @param action Action to run
23+
* @return Current builder
24+
*/
1325
public CustomWorkflowBuilder<Request, Response> action(Function<Request, Response> action) {
1426
this.action = Objects.requireNonNull(action, "Action cannot be null");
1527
return this;

patterns/chain-workflow/src/main/java/com/javaaidev/agenticpatterns/chainworkflow/ChainStep.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@
33
import java.util.Map;
44
import org.springframework.core.Ordered;
55

6+
/**
7+
* A step in the chain
8+
*
9+
* @param <Request>
10+
* @param <Response>
11+
*/
612
public interface ChainStep<Request, Response> extends Ordered {
713

814
/**

patterns/chain-workflow/src/main/java/com/javaaidev/agenticpatterns/chainworkflow/ChainStepAgent.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import org.springframework.util.Assert;
1515

1616
/**
17-
* A step in the chain
17+
* A step in the chain implemented as a {@linkplain TaskExecutionAgent}
1818
*
1919
* @param <Request> Task input type
2020
* @param <Response> Task output type

patterns/chain-workflow/src/main/java/com/javaaidev/agenticpatterns/chainworkflow/ChainWorkflow.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,15 @@
55
import io.micrometer.observation.ObservationRegistry;
66
import java.util.ArrayList;
77
import java.util.List;
8+
import java.util.Objects;
89
import org.jspecify.annotations.Nullable;
9-
import org.springframework.util.Assert;
1010

11+
/**
12+
* A chain workflow
13+
*
14+
* @param <Request>
15+
* @param <Response>
16+
*/
1117
public class ChainWorkflow<Request, Response> extends AbstractAgenticWorkflow<Request, Response> {
1218

1319
private final List<ChainStep<Request, Response>> steps;
@@ -35,15 +41,13 @@ public static final class Builder<Request, Response> extends
3541
private final List<ChainStep<Request, Response>> steps = new ArrayList<>();
3642

3743
public Builder<Request, Response> addStep(ChainStep<Request, Response> step) {
38-
Assert.notNull(step, "Chain step cannot be null");
39-
steps.add(step);
44+
steps.add(Objects.requireNonNull(step, "Chain step cannot be null"));
4045
return this;
4146
}
4247

4348
public Builder<Request, Response> addStepAgent(
4449
ChainStepAgent<Request, Response> agent) {
45-
Assert.notNull(agent, "Chain step agent cannot be null");
46-
steps.add(agent);
50+
steps.add(Objects.requireNonNull(agent, "Chain step agent cannot be null"));
4751
return this;
4852
}
4953

patterns/parallelization-workflow/src/main/java/com/javaaidev/agenticpatterns/parallelizationworkflow/DefaultResponseAssembler.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@
1212
import org.springframework.ai.chat.client.ChatClient;
1313
import org.springframework.ai.chat.client.ChatClient.ChatClientRequestSpec;
1414

15+
/**
16+
* A {@linkplain ResponseAssembler} implemented using {@linkplain TaskExecutionAgent}
17+
*
18+
* @param <Request>
19+
* @param <Response>
20+
*/
1521
public class DefaultResponseAssembler<Request, Response> extends
1622
TaskExecutionAgent<AssemblingInput<Request>, Response> implements
1723
ResponseAssembler<Request, Response> {

patterns/parallelization-workflow/src/main/java/com/javaaidev/agenticpatterns/parallelizationworkflow/DirectAssembling.java

Lines changed: 0 additions & 50 deletions
This file was deleted.

patterns/parallelization-workflow/src/main/java/com/javaaidev/agenticpatterns/parallelizationworkflow/ParallelizationWorkflow.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@
1818
import org.slf4j.Logger;
1919
import org.slf4j.LoggerFactory;
2020

21+
/**
22+
* Parallelization Workflow agent, refer to <a
23+
* href="https://javaaidev.com/docs/agentic-patterns/patterns/parallelization-workflow">doc</a>
24+
*
25+
* @param <Request> Type of workflow input
26+
* @param <Response> Type of workflow output
27+
*/
2128
public class ParallelizationWorkflow<Request, Response> extends
2229
AbstractAgenticWorkflow<Request, Response> {
2330

patterns/parallelization-workflow/src/main/java/com/javaaidev/agenticpatterns/parallelizationworkflow/ParallelizationWorkflowAgent.java

Lines changed: 0 additions & 118 deletions
This file was deleted.

patterns/parallelization-workflow/src/main/java/com/javaaidev/agenticpatterns/parallelizationworkflow/PromptBasedAssembling.java

Lines changed: 0 additions & 56 deletions
This file was deleted.

0 commit comments

Comments
 (0)