Skip to content

Commit 7148907

Browse files
committed
Doing Unit Test and moving method to Prompt Registry.
1 parent 58b2bbe commit 7148907

File tree

6 files changed

+15
-26
lines changed

6 files changed

+15
-26
lines changed

core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/spring/SpringUtil.java renamed to core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/spring/SpringAiConverter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
import org.springframework.ai.chat.messages.UserMessage;
1313

1414
/** Utility class for orchestration-related operations in a Spring context. */
15-
public class SpringUtil {
15+
public class SpringAiConverter {
1616

17-
private SpringUtil() {
17+
private SpringAiConverter() {
1818
// Utility class, no instantiation allowed
1919
}
2020

@@ -25,7 +25,7 @@ private SpringUtil() {
2525
* @return list of SpringAI messages.
2626
*/
2727
@Nonnull
28-
public static List<Message> promptRegistryToSpringAi(
28+
public static List<Message> promptTemplateToMessages(
2929
@Nonnull final PromptTemplateSubstitutionResponse promptResponse) {
3030

3131
val res = promptResponse.getParsedPrompt();

core-services/prompt-registry/src/test/java/com/sap/ai/sdk/prompt/registry/spring/SpringUtilTest.java renamed to core-services/prompt-registry/src/test/java/com/sap/ai/sdk/prompt/registry/spring/SpringAiConverterTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig;
2020
import static org.assertj.core.api.Assertions.assertThat;
2121

22-
public class SpringUtilTest {
22+
public class SpringAiConverterTest {
2323
@RegisterExtension
2424
private static final WireMockExtension WM =
2525
WireMockExtension.newInstance().options(wireMockConfig().dynamicPort()).build();
@@ -40,7 +40,7 @@ void testPipelines() {
4040
PromptTemplateSubstitutionRequest.create()
4141
.inputParams(Map.of("inputExample", "I love football")));
4242

43-
List<Message> messages = SpringUtil.promptRegistryToSpringAi(promptResponse);
43+
List<Message> messages = SpringAiConverter.promptTemplateToMessages(promptResponse);
4444
assertThat(messages)
4545
.isEqualTo(
4646
List.of(

orchestration/pom.xml

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
</parent>
99
<artifactId>orchestration</artifactId>
1010
<name>Orchestration client</name>
11-
<description>SAP Cloud SDK for AI is the official Software Development Kit (SDK) for SAP AI Core, SAP Generative AI
12-
Hub, and Orchestration Service. This is the client for the Orchestration Service.</description>
11+
<description>SAP Cloud SDK for AI is the official Software Development Kit (SDK) for SAP AI Core, SAP Generative AI Hub, and Orchestration Service. This is the client for the Orchestration Service.</description>
1312

1413
<url>https://github.com/SAP/ai-sdk-java?tab=readme-ov-file#documentation</url>
1514
<organization>
@@ -37,12 +36,12 @@
3736
</scm>
3837
<properties>
3938
<project.rootdir>${project.basedir}/../</project.rootdir>
40-
<coverage.complexity>79%</coverage.complexity>
41-
<coverage.line>93%</coverage.line>
42-
<coverage.instruction>92%</coverage.instruction>
43-
<coverage.branch>70%</coverage.branch>
39+
<coverage.complexity>80%</coverage.complexity>
40+
<coverage.line>94%</coverage.line>
41+
<coverage.instruction>94%</coverage.instruction>
42+
<coverage.branch>75%</coverage.branch>
4443
<coverage.method>93%</coverage.method>
45-
<coverage.class>97%</coverage.class>
44+
<coverage.class>100%</coverage.class>
4645
</properties>
4746

4847
<dependencies>
@@ -162,10 +161,6 @@
162161
<!-- optional is only set to satisfy our enforcer rule, it doesn't matter for test dependencies -->
163162
<optional>true</optional>
164163
</dependency>
165-
<dependency>
166-
<groupId>com.sap.ai.sdk</groupId>
167-
<artifactId>prompt-registry</artifactId>
168-
</dependency>
169164
</dependencies>
170165

171166
<profiles>

orchestration/src/main/java/com/sap/ai/sdk/orchestration/spring/OrchestrationChatModel.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ public OrchestrationChatModel(@Nonnull final OrchestrationClient client) {
6464
@Override
6565
public ChatResponse call(@Nonnull final Prompt prompt) {
6666
if (prompt.getOptions() instanceof OrchestrationChatOptions options) {
67+
6768
val orchestrationPrompt = toOrchestrationPrompt(prompt);
6869
val response =
6970
new OrchestrationSpringChatResponse(

sample-code/spring-app/src/main/java/com/sap/ai/sdk/app/controllers/PromptRegistryController.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,22 @@
1717
import java.util.List;
1818
import java.util.Map;
1919

20-
import com.sap.ai.sdk.prompt.registry.spring.SpringUtil;
20+
import com.sap.ai.sdk.prompt.registry.spring.SpringAiConverter;
2121
import lombok.val;
2222
import org.springframework.ai.chat.client.ChatClient;
2323
import org.springframework.ai.chat.client.advisor.MessageChatMemoryAdvisor;
2424
import org.springframework.ai.chat.memory.InMemoryChatMemoryRepository;
2525
import org.springframework.ai.chat.memory.MessageWindowChatMemory;
2626
import org.springframework.ai.chat.messages.Message;
2727
import org.springframework.ai.chat.model.ChatModel;
28-
import org.springframework.ai.chat.model.ChatResponse;
2928
import org.springframework.ai.chat.model.Generation;
3029
import org.springframework.ai.chat.prompt.Prompt;
3130
import org.springframework.core.io.ClassPathResource;
3231
import org.springframework.core.io.Resource;
3332
import org.springframework.web.bind.annotation.GetMapping;
3433
import org.springframework.web.bind.annotation.RequestMapping;
35-
import org.springframework.web.bind.annotation.RequestParam;
3634
import org.springframework.web.bind.annotation.RestController;
3735

38-
import javax.annotation.Nullable;
39-
4036
/** Endpoint for Prompt Registry operations */
4137
@SuppressWarnings("unused") // debug class that doesn't need to be tested
4238
@RestController
@@ -137,7 +133,7 @@ Generation promptRegistryToSpringAi() {
137133
PromptTemplateSubstitutionRequest.create()
138134
.inputParams(Map.of("inputExample", "I love football")));
139135

140-
List<Message> messages = SpringUtil.promptRegistryToSpringAi(promptResponse);
136+
List<Message> messages = SpringAiConverter.promptTemplateToMessages(promptResponse);
141137
val prompt = new Prompt(messages);
142138
val response = cl.prompt(prompt).call().chatResponse();
143139
return response != null ? response.getResult() : null;

sample-code/spring-app/src/main/java/com/sap/ai/sdk/app/services/SpringAiOrchestrationService.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@
1515
import com.sap.ai.sdk.orchestration.model.DPIEntities;
1616
import com.sap.ai.sdk.orchestration.spring.OrchestrationChatModel;
1717
import com.sap.ai.sdk.orchestration.spring.OrchestrationChatOptions;
18-
import com.sap.ai.sdk.prompt.registry.PromptClient;
19-
import com.sap.ai.sdk.prompt.registry.model.PromptTemplateSubstitutionRequest;
20-
import com.sap.ai.sdk.prompt.registry.spring.SpringUtil;
18+
2119
import java.util.List;
2220
import java.util.Map;
2321
import java.util.Objects;
@@ -28,7 +26,6 @@
2826
import org.springframework.ai.chat.client.advisor.MessageChatMemoryAdvisor;
2927
import org.springframework.ai.chat.memory.InMemoryChatMemoryRepository;
3028
import org.springframework.ai.chat.memory.MessageWindowChatMemory;
31-
import org.springframework.ai.chat.messages.Message;
3229
import org.springframework.ai.chat.messages.SystemMessage;
3330
import org.springframework.ai.chat.messages.UserMessage;
3431
import org.springframework.ai.chat.model.ChatModel;

0 commit comments

Comments
 (0)