Skip to content
This repository was archived by the owner on May 14, 2025. It is now read-only.

Commit e4d9ce7

Browse files
author
ritvik
committed
Push down terminalMessage field from AbstractOpenAiService to GenerateCodeAiService
Signed-off-by: ritvik <rt308602@dal.ca>
1 parent 0be7a98 commit e4d9ce7

File tree

6 files changed

+9
-31
lines changed

6 files changed

+9
-31
lines changed

src/main/java/org/springframework/cli/merger/ai/OpenAiHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,13 @@ public void add(String description, String path, boolean preview, boolean rewrit
5656
TerminalMessage terminalMessage) {
5757
Path projectPath = getProjectPath(path);
5858

59-
ProjectNameHeuristicAiService projectNameHeuristic = new ProjectNameHeuristicAiService(terminalMessage);
59+
ProjectNameHeuristicAiService projectNameHeuristic = new ProjectNameHeuristicAiService();
6060
logger.debug("Deriving main Spring project required...");
6161
ProjectName projectName = projectNameHeuristic.deriveProjectName(description);
6262
logger.debug("Done. The code will primarily use " + projectName.getSpringProjectName());
6363

6464
if (rewrite) {
65-
DescriptionRewriteAiService descriptionRewriteAiService = new DescriptionRewriteAiService(terminalMessage);
65+
DescriptionRewriteAiService descriptionRewriteAiService = new DescriptionRewriteAiService();
6666
description = descriptionRewriteAiService.rewrite(description);
6767
}
6868
terminalMessage.print("");

src/main/java/org/springframework/cli/merger/ai/service/AbstractOpenAiService.java

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
import org.springframework.cli.merger.ai.PromptRequest;
3636
import org.springframework.cli.runtime.engine.templating.HandlebarsTemplateEngine;
3737
import org.springframework.cli.util.PropertyFileUtils;
38-
import org.springframework.cli.util.TerminalMessage;
3938
import org.springframework.core.io.ClassPathResource;
4039
import org.springframework.util.StreamUtils;
4140

@@ -45,12 +44,6 @@ public abstract class AbstractOpenAiService implements org.springframework.cli.m
4544

4645
private com.theokanning.openai.service.OpenAiService openAiService;
4746

48-
private final TerminalMessage terminalMessage;
49-
50-
public AbstractOpenAiService(TerminalMessage terminalMessage) {
51-
this.terminalMessage = terminalMessage;
52-
}
53-
5447
protected ChatCompletionRequest getChatCompletionRequest(PromptRequest promptRequest) {
5548
createOpenAiService();
5649
ChatCompletionRequest chatCompletionRequest = ChatCompletionRequest.builder()
@@ -79,10 +72,6 @@ public HandlebarsTemplateEngine getHandlebarsTemplateEngine() {
7972
return handlebarsTemplateEngine;
8073
}
8174

82-
public TerminalMessage getTerminalMessage() {
83-
return terminalMessage;
84-
}
85-
8675
protected Map<String, String> getContext(String description) {
8776
Map<String, String> context = new HashMap<>();
8877
context.put("description", description);
@@ -97,12 +86,11 @@ protected String getPrompt(Map<String, String> context, String promptType) {
9786
return getHandlebarsTemplateEngine().process(promptRaw, context);
9887
}
9988
catch (FileNotFoundException ex) {
100-
throw new SpringCliException("Resource file note found:" + resourceFileName);
89+
throw new SpringCliException("Resource file not found:" + resourceFileName);
10190
}
10291
catch (IOException ex) {
103-
throw new SpringCliException("Could read file " + resourceFileName, ex);
92+
throw new SpringCliException("Could not read file " + resourceFileName, ex);
10493
}
105-
10694
}
10795

10896
protected PromptRequest createPromptRequest(Map<String, String> context, String promptFamilyName) {

src/main/java/org/springframework/cli/merger/ai/service/DescriptionRewriteAiService.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,9 @@
2121
import com.theokanning.openai.completion.chat.ChatCompletionRequest;
2222

2323
import org.springframework.cli.merger.ai.PromptRequest;
24-
import org.springframework.cli.util.TerminalMessage;
2524

2625
public class DescriptionRewriteAiService extends AbstractOpenAiService {
2726

28-
public DescriptionRewriteAiService(TerminalMessage terminalMessage) {
29-
super(terminalMessage);
30-
}
31-
3227
public String rewrite(String description) {
3328
Map<String, String> context = getContext(description);
3429
return generate(context);

src/main/java/org/springframework/cli/merger/ai/service/GenerateCodeAiService.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,16 @@
3030

3131
public class GenerateCodeAiService extends AbstractOpenAiService {
3232

33+
private final TerminalMessage terminalMessage;
34+
3335
public GenerateCodeAiService(TerminalMessage terminalMessage) {
34-
super(terminalMessage);
36+
this.terminalMessage = terminalMessage;
3537
}
3638

3739
public String generate(Map<String, String> context) {
3840
PromptRequest promptRequest = createPromptRequest(context, "ai-add");
3941
String completionEstimate = getCompletionEstimate();
40-
getTerminalMessage()
42+
terminalMessage
4143
.print("Generating code. This will take a few minutes ..." + " Check back around " + completionEstimate);
4244
ChatCompletionRequest chatCompletionRequest = getChatCompletionRequest(promptRequest);
4345
String response = getResponse(chatCompletionRequest);

src/main/java/org/springframework/cli/merger/ai/service/ProjectNameHeuristicAiService.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,10 @@
2626
import org.springframework.cli.SpringCliException;
2727
import org.springframework.cli.merger.ai.ProjectName;
2828
import org.springframework.cli.merger.ai.PromptRequest;
29-
import org.springframework.cli.util.TerminalMessage;
3029
import org.springframework.util.StringUtils;
3130

3231
public class ProjectNameHeuristicAiService extends AbstractOpenAiService {
3332

34-
public ProjectNameHeuristicAiService(TerminalMessage terminalMessage) {
35-
super(terminalMessage);
36-
}
37-
3833
public ProjectName deriveProjectName(String description) {
3934
Map<String, String> context = getContext(description);
4035
String response = generate(context);
@@ -67,7 +62,6 @@ private ProjectName createProjectName(String response) {
6762
shortName = "ai";
6863
}
6964
return new ProjectName(shortName.toLowerCase(), springProjectName);
70-
7165
}
7266

7367
}

src/test/java/org/springframework/cli/merger/ai/ProjectNameHeuristicAiServiceTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
import org.springframework.cli.CliTags;
2323
import org.springframework.cli.merger.ai.service.ProjectNameHeuristicAiService;
24-
import org.springframework.cli.util.TerminalMessage;
2524

2625
import static org.assertj.core.api.Assertions.assertThat;
2726

@@ -30,7 +29,7 @@ class ProjectNameHeuristicAiServiceTests {
3029
@Test
3130
@Tag(CliTags.AI)
3231
void deriveProjectName() {
33-
ProjectNameHeuristicAiService projectNameHeuristic = new ProjectNameHeuristicAiService(TerminalMessage.noop());
32+
ProjectNameHeuristicAiService projectNameHeuristic = new ProjectNameHeuristicAiService();
3433

3534
ProjectName projectName = projectNameHeuristic.deriveProjectName("jpa");
3635

0 commit comments

Comments
 (0)