This is an automated email from the ASF dual-hosted git repository.

terrymanu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 66216875464 Refactor MCP constructors with Lombok (#39194)
66216875464 is described below

commit 6621687546488d654546b2c8a9f8bfd66cd12dfc
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Jul 20 18:17:19 2026 +0800

    Refactor MCP constructors with Lombok (#39194)
    
    Replace redundant MCP constructors with RequiredArgsConstructor while
    preserving their access levels and builder behavior.
---
 .../mcp/api/capability/tool/MCPToolAnnotations.java      | 12 ++++--------
 .../mcp/core/completion/MCPCompletionRateLimiter.java    |  8 +++-----
 .../mcp/core/workflow/InMemoryWorkflowSessionStore.java  |  7 +++----
 .../resource/handler/CoreResourceHandlerSurfaceTest.java | 14 +++-----------
 .../tool/service/ShardingWorkflowLifecycleSpec.java      | 16 ++--------------
 .../capability/MCPDatabaseCapabilityProviderTest.java    | 10 +++-------
 6 files changed, 18 insertions(+), 49 deletions(-)

diff --git 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/capability/tool/MCPToolAnnotations.java
 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/capability/tool/MCPToolAnnotations.java
index 5a1f8d195d9..66c9e13fe75 100644
--- 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/capability/tool/MCPToolAnnotations.java
+++ 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/capability/tool/MCPToolAnnotations.java
@@ -17,12 +17,16 @@
 
 package org.apache.shardingsphere.mcp.api.capability.tool;
 
+import lombok.AccessLevel;
 import lombok.Builder;
 import lombok.Getter;
+import lombok.RequiredArgsConstructor;
 
 /**
  * SDK-independent MCP tool annotations.
  */
+@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
+@Builder
 @Getter
 public final class MCPToolAnnotations {
     
@@ -36,12 +40,4 @@ public final class MCPToolAnnotations {
     
     private final boolean openWorldHint;
     
-    @Builder
-    private MCPToolAnnotations(final String title, final boolean readOnlyHint, 
final boolean destructiveHint, final boolean idempotentHint, final boolean 
openWorldHint) {
-        this.title = title;
-        this.readOnlyHint = readOnlyHint;
-        this.destructiveHint = destructiveHint;
-        this.idempotentHint = idempotentHint;
-        this.openWorldHint = openWorldHint;
-    }
 }
diff --git 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/completion/MCPCompletionRateLimiter.java
 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/completion/MCPCompletionRateLimiter.java
index 719dc7d72c1..365c42d6728 100644
--- 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/completion/MCPCompletionRateLimiter.java
+++ 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/completion/MCPCompletionRateLimiter.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.mcp.core.completion;
 
+import lombok.AccessLevel;
+import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.mcp.api.exception.MCPUnavailableException;
 import 
org.apache.shardingsphere.mcp.support.security.MCPRuntimeProtectionPolicy;
 
@@ -29,6 +31,7 @@ import java.util.concurrent.ConcurrentHashMap;
 /**
  * Per-session fixed-window rate limiter for MCP completion requests.
  */
+@RequiredArgsConstructor(access = AccessLevel.PACKAGE)
 final class MCPCompletionRateLimiter {
     
     private static final Duration WINDOW_DURATION = Duration.ofMinutes(1L);
@@ -43,11 +46,6 @@ final class MCPCompletionRateLimiter {
         this(MCPRuntimeProtectionPolicy.getMaxCompletionRequestsPerMinute(), 
Clock.systemUTC());
     }
     
-    MCPCompletionRateLimiter(final int maxRequestsPerWindow, final Clock 
clock) {
-        this.maxRequestsPerWindow = maxRequestsPerWindow;
-        this.clock = clock;
-    }
-    
     void acquire(final String sessionId) {
         Instant now = clock.instant();
         sessionWindows.compute(sessionId, (ignored, currentWindow) -> 
acquire(sessionId, currentWindow, now));
diff --git 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/workflow/InMemoryWorkflowSessionStore.java
 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/workflow/InMemoryWorkflowSessionStore.java
index 71529afd091..acb88b05cf8 100644
--- 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/workflow/InMemoryWorkflowSessionStore.java
+++ 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/workflow/InMemoryWorkflowSessionStore.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.mcp.core.workflow;
 
+import lombok.AccessLevel;
+import lombok.RequiredArgsConstructor;
 import 
org.apache.shardingsphere.mcp.core.protocol.exception.MCPWorkflowStateException;
 import org.apache.shardingsphere.mcp.support.workflow.WorkflowSessionContext;
 import 
org.apache.shardingsphere.mcp.support.workflow.model.WorkflowContextSnapshot;
@@ -59,14 +61,11 @@ public final class InMemoryWorkflowSessionStore {
         sessionSnapshots.remove(sessionId);
     }
     
+    @RequiredArgsConstructor(access = AccessLevel.PRIVATE)
     private final class SessionContext implements WorkflowSessionContext {
         
         private final String sessionId;
         
-        private SessionContext(final String sessionId) {
-            this.sessionId = sessionId;
-        }
-        
         @Override
         public WorkflowContextSnapshot getOrCreate(final String planId) {
             String actualPlanId = null == planId ? "" : planId.trim();
diff --git 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/CoreResourceHandlerSurfaceTest.java
 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/CoreResourceHandlerSurfaceTest.java
index 292c13b4a64..a048ed9abaa 100644
--- 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/CoreResourceHandlerSurfaceTest.java
+++ 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/CoreResourceHandlerSurfaceTest.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.mcp.core.resource.handler;
 
+import lombok.AccessLevel;
+import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.mcp.api.session.MCPSessionIdentity;
 import org.apache.shardingsphere.mcp.api.MCPRequestContext;
 import org.apache.shardingsphere.mcp.api.exception.MCPUnsupportedException;
@@ -360,6 +362,7 @@ class CoreResourceHandlerSurfaceTest {
         return Collections.singletonList(metadata);
     }
     
+    @RequiredArgsConstructor(access = AccessLevel.PRIVATE)
     private static final class HandlerCase {
         
         private final String description;
@@ -376,17 +379,6 @@ class CoreResourceHandlerSurfaceTest {
         
         private final List<String> expectedObjectNames;
         
-        private HandlerCase(final String description, final 
MCPResourceHandler<?> handler, final String expectedUriTemplate, final String 
resourceUri,
-                            final HandlerResultType expectedType, final String 
expectedDatabase, final List<String> expectedObjectNames) {
-            this.description = description;
-            this.handler = handler;
-            this.expectedUriTemplate = expectedUriTemplate;
-            this.resourceUri = resourceUri;
-            this.expectedType = expectedType;
-            this.expectedDatabase = expectedDatabase;
-            this.expectedObjectNames = expectedObjectNames;
-        }
-        
         private MCPResourceHandler<?> getHandler() {
             return handler;
         }
diff --git 
a/mcp/features/sharding/src/main/java/org/apache/shardingsphere/mcp/feature/sharding/tool/service/ShardingWorkflowLifecycleSpec.java
 
b/mcp/features/sharding/src/main/java/org/apache/shardingsphere/mcp/feature/sharding/tool/service/ShardingWorkflowLifecycleSpec.java
index 78ccb6658f4..5c5f740dd47 100644
--- 
a/mcp/features/sharding/src/main/java/org/apache/shardingsphere/mcp/feature/sharding/tool/service/ShardingWorkflowLifecycleSpec.java
+++ 
b/mcp/features/sharding/src/main/java/org/apache/shardingsphere/mcp/feature/sharding/tool/service/ShardingWorkflowLifecycleSpec.java
@@ -19,6 +19,7 @@ package 
org.apache.shardingsphere.mcp.feature.sharding.tool.service;
 
 import lombok.AccessLevel;
 import lombok.Getter;
+import lombok.RequiredArgsConstructor;
 import 
org.apache.shardingsphere.mcp.feature.sharding.tool.model.ShardingWorkflowRequest;
 import org.apache.shardingsphere.mcp.support.workflow.model.RuleArtifact;
 import 
org.apache.shardingsphere.mcp.support.workflow.model.WorkflowContextSnapshot;
@@ -27,6 +28,7 @@ import 
org.apache.shardingsphere.mcp.support.workflow.model.WorkflowKind;
 import java.util.function.BiFunction;
 import java.util.function.Function;
 
+@RequiredArgsConstructor(access = AccessLevel.PACKAGE)
 @Getter(AccessLevel.PACKAGE)
 final class ShardingWorkflowLifecycleSpec {
     
@@ -44,18 +46,4 @@ final class ShardingWorkflowLifecycleSpec {
     
     private final Function<ShardingWorkflowRequest, RuleArtifact> 
artifactSupplier;
     
-    ShardingWorkflowLifecycleSpec(final WorkflowKind workflowKind, final 
String defaultOperationType, final String summary,
-                                  final Function<ShardingWorkflowRequest, 
Boolean> existsSupplier,
-                                  final BiFunction<ShardingWorkflowRequest, 
WorkflowContextSnapshot, Boolean> requiredInputSupplier,
-                                  final BiFunction<ShardingWorkflowRequest, 
WorkflowContextSnapshot, Boolean> algorithmPlanSupplier,
-                                  final Function<ShardingWorkflowRequest, 
RuleArtifact> artifactSupplier) {
-        this.workflowKind = workflowKind;
-        this.defaultOperationType = defaultOperationType;
-        this.summary = summary;
-        this.existsSupplier = existsSupplier;
-        this.requiredInputSupplier = requiredInputSupplier;
-        this.algorithmPlanSupplier = algorithmPlanSupplier;
-        this.artifactSupplier = artifactSupplier;
-    }
-    
 }
diff --git 
a/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/database/capability/MCPDatabaseCapabilityProviderTest.java
 
b/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/database/capability/MCPDatabaseCapabilityProviderTest.java
index 3974af4294d..9cc3e39963b 100644
--- 
a/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/database/capability/MCPDatabaseCapabilityProviderTest.java
+++ 
b/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/database/capability/MCPDatabaseCapabilityProviderTest.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.mcp.support.database.capability;
 
+import lombok.AccessLevel;
+import lombok.RequiredArgsConstructor;
 import 
org.apache.shardingsphere.mcp.support.database.metadata.TransactionCapability;
 
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.enums.QuoteCharacter;
@@ -202,6 +204,7 @@ class MCPDatabaseCapabilityProviderTest {
                 Arguments.of("firebird", "Firebird", true, true, true, 
SchemaExecutionSemantics.BEST_EFFORT, false));
     }
     
+    @RequiredArgsConstructor(access = AccessLevel.PRIVATE)
     private static final class CapabilityFixture {
         
         private final boolean transactionSupported;
@@ -212,12 +215,5 @@ class MCPDatabaseCapabilityProviderTest {
         
         private final DialectSchemaSemantics schemaSemantics;
         
-        private CapabilityFixture(final boolean transactionSupported, final 
boolean savepointSupported, final boolean sequenceSupported,
-                                  final DialectSchemaSemantics 
schemaSemantics) {
-            this.transactionSupported = transactionSupported;
-            this.savepointSupported = savepointSupported;
-            this.sequenceSupported = sequenceSupported;
-            this.schemaSemantics = schemaSemantics;
-        }
     }
 }

Reply via email to