Skip to content

Commit fe61805

Browse files
authored
refactor: move adapter classes to dedicated package and fix naming typos (#43)
- Move CompleteAdapter, PromptAdapter, and ResourceAdapter from org.springaicommunity.mcp.annotation to org.springaicommunity.mcp.adapter package - Fix class name typos: PromptAdaptor → PromptAdapter, ResourceAdaptor → ResourceAdapter - Update all import statements throughout the codebase to reflect the new package structure - Reorganize imports for better code organization and consistency This refactoring improves package organization by separating adapter utilities from annotation classes while maintaining the same public API. Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
1 parent e51b018 commit fe61805

20 files changed

+201
-218
lines changed

mcp-annotations/src/main/java/org/springaicommunity/mcp/annotation/CompleteAdapter.java renamed to mcp-annotations/src/main/java/org/springaicommunity/mcp/adapter/CompleteAdapter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
/*
22
* Copyright 2025 - 2025 the original author or authors.
33
*/
4-
package org.springaicommunity.mcp.annotation;
4+
package org.springaicommunity.mcp.adapter;
55

66
import java.lang.reflect.Method;
77

88
import io.modelcontextprotocol.spec.McpSchema;
99
import io.modelcontextprotocol.util.Assert;
10+
import org.springaicommunity.mcp.annotation.McpComplete;
1011

1112
/**
1213
* Utility class for adapting between McpComplete annotations and

mcp-annotations/src/main/java/org/springaicommunity/mcp/annotation/PromptAdaptor.java renamed to mcp-annotations/src/main/java/org/springaicommunity/mcp/adapter/PromptAdapter.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* Copyright 2025 - 2025 the original author or authors.
33
*/
4-
package org.springaicommunity.mcp.annotation;
4+
package org.springaicommunity.mcp.adapter;
55

66
import java.lang.reflect.Method;
77
import java.lang.reflect.Parameter;
@@ -10,15 +10,17 @@
1010

1111
import io.modelcontextprotocol.spec.McpSchema;
1212
import io.modelcontextprotocol.util.Assert;
13+
import org.springaicommunity.mcp.annotation.McpArg;
14+
import org.springaicommunity.mcp.annotation.McpPrompt;
1315

1416
/**
1517
* Utility class for adapting between McpPrompt annotations and McpSchema.Prompt objects.
1618
*
1719
* @author Christian Tzolov
1820
*/
19-
public class PromptAdaptor {
21+
public class PromptAdapter {
2022

21-
private PromptAdaptor() {
23+
private PromptAdapter() {
2224
}
2325

2426
/**

mcp-annotations/src/main/java/org/springaicommunity/mcp/annotation/ResourceAdaptor.java renamed to mcp-annotations/src/main/java/org/springaicommunity/mcp/adapter/ResourceAdapter.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
/*
22
* Copyright 2025 - 2025 the original author or authors.
33
*/
4-
package org.springaicommunity.mcp.annotation;
4+
package org.springaicommunity.mcp.adapter;
55

66
import io.modelcontextprotocol.spec.McpSchema;
7+
import org.springaicommunity.mcp.annotation.McpResource;
78

89
/**
910
* @author Christian Tzolov
1011
*/
11-
public class ResourceAdaptor {
12+
public class ResourceAdapter {
1213

13-
private ResourceAdaptor() {
14+
private ResourceAdapter() {
1415
}
1516

1617
public static McpSchema.Resource asResource(McpResource mcpResource) {

mcp-annotations/src/main/java/org/springaicommunity/mcp/method/complete/AbstractMcpCompleteMethodCallback.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,17 @@
99
import java.util.ArrayList;
1010
import java.util.List;
1111

12-
import org.springaicommunity.mcp.annotation.CompleteAdapter;
13-
import org.springaicommunity.mcp.annotation.McpComplete;
14-
import org.springaicommunity.mcp.annotation.McpMeta;
15-
import org.springaicommunity.mcp.annotation.McpProgressToken;
16-
1712
import io.modelcontextprotocol.spec.McpSchema;
1813
import io.modelcontextprotocol.spec.McpSchema.CompleteReference;
1914
import io.modelcontextprotocol.spec.McpSchema.CompleteRequest;
2015
import io.modelcontextprotocol.util.Assert;
2116
import io.modelcontextprotocol.util.DeafaultMcpUriTemplateManagerFactory;
2217
import io.modelcontextprotocol.util.McpUriTemplateManager;
2318
import io.modelcontextprotocol.util.McpUriTemplateManagerFactory;
19+
import org.springaicommunity.mcp.adapter.CompleteAdapter;
20+
import org.springaicommunity.mcp.annotation.McpComplete;
21+
import org.springaicommunity.mcp.annotation.McpMeta;
22+
import org.springaicommunity.mcp.annotation.McpProgressToken;
2423

2524
/**
2625
* Abstract base class for creating callbacks around complete methods.

mcp-annotations/src/main/java/org/springaicommunity/mcp/provider/complete/AsyncMcpCompleteProvider.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,15 @@
2020
import java.util.List;
2121
import java.util.stream.Stream;
2222

23+
import io.modelcontextprotocol.server.McpAsyncServerExchange;
24+
import io.modelcontextprotocol.server.McpServerFeatures.AsyncCompletionSpecification;
25+
import io.modelcontextprotocol.util.Assert;
2326
import org.reactivestreams.Publisher;
2427
import org.slf4j.Logger;
2528
import org.slf4j.LoggerFactory;
26-
import org.springaicommunity.mcp.annotation.CompleteAdapter;
29+
import org.springaicommunity.mcp.adapter.CompleteAdapter;
2730
import org.springaicommunity.mcp.annotation.McpComplete;
2831
import org.springaicommunity.mcp.method.complete.AsyncMcpCompleteMethodCallback;
29-
30-
import io.modelcontextprotocol.server.McpAsyncServerExchange;
31-
import io.modelcontextprotocol.server.McpServerFeatures.AsyncCompletionSpecification;
32-
import io.modelcontextprotocol.util.Assert;
3332
import reactor.core.publisher.Flux;
3433
import reactor.core.publisher.Mono;
3534

mcp-annotations/src/main/java/org/springaicommunity/mcp/provider/complete/AsyncStatelessMcpCompleteProvider.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,17 @@
2121
import java.util.function.BiFunction;
2222
import java.util.stream.Stream;
2323

24-
import org.reactivestreams.Publisher;
25-
import org.slf4j.Logger;
26-
import org.slf4j.LoggerFactory;
27-
import org.springaicommunity.mcp.annotation.CompleteAdapter;
28-
import org.springaicommunity.mcp.annotation.McpComplete;
29-
import org.springaicommunity.mcp.method.complete.AsyncStatelessMcpCompleteMethodCallback;
30-
3124
import io.modelcontextprotocol.server.McpStatelessServerFeatures.AsyncCompletionSpecification;
3225
import io.modelcontextprotocol.server.McpTransportContext;
3326
import io.modelcontextprotocol.spec.McpSchema.CompleteRequest;
3427
import io.modelcontextprotocol.spec.McpSchema.CompleteResult;
3528
import io.modelcontextprotocol.util.Assert;
29+
import org.reactivestreams.Publisher;
30+
import org.slf4j.Logger;
31+
import org.slf4j.LoggerFactory;
32+
import org.springaicommunity.mcp.adapter.CompleteAdapter;
33+
import org.springaicommunity.mcp.annotation.McpComplete;
34+
import org.springaicommunity.mcp.method.complete.AsyncStatelessMcpCompleteMethodCallback;
3635
import reactor.core.publisher.Flux;
3736
import reactor.core.publisher.Mono;
3837

mcp-annotations/src/main/java/org/springaicommunity/mcp/provider/complete/SyncMcpCompleteProvider.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,11 @@
2020
import java.util.List;
2121
import java.util.stream.Stream;
2222

23-
import org.springaicommunity.mcp.annotation.CompleteAdapter;
24-
import org.springaicommunity.mcp.annotation.McpComplete;
25-
import org.springaicommunity.mcp.method.complete.SyncMcpCompleteMethodCallback;
26-
2723
import io.modelcontextprotocol.server.McpServerFeatures.SyncCompletionSpecification;
2824
import io.modelcontextprotocol.util.Assert;
25+
import org.springaicommunity.mcp.adapter.CompleteAdapter;
26+
import org.springaicommunity.mcp.annotation.McpComplete;
27+
import org.springaicommunity.mcp.method.complete.SyncMcpCompleteMethodCallback;
2928
import reactor.core.publisher.Mono;
3029

3130
/**

mcp-annotations/src/main/java/org/springaicommunity/mcp/provider/complete/SyncStatelessMcpCompleteProvider.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,16 @@
2121
import java.util.function.BiFunction;
2222
import java.util.stream.Stream;
2323

24-
import org.slf4j.Logger;
25-
import org.slf4j.LoggerFactory;
26-
import org.springaicommunity.mcp.annotation.CompleteAdapter;
27-
import org.springaicommunity.mcp.annotation.McpComplete;
28-
import org.springaicommunity.mcp.method.complete.SyncStatelessMcpCompleteMethodCallback;
29-
3024
import io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncCompletionSpecification;
3125
import io.modelcontextprotocol.server.McpTransportContext;
3226
import io.modelcontextprotocol.spec.McpSchema.CompleteRequest;
3327
import io.modelcontextprotocol.spec.McpSchema.CompleteResult;
3428
import io.modelcontextprotocol.util.Assert;
29+
import org.slf4j.Logger;
30+
import org.slf4j.LoggerFactory;
31+
import org.springaicommunity.mcp.adapter.CompleteAdapter;
32+
import org.springaicommunity.mcp.annotation.McpComplete;
33+
import org.springaicommunity.mcp.method.complete.SyncStatelessMcpCompleteMethodCallback;
3534
import reactor.core.publisher.Mono;
3635

3736
/**

mcp-annotations/src/main/java/org/springaicommunity/mcp/provider/prompt/AsyncMcpPromptProvider.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,17 @@
2121
import java.util.function.BiFunction;
2222
import java.util.stream.Stream;
2323

24-
import org.reactivestreams.Publisher;
25-
import org.slf4j.Logger;
26-
import org.slf4j.LoggerFactory;
27-
import org.springaicommunity.mcp.annotation.McpPrompt;
28-
import org.springaicommunity.mcp.annotation.PromptAdaptor;
29-
import org.springaicommunity.mcp.method.prompt.AsyncMcpPromptMethodCallback;
30-
3124
import io.modelcontextprotocol.server.McpAsyncServerExchange;
3225
import io.modelcontextprotocol.server.McpServerFeatures.AsyncPromptSpecification;
3326
import io.modelcontextprotocol.spec.McpSchema.GetPromptRequest;
3427
import io.modelcontextprotocol.spec.McpSchema.GetPromptResult;
3528
import io.modelcontextprotocol.util.Assert;
29+
import org.reactivestreams.Publisher;
30+
import org.slf4j.Logger;
31+
import org.slf4j.LoggerFactory;
32+
import org.springaicommunity.mcp.adapter.PromptAdapter;
33+
import org.springaicommunity.mcp.annotation.McpPrompt;
34+
import org.springaicommunity.mcp.method.prompt.AsyncMcpPromptMethodCallback;
3635
import reactor.core.publisher.Flux;
3736
import reactor.core.publisher.Mono;
3837

@@ -75,7 +74,7 @@ public List<AsyncPromptSpecification> getPromptSpecifications() {
7574
|| Publisher.class.isAssignableFrom(method.getReturnType()))
7675
.map(mcpPromptMethod -> {
7776
var promptAnnotation = mcpPromptMethod.getAnnotation(McpPrompt.class);
78-
var mcpPrompt = PromptAdaptor.asPrompt(promptAnnotation, mcpPromptMethod);
77+
var mcpPrompt = PromptAdapter.asPrompt(promptAnnotation, mcpPromptMethod);
7978

8079
BiFunction<McpAsyncServerExchange, GetPromptRequest, Mono<GetPromptResult>> methodCallback = AsyncMcpPromptMethodCallback
8180
.builder()

mcp-annotations/src/main/java/org/springaicommunity/mcp/provider/prompt/AsyncStatelessMcpPromptProvider.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,17 @@
2121
import java.util.function.BiFunction;
2222
import java.util.stream.Stream;
2323

24-
import org.reactivestreams.Publisher;
25-
import org.slf4j.Logger;
26-
import org.slf4j.LoggerFactory;
27-
import org.springaicommunity.mcp.annotation.McpPrompt;
28-
import org.springaicommunity.mcp.annotation.PromptAdaptor;
29-
import org.springaicommunity.mcp.method.prompt.AsyncStatelessMcpPromptMethodCallback;
30-
3124
import io.modelcontextprotocol.server.McpStatelessServerFeatures.AsyncPromptSpecification;
3225
import io.modelcontextprotocol.server.McpTransportContext;
3326
import io.modelcontextprotocol.spec.McpSchema.GetPromptRequest;
3427
import io.modelcontextprotocol.spec.McpSchema.GetPromptResult;
3528
import io.modelcontextprotocol.util.Assert;
29+
import org.reactivestreams.Publisher;
30+
import org.slf4j.Logger;
31+
import org.slf4j.LoggerFactory;
32+
import org.springaicommunity.mcp.adapter.PromptAdapter;
33+
import org.springaicommunity.mcp.annotation.McpPrompt;
34+
import org.springaicommunity.mcp.method.prompt.AsyncStatelessMcpPromptMethodCallback;
3635
import reactor.core.publisher.Flux;
3736
import reactor.core.publisher.Mono;
3837

@@ -75,7 +74,7 @@ public List<AsyncPromptSpecification> getPromptSpecifications() {
7574
|| Publisher.class.isAssignableFrom(method.getReturnType()))
7675
.map(mcpPromptMethod -> {
7776
var promptAnnotation = mcpPromptMethod.getAnnotation(McpPrompt.class);
78-
var mcpPrompt = PromptAdaptor.asPrompt(promptAnnotation, mcpPromptMethod);
77+
var mcpPrompt = PromptAdapter.asPrompt(promptAnnotation, mcpPromptMethod);
7978

8079
BiFunction<McpTransportContext, GetPromptRequest, Mono<GetPromptResult>> methodCallback = AsyncStatelessMcpPromptMethodCallback
8180
.builder()

0 commit comments

Comments
 (0)