From 7eef3a65c56540adcadcd6d9951e5b9394bb6523 Mon Sep 17 00:00:00 2001 From: jade Date: Fri, 17 Jul 2026 15:20:26 +0900 Subject: [PATCH] refactor: Fix all inline FQ names with proper imports and add Javadoc to 67 files --- McpBridge.java | 14 ++ add_javadoc.py | 125 ++++++++++++++++++ .../mcp/exception/GlobalExceptionHandler.java | 15 +++ .../dap/common/util/ToolSourceUpdater.java | 15 +++ .../io/shinhanlife/glow/GlowAppServiceId.java | 15 +++ .../io/shinhanlife/glow/GlowControllerId.java | 15 +++ .../io/shinhanlife/glow/GlowIndexPaging.java | 15 +++ .../io/shinhanlife/glow/GlowMciFieldInfo.java | 15 +++ .../shinhanlife/glow/GlowMybatisMapper.java | 15 +++ .../shinhanlife/glow/GlowServiceGroupId.java | 15 +++ .../io/shinhanlife/glow/GlowTrgmField.java | 15 +++ .../glow/util/GlowMciParserTest.java | 15 +++ .../mcp/gateway/DapGatewayApplication.java | 15 +++ .../mcp/gateway/audit/AuditLogService.java | 15 +++ .../config/AgentResponseBudgetProperties.java | 15 +++ .../gateway/config/McpGatewayProperties.java | 15 +++ .../gateway/guardrail/GuardrailService.java | 15 +++ .../guardrail/SensitiveDataMasker.java | 15 +++ .../ToolResponseGuardrailService.java | 15 +++ .../gateway/presentation/ChatController.java | 15 +++ .../presentation/McpRouterController.java | 15 +++ .../presentation/ScaffoldingController.java | 15 +++ .../gateway/redis/McpMonitorEventService.java | 15 +++ .../gateway/redis/RedisToolTraceService.java | 15 +++ .../gateway/resilience/CircuitBreaker.java | 15 +++ .../CircuitBreakerMonitorController.java | 15 +++ .../resilience/CircuitBreakerService.java | 15 +++ .../resilience/CircuitBreakerSnapshot.java | 15 +++ .../resilience/CircuitBreakerState.java | 15 +++ .../mcp/gateway/resilience/FailureType.java | 15 +++ .../mcp/gateway/resilience/RetryPolicy.java | 15 +++ .../resilience/ToolExecutionException.java | 15 +++ .../gateway/security/McpRequestContext.java | 15 +++ .../security/McpRequestContextResolver.java | 15 +++ .../security/ToolAuthorizationService.java | 15 +++ .../mcp/gateway/service/ExecuteService.java | 15 +++ ...ustomWebMvcSseServerTransportProvider.java | 83 +++++++----- .../gateway/sync/DynamicMcpController.java | 15 +++ .../gateway/sync/DynamicMcpServerManager.java | 15 +++ .../RegistryMcpToolSpecificationFactory.java | 15 +++ .../large/AgentResponseBudgetService.java | 15 +++ .../tool/large/LargeToolResponseService.java | 15 +++ .../large/PaginationRequestValidator.java | 15 +++ .../tool/result/ToolExecutionResult.java | 15 +++ .../result/ToolExecutionResultFormatter.java | 15 +++ .../gateway/transport/HttpToolInvoker.java | 15 +++ .../mcp/gateway/transport/ToolInvoker.java | 15 +++ .../gateway/DapGatewayApplicationTests.java | 15 +++ .../large/PaginationRequestValidatorTest.java | 15 +++ .../converter/SampleLegacyConverter.java | 15 +++ .../biz/mcp/sample/dto/SampleAiReqDto.java | 15 +++ .../biz/mcp/tool/annotation/McpFunction.java | 15 +++ .../biz/mcp/tool/annotation/McpParameter.java | 15 +++ .../dap/biz/mcp/tool/annotation/McpTool.java | 15 +++ .../mcp/tool/aop/ToolSlaMonitoringAspect.java | 15 +++ .../presentation/BusinessToolController.java | 15 +++ .../service/ToolRegistryHeartbeatSender.java | 15 +++ .../mcp/tool/util/JsonSchemaGenerator.java | 15 +++ .../converter/SampleLegacyConverterTest.java | 15 +++ .../tool/email/DapToolEmailApplication.java | 15 +++ .../dap/biz/mcp/tool/dto/BalanceReq.java | 15 +++ .../dap/biz/mcp/tool/dto/BalanceRes.java | 15 +++ .../tool/other/DapToolOtherApplication.java | 15 +++ .../biz/mcp/tool/service/BalanceService.java | 15 +++ .../payment/DapToolPaymentApplication.java | 15 +++ .../mcp/tool/sms/DapToolSmsApplication.java | 15 +++ .../sms/converter/SmsLegacyConverter.java | 15 +++ .../biz/mcp/tool/sms/dto/SmsLegacyReqDto.java | 15 +++ 68 files changed, 1165 insertions(+), 32 deletions(-) create mode 100644 add_javadoc.py diff --git a/McpBridge.java b/McpBridge.java index 43b2891..acda5e5 100644 --- a/McpBridge.java +++ b/McpBridge.java @@ -1,3 +1,17 @@ +/** + * @package io.shinhanlife + * @className McpBridge + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URI; diff --git a/add_javadoc.py b/add_javadoc.py new file mode 100644 index 0000000..78ce31f --- /dev/null +++ b/add_javadoc.py @@ -0,0 +1,125 @@ +import os +import re + +JAVADOC_FILES = [ + r'.\McpBridge.java', + r'.\dap-common\src\main\java\io\shinhanlife\dap\common\mcp\exception\GlobalExceptionHandler.java', + r'.\dap-common\src\main\java\io\shinhanlife\dap\common\util\ToolSourceUpdater.java', + r'.\dap-common\src\main\java\io\shinhanlife\glow\GlowAppServiceId.java', + r'.\dap-common\src\main\java\io\shinhanlife\glow\GlowControllerId.java', + r'.\dap-common\src\main\java\io\shinhanlife\glow\GlowIndexPaging.java', + r'.\dap-common\src\main\java\io\shinhanlife\glow\GlowMciFieldInfo.java', + r'.\dap-common\src\main\java\io\shinhanlife\glow\GlowMybatisMapper.java', + r'.\dap-common\src\main\java\io\shinhanlife\glow\GlowServiceGroupId.java', + r'.\dap-common\src\main\java\io\shinhanlife\glow\GlowTrgmField.java', + r'.\dap-common\src\test\java\io\shinhanlife\glow\util\GlowMciParserTest.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\DapGatewayApplication.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\audit\AuditLogService.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\config\AgentResponseBudgetProperties.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\config\McpGatewayProperties.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\guardrail\GuardrailService.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\guardrail\SensitiveDataMasker.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\guardrail\ToolResponseGuardrailService.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\presentation\ChatController.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\presentation\McpRouterController.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\presentation\ScaffoldingController.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\redis\McpMonitorEventService.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\redis\RedisToolTraceService.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\resilience\CircuitBreaker.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\resilience\CircuitBreakerMonitorController.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\resilience\CircuitBreakerService.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\resilience\CircuitBreakerSnapshot.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\resilience\CircuitBreakerState.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\resilience\FailureType.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\resilience\RetryPolicy.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\resilience\ToolExecutionException.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\security\McpRequestContext.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\security\McpRequestContextResolver.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\security\ToolAuthorizationService.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\service\ExecuteService.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\sync\DynamicMcpController.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\sync\DynamicMcpServerManager.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\sync\RegistryMcpToolSpecificationFactory.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\tool\large\AgentResponseBudgetService.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\tool\large\LargeToolResponseService.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\tool\large\PaginationRequestValidator.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\tool\result\ToolExecutionResult.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\tool\result\ToolExecutionResultFormatter.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\transport\HttpToolInvoker.java', + r'.\dap-gateway\src\main\java\io\shinhanlife\dap\biz\mcp\gateway\transport\ToolInvoker.java', + r'.\dap-gateway\src\test\java\io\shinhanlife\dap\biz\mcp\gateway\DapGatewayApplicationTests.java', + r'.\dap-gateway\src\test\java\io\shinhanlife\dap\biz\mcp\gateway\tool\large\PaginationRequestValidatorTest.java', + r'.\dap-tool-core\src\main\java\io\shinhanlife\dap\biz\mcp\sample\converter\SampleLegacyConverter.java', + r'.\dap-tool-core\src\main\java\io\shinhanlife\dap\biz\mcp\sample\dto\SampleAiReqDto.java', + r'.\dap-tool-core\src\main\java\io\shinhanlife\dap\biz\mcp\tool\annotation\McpFunction.java', + r'.\dap-tool-core\src\main\java\io\shinhanlife\dap\biz\mcp\tool\annotation\McpParameter.java', + r'.\dap-tool-core\src\main\java\io\shinhanlife\dap\biz\mcp\tool\annotation\McpTool.java', + r'.\dap-tool-core\src\main\java\io\shinhanlife\dap\biz\mcp\tool\aop\ToolSlaMonitoringAspect.java', + r'.\dap-tool-core\src\main\java\io\shinhanlife\dap\biz\mcp\tool\presentation\BusinessToolController.java', + r'.\dap-tool-core\src\main\java\io\shinhanlife\dap\biz\mcp\tool\service\ToolRegistryHeartbeatSender.java', + r'.\dap-tool-core\src\main\java\io\shinhanlife\dap\biz\mcp\tool\util\JsonSchemaGenerator.java', + r'.\dap-tool-core\src\test\java\io\shinhanlife\dap\biz\mcp\sample\converter\SampleLegacyConverterTest.java', + r'.\dap-tool-email\src\main\java\io\shinhanlife\dap\biz\mcp\tool\email\DapToolEmailApplication.java', + r'.\dap-tool-other\src\main\java\io\shinhanlife\dap\biz\mcp\tool\dto\BalanceReq.java', + r'.\dap-tool-other\src\main\java\io\shinhanlife\dap\biz\mcp\tool\dto\BalanceRes.java', + r'.\dap-tool-other\src\main\java\io\shinhanlife\dap\biz\mcp\tool\other\DapToolOtherApplication.java', + r'.\dap-tool-other\src\main\java\io\shinhanlife\dap\biz\mcp\tool\service\BalanceService.java', + r'.\dap-tool-payment\src\main\java\io\shinhanlife\dap\biz\mcp\tool\payment\DapToolPaymentApplication.java', + r'.\dap-tool-sms\src\main\java\io\shinhanlife\dap\biz\mcp\tool\sms\DapToolSmsApplication.java', + r'.\dap-tool-sms\src\main\java\io\shinhanlife\dap\biz\mcp\tool\sms\converter\SmsLegacyConverter.java', + r'.\dap-tool-sms\src\main\java\io\shinhanlife\dap\biz\mcp\tool\sms\dto\SmsLegacyReqDto.java', +] + +JAVADOC_TEMPLATE = '''/** + * @package {package} + * @className {classname} + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */''' + +def get_package_and_class(content, filename): + pkg_match = re.search(r'^package\s+([^\s;]+)', content, re.MULTILINE) + package = pkg_match.group(1) if pkg_match else 'io.shinhanlife' + classname = os.path.splitext(filename)[0] + return package, classname + +def add_javadoc(file_path): + if not os.path.exists(file_path): + print(f'SKIP (not found): {file_path}') + return + with open(file_path, 'r', encoding='utf-8') as f: + content = f.read() + + if '@className' in content or '@author' in content: + print(f'SKIP (already has javadoc): {file_path}') + return + + filename = os.path.basename(file_path) + package, classname = get_package_and_class(content, filename) + javadoc = JAVADOC_TEMPLATE.format(package=package, classname=classname) + + # Insert after package declaration + pkg_pattern = re.compile(r'^(package\s+[^\s;]+;\s*\n)', re.MULTILINE) + match = pkg_pattern.search(content) + if match: + insert_pos = match.end() + new_content = content[:insert_pos] + '\n' + javadoc + '\n' + content[insert_pos:] + else: + new_content = javadoc + '\n' + content + + with open(file_path, 'w', encoding='utf-8') as f: + f.write(new_content) + print(f'OK: {file_path}') + +for f in JAVADOC_FILES: + add_javadoc(f) + +print('\nDone!') diff --git a/dap-common/src/main/java/io/shinhanlife/dap/common/mcp/exception/GlobalExceptionHandler.java b/dap-common/src/main/java/io/shinhanlife/dap/common/mcp/exception/GlobalExceptionHandler.java index acc53ad..7345654 100644 --- a/dap-common/src/main/java/io/shinhanlife/dap/common/mcp/exception/GlobalExceptionHandler.java +++ b/dap-common/src/main/java/io/shinhanlife/dap/common/mcp/exception/GlobalExceptionHandler.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.common.mcp.exception; + +/** + * @package io.shinhanlife.dap.common.mcp.exception + * @className GlobalExceptionHandler + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.adapter.dto.ErrorDetail; import io.shinhanlife.dap.biz.mcp.adapter.dto.JsonRpcResponse; import lombok.extern.slf4j.Slf4j; diff --git a/dap-common/src/main/java/io/shinhanlife/dap/common/util/ToolSourceUpdater.java b/dap-common/src/main/java/io/shinhanlife/dap/common/util/ToolSourceUpdater.java index 2db57d7..cb666c3 100644 --- a/dap-common/src/main/java/io/shinhanlife/dap/common/util/ToolSourceUpdater.java +++ b/dap-common/src/main/java/io/shinhanlife/dap/common/util/ToolSourceUpdater.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.common.util; + +/** + * @package io.shinhanlife.dap.common.util + * @className ToolSourceUpdater + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; diff --git a/dap-common/src/main/java/io/shinhanlife/glow/GlowAppServiceId.java b/dap-common/src/main/java/io/shinhanlife/glow/GlowAppServiceId.java index 1772ba0..812d6d2 100644 --- a/dap-common/src/main/java/io/shinhanlife/glow/GlowAppServiceId.java +++ b/dap-common/src/main/java/io/shinhanlife/glow/GlowAppServiceId.java @@ -1,5 +1,20 @@ package io.shinhanlife.glow; + +/** + * @package io.shinhanlife.glow + * @className GlowAppServiceId + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import java.lang.annotation.*; @Target(ElementType.METHOD) diff --git a/dap-common/src/main/java/io/shinhanlife/glow/GlowControllerId.java b/dap-common/src/main/java/io/shinhanlife/glow/GlowControllerId.java index 078ac61..6aac682 100644 --- a/dap-common/src/main/java/io/shinhanlife/glow/GlowControllerId.java +++ b/dap-common/src/main/java/io/shinhanlife/glow/GlowControllerId.java @@ -1,5 +1,20 @@ package io.shinhanlife.glow; + +/** + * @package io.shinhanlife.glow + * @className GlowControllerId + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ public @interface GlowControllerId { String value(); } diff --git a/dap-common/src/main/java/io/shinhanlife/glow/GlowIndexPaging.java b/dap-common/src/main/java/io/shinhanlife/glow/GlowIndexPaging.java index 884d75f..04201e5 100644 --- a/dap-common/src/main/java/io/shinhanlife/glow/GlowIndexPaging.java +++ b/dap-common/src/main/java/io/shinhanlife/glow/GlowIndexPaging.java @@ -1,5 +1,20 @@ package io.shinhanlife.glow; + +/** + * @package io.shinhanlife.glow + * @className GlowIndexPaging + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import java.lang.annotation.*; @Target(ElementType.METHOD) diff --git a/dap-common/src/main/java/io/shinhanlife/glow/GlowMciFieldInfo.java b/dap-common/src/main/java/io/shinhanlife/glow/GlowMciFieldInfo.java index 4755766..4f5aec4 100644 --- a/dap-common/src/main/java/io/shinhanlife/glow/GlowMciFieldInfo.java +++ b/dap-common/src/main/java/io/shinhanlife/glow/GlowMciFieldInfo.java @@ -1,5 +1,20 @@ package io.shinhanlife.glow; + +/** + * @package io.shinhanlife.glow + * @className GlowMciFieldInfo + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import java.lang.annotation.*; @Target(ElementType.FIELD) diff --git a/dap-common/src/main/java/io/shinhanlife/glow/GlowMybatisMapper.java b/dap-common/src/main/java/io/shinhanlife/glow/GlowMybatisMapper.java index ca50c44..3153d8d 100644 --- a/dap-common/src/main/java/io/shinhanlife/glow/GlowMybatisMapper.java +++ b/dap-common/src/main/java/io/shinhanlife/glow/GlowMybatisMapper.java @@ -1,5 +1,20 @@ package io.shinhanlife.glow; + +/** + * @package io.shinhanlife.glow + * @className GlowMybatisMapper + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Component; diff --git a/dap-common/src/main/java/io/shinhanlife/glow/GlowServiceGroupId.java b/dap-common/src/main/java/io/shinhanlife/glow/GlowServiceGroupId.java index 375a3b6..7f4d3a5 100644 --- a/dap-common/src/main/java/io/shinhanlife/glow/GlowServiceGroupId.java +++ b/dap-common/src/main/java/io/shinhanlife/glow/GlowServiceGroupId.java @@ -1,5 +1,20 @@ package io.shinhanlife.glow; + +/** + * @package io.shinhanlife.glow + * @className GlowServiceGroupId + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ public @interface GlowServiceGroupId { String value(); diff --git a/dap-common/src/main/java/io/shinhanlife/glow/GlowTrgmField.java b/dap-common/src/main/java/io/shinhanlife/glow/GlowTrgmField.java index 883d7dd..5a2c859 100644 --- a/dap-common/src/main/java/io/shinhanlife/glow/GlowTrgmField.java +++ b/dap-common/src/main/java/io/shinhanlife/glow/GlowTrgmField.java @@ -1,5 +1,20 @@ package io.shinhanlife.glow; + +/** + * @package io.shinhanlife.glow + * @className GlowTrgmField + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import java.lang.annotation.*; @Target(ElementType.FIELD) diff --git a/dap-common/src/test/java/io/shinhanlife/glow/util/GlowMciParserTest.java b/dap-common/src/test/java/io/shinhanlife/glow/util/GlowMciParserTest.java index a0358bf..bd1d732 100644 --- a/dap-common/src/test/java/io/shinhanlife/glow/util/GlowMciParserTest.java +++ b/dap-common/src/test/java/io/shinhanlife/glow/util/GlowMciParserTest.java @@ -1,5 +1,20 @@ package io.shinhanlife.glow.util; + +/** + * @package io.shinhanlife.glow.util + * @className GlowMciParserTest + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.glow.GlowMciFieldInfo; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/DapGatewayApplication.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/DapGatewayApplication.java index fb1ed25..559e2ab 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/DapGatewayApplication.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/DapGatewayApplication.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway + * @className DapGatewayApplication + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.properties.ConfigurationPropertiesScan; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/audit/AuditLogService.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/audit/AuditLogService.java index cff0c43..263e2ce 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/audit/AuditLogService.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/audit/AuditLogService.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.audit; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.audit + * @className AuditLogService + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties; import io.shinhanlife.dap.biz.mcp.gateway.guardrail.SensitiveDataMasker; import io.shinhanlife.dap.biz.mcp.gateway.security.McpRequestContext; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/config/AgentResponseBudgetProperties.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/config/AgentResponseBudgetProperties.java index e4f8905..b1a4e3a 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/config/AgentResponseBudgetProperties.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/config/AgentResponseBudgetProperties.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.config; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.config + * @className AgentResponseBudgetProperties + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/config/McpGatewayProperties.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/config/McpGatewayProperties.java index a44f1a8..2d4906c 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/config/McpGatewayProperties.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/config/McpGatewayProperties.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.config; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.config + * @className McpGatewayProperties + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/guardrail/GuardrailService.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/guardrail/GuardrailService.java index 06a3dc9..9dc5898 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/guardrail/GuardrailService.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/guardrail/GuardrailService.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.guardrail; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.guardrail + * @className GuardrailService + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.gateway.resilience.FailureType; import io.shinhanlife.dap.biz.mcp.gateway.resilience.ToolExecutionException; import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/guardrail/SensitiveDataMasker.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/guardrail/SensitiveDataMasker.java index dbdde31..201bd88 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/guardrail/SensitiveDataMasker.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/guardrail/SensitiveDataMasker.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.guardrail; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.guardrail + * @className SensitiveDataMasker + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import org.springframework.stereotype.Component; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/guardrail/ToolResponseGuardrailService.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/guardrail/ToolResponseGuardrailService.java index 694eb8b..60ba04f 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/guardrail/ToolResponseGuardrailService.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/guardrail/ToolResponseGuardrailService.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.guardrail; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.guardrail + * @className ToolResponseGuardrailService + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.gateway.resilience.FailureType; import io.shinhanlife.dap.biz.mcp.gateway.resilience.ToolExecutionException; import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/presentation/ChatController.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/presentation/ChatController.java index 57cc412..03499e2 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/presentation/ChatController.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/presentation/ChatController.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.presentation; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.presentation + * @className ChatController + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata; import io.shinhanlife.dap.biz.mcp.gateway.registry.RedisRegistryService; import io.shinhanlife.dap.biz.mcp.gateway.service.ExecuteService; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/presentation/McpRouterController.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/presentation/McpRouterController.java index 52ad9cf..d99815f 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/presentation/McpRouterController.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/presentation/McpRouterController.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.presentation; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.presentation + * @className McpRouterController + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import com.fasterxml.jackson.databind.ObjectMapper; import io.shinhanlife.dap.biz.mcp.adapter.dto.JsonRpcRequest; import io.shinhanlife.dap.biz.mcp.adapter.dto.JsonRpcResponse; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/presentation/ScaffoldingController.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/presentation/ScaffoldingController.java index 97666cd..faf6894 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/presentation/ScaffoldingController.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/presentation/ScaffoldingController.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.presentation; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.presentation + * @className ScaffoldingController + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.common.util.PodScaffolder; import io.shinhanlife.dap.common.util.ToolScaffolder; import io.shinhanlife.dap.common.util.ToolSourceUpdater; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/redis/McpMonitorEventService.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/redis/McpMonitorEventService.java index dd6a295..fbba099 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/redis/McpMonitorEventService.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/redis/McpMonitorEventService.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.redis; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.redis + * @className McpMonitorEventService + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import org.springframework.stereotype.Service; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/redis/RedisToolTraceService.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/redis/RedisToolTraceService.java index 7791beb..abb4cbf 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/redis/RedisToolTraceService.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/redis/RedisToolTraceService.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.redis; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.redis + * @className RedisToolTraceService + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties; import io.shinhanlife.dap.biz.mcp.gateway.guardrail.SensitiveDataMasker; import io.shinhanlife.dap.biz.mcp.gateway.security.McpRequestContext; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreaker.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreaker.java index 314d378..67a7a97 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreaker.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreaker.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.resilience; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.resilience + * @className CircuitBreaker + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import java.time.Clock; import java.time.Instant; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreakerMonitorController.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreakerMonitorController.java index 37bbfd4..33028ac 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreakerMonitorController.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreakerMonitorController.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.resilience; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.resilience + * @className CircuitBreakerMonitorController + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreakerService.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreakerService.java index d28f3c7..bbabced 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreakerService.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreakerService.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.resilience; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.resilience + * @className CircuitBreakerService + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties; import org.springframework.stereotype.Service; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreakerSnapshot.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreakerSnapshot.java index 2616a92..6ff9abe 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreakerSnapshot.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreakerSnapshot.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.resilience; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.resilience + * @className CircuitBreakerSnapshot + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ /** * MCP Monitor 화면에 내려주는 Circuit Breaker 상태 정보입니다. */ diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreakerState.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreakerState.java index 5addf9e..70ff2c1 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreakerState.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/CircuitBreakerState.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.resilience; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.resilience + * @className CircuitBreakerState + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ /** * Circuit Breaker의 현재 상태입니다. * diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/FailureType.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/FailureType.java index 4b12baf..4543a12 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/FailureType.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/FailureType.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.resilience; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.resilience + * @className FailureType + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ /** * Tool/EIMS/Tool 서버 호출 실패를 업무적으로 구분하기 위한 장애 유형입니다. * diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/RetryPolicy.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/RetryPolicy.java index 450829f..38edf85 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/RetryPolicy.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/RetryPolicy.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.resilience; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.resilience + * @className RetryPolicy + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ /** * Tool 호출 재시도 정책입니다. * diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/ToolExecutionException.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/ToolExecutionException.java index 5305a7e..ec2374e 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/ToolExecutionException.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/resilience/ToolExecutionException.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.resilience; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.resilience + * @className ToolExecutionException + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ /** * Tool 실행 중 발생한 오류를 FailureType과 함께 전달하는 공통 예외입니다. * diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/security/McpRequestContext.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/security/McpRequestContext.java index 0b88280..bfa1a7e 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/security/McpRequestContext.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/security/McpRequestContext.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.security; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.security + * @className McpRequestContext + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import java.util.Set; /** diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/security/McpRequestContextResolver.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/security/McpRequestContextResolver.java index 4c3d243..8dbcc30 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/security/McpRequestContextResolver.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/security/McpRequestContextResolver.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.security; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.security + * @className McpRequestContextResolver + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import jakarta.servlet.http.HttpServletRequest; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/security/ToolAuthorizationService.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/security/ToolAuthorizationService.java index 24dabe7..a328090 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/security/ToolAuthorizationService.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/security/ToolAuthorizationService.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.security; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.security + * @className ToolAuthorizationService + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties; import io.shinhanlife.dap.biz.mcp.gateway.resilience.FailureType; import io.shinhanlife.dap.biz.mcp.gateway.resilience.ToolExecutionException; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/service/ExecuteService.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/service/ExecuteService.java index 7c95e4c..919a8c3 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/service/ExecuteService.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/service/ExecuteService.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.service; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.service + * @className ExecuteService + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import java.util.HashMap; import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/sync/CustomWebMvcSseServerTransportProvider.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/sync/CustomWebMvcSseServerTransportProvider.java index fc661d3..ef59599 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/sync/CustomWebMvcSseServerTransportProvider.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/sync/CustomWebMvcSseServerTransportProvider.java @@ -1,17 +1,36 @@ package io.shinhanlife.dap.biz.mcp.gateway.sync; +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.sync + * @className CustomWebMvcSseServerTransportProvider + * @description AX HUB MCP Gateway SSE 전송 제공자 - SSE 기반의 MCP 서버 트랜스포트를 구현하는 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ *
+ * 
+ */ import com.fasterxml.jackson.core.type.TypeReference; - import com.fasterxml.jackson.databind.ObjectMapper; import io.modelcontextprotocol.json.TypeRef; import io.modelcontextprotocol.spec.McpSchema; +import io.modelcontextprotocol.spec.McpSchema.JSONRPCMessage; +import io.modelcontextprotocol.spec.McpSchema.JSONRPCNotification; +import io.modelcontextprotocol.spec.McpSchema.JSONRPCRequest; +import io.modelcontextprotocol.spec.McpSchema.JSONRPCResponse; import io.modelcontextprotocol.spec.McpServerSession; import io.modelcontextprotocol.spec.McpServerTransport; import io.modelcontextprotocol.spec.McpServerTransportProvider; import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.web.servlet.function.RouterFunction; import org.springframework.web.servlet.function.RouterFunctions; import org.springframework.web.servlet.function.ServerResponse; +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import reactor.core.publisher.Mono; import java.util.Map; @@ -62,53 +81,53 @@ public class CustomWebMvcSseServerTransportProvider implements McpServerTranspor .toList()); } - public org.springframework.web.servlet.mvc.method.annotation.SseEmitter handleSse() { + public SseEmitter handleSse() { if (sessionFactory == null) { throw new IllegalStateException("SessionFactory not configured"); } - - org.springframework.web.servlet.mvc.method.annotation.SseEmitter emitter = new org.springframework.web.servlet.mvc.method.annotation.SseEmitter(-1L); + + SseEmitter emitter = new SseEmitter(-1L); String sessionId = UUID.randomUUID().toString(); - + CustomMcpSessionTransport sessionTransport = new CustomMcpSessionTransport(emitter, sessionId); McpServerSession session = sessionFactory.create(sessionTransport); sessions.put(sessionId, session); - + emitter.onCompletion(() -> sessions.remove(sessionId)); emitter.onTimeout(() -> sessions.remove(sessionId)); - + new Thread(() -> { try { Thread.sleep(100); - emitter.send(org.springframework.web.servlet.mvc.method.annotation.SseEmitter.event().name("endpoint").data(messageEndpoint + "?sessionId=" + sessionId)); + emitter.send(SseEmitter.event().name("endpoint").data(messageEndpoint + "?sessionId=" + sessionId)); } catch (Exception e) { emitter.completeWithError(e); } }).start(); - + return emitter; } - public org.springframework.web.servlet.mvc.method.annotation.SseEmitter handleCustomSse(String sessionId, String body) { + public SseEmitter handleCustomSse(String sessionId, String body) { if (sessionFactory == null) { throw new IllegalStateException("SessionFactory not configured"); } - - org.springframework.web.servlet.mvc.method.annotation.SseEmitter emitter = new org.springframework.web.servlet.mvc.method.annotation.SseEmitter(-1L); - + + SseEmitter emitter = new SseEmitter(-1L); + CustomMcpSessionTransport sessionTransport = new CustomMcpSessionTransport(emitter, sessionId); McpServerSession session = sessionFactory.create(sessionTransport); sessions.put(sessionId, session); - + emitter.onCompletion(() -> sessions.remove(sessionId)); emitter.onTimeout(() -> sessions.remove(sessionId)); - + new Thread(() -> { try { // 커스텀 클라이언트는 endpoint 이벤트를 무시할 수 있지만, 표준 호환성을 위해 전송 Thread.sleep(100); - emitter.send(org.springframework.web.servlet.mvc.method.annotation.SseEmitter.event().name("endpoint").data(messageEndpoint + "?sessionId=" + sessionId)); - + emitter.send(SseEmitter.event().name("endpoint").data(messageEndpoint + "?sessionId=" + sessionId)); + // Body로 들어온 initialize 등 즉시 처리 if (body != null && !body.trim().isEmpty()) { handleMessage(sessionId, body); @@ -117,46 +136,46 @@ public class CustomWebMvcSseServerTransportProvider implements McpServerTranspor emitter.completeWithError(e); } }).start(); - + return emitter; } - public org.springframework.http.ResponseEntity handleMessage(String sessionId, String body) { + public ResponseEntity handleMessage(String sessionId, String body) { log.info("Received POST message for sessionId: " + sessionId + ", body: " + body); if (sessionId == null || !sessions.containsKey(sessionId)) { - return org.springframework.http.ResponseEntity.badRequest().body("Missing or invalid sessionId"); + return ResponseEntity.badRequest().body("Missing or invalid sessionId"); } - + McpServerSession session = sessions.get(sessionId); try { Map map = objectMapper.readValue(body, new TypeReference>() {}); - io.modelcontextprotocol.spec.McpSchema.JSONRPCMessage message; - + JSONRPCMessage message; + if (map.containsKey("id")) { if (map.containsKey("method")) { - message = objectMapper.convertValue(map, io.modelcontextprotocol.spec.McpSchema.JSONRPCRequest.class); + message = objectMapper.convertValue(map, JSONRPCRequest.class); } else { - message = objectMapper.convertValue(map, io.modelcontextprotocol.spec.McpSchema.JSONRPCResponse.class); + message = objectMapper.convertValue(map, JSONRPCResponse.class); } } else { - message = objectMapper.convertValue(map, io.modelcontextprotocol.spec.McpSchema.JSONRPCNotification.class); + message = objectMapper.convertValue(map, JSONRPCNotification.class); } log.info("Converted message type: " + message.getClass().getName()); - + session.handle(message).subscribe(); log.info("Message sent to session handler"); - return org.springframework.http.ResponseEntity.ok().build(); + return ResponseEntity.ok().build(); } catch (Exception e) { log.error("Failed to handle message", e); - return org.springframework.http.ResponseEntity.status(500).body(e.getMessage()); + return ResponseEntity.status(500).body(e.getMessage()); } } private class CustomMcpSessionTransport implements McpServerTransport { - private final org.springframework.web.servlet.mvc.method.annotation.SseEmitter emitter; + private final SseEmitter emitter; private final String sessionId; - public CustomMcpSessionTransport(org.springframework.web.servlet.mvc.method.annotation.SseEmitter emitter, String sessionId) { + public CustomMcpSessionTransport(SseEmitter emitter, String sessionId) { this.emitter = emitter; this.sessionId = sessionId; } @@ -168,7 +187,7 @@ public class CustomWebMvcSseServerTransportProvider implements McpServerTranspor try { String json = objectMapper.writeValueAsString(message); log.info("Serialized message: " + json); - emitter.send(org.springframework.web.servlet.mvc.method.annotation.SseEmitter.event().name("message").data(json)); + emitter.send(SseEmitter.event().name("message").data(json)); log.info("Message successfully sent to SSE emitter"); } catch (Exception e) { log.error("Error sending message to SSE emitter", e); diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/sync/DynamicMcpController.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/sync/DynamicMcpController.java index ee85b04..b336067 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/sync/DynamicMcpController.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/sync/DynamicMcpController.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.sync; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.sync + * @className DynamicMcpController + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import java.util.UUID; import org.springframework.http.ResponseEntity; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/sync/DynamicMcpServerManager.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/sync/DynamicMcpServerManager.java index 3e59396..b5f07d9 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/sync/DynamicMcpServerManager.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/sync/DynamicMcpServerManager.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.sync; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.sync + * @className DynamicMcpServerManager + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.modelcontextprotocol.spec.McpSchema.ServerCapabilities; import io.modelcontextprotocol.server.McpServer; import io.modelcontextprotocol.server.McpSyncServer; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/sync/RegistryMcpToolSpecificationFactory.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/sync/RegistryMcpToolSpecificationFactory.java index 0a4874e..e8717cb 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/sync/RegistryMcpToolSpecificationFactory.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/sync/RegistryMcpToolSpecificationFactory.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.sync; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.sync + * @className RegistryMcpToolSpecificationFactory + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata; import io.shinhanlife.dap.biz.mcp.gateway.service.ExecuteService; import io.modelcontextprotocol.server.McpServerFeatures; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/large/AgentResponseBudgetService.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/large/AgentResponseBudgetService.java index 0f7859e..084fa00 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/large/AgentResponseBudgetService.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/large/AgentResponseBudgetService.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.tool.large; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.tool.large + * @className AgentResponseBudgetService + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import java.util.Iterator; import java.util.Map; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/large/LargeToolResponseService.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/large/LargeToolResponseService.java index d7357a2..1fc17a9 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/large/LargeToolResponseService.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/large/LargeToolResponseService.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.tool.large; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.tool.large + * @className LargeToolResponseService + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import java.util.Iterator; import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/large/PaginationRequestValidator.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/large/PaginationRequestValidator.java index 0b134c5..047829b 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/large/PaginationRequestValidator.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/large/PaginationRequestValidator.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.tool.large; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.tool.large + * @className PaginationRequestValidator + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties; import io.shinhanlife.dap.biz.mcp.gateway.resilience.FailureType; import io.shinhanlife.dap.biz.mcp.gateway.resilience.ToolExecutionException; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/result/ToolExecutionResult.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/result/ToolExecutionResult.java index bd9dbde..0fab95d 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/result/ToolExecutionResult.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/result/ToolExecutionResult.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.tool.result; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.tool.result + * @className ToolExecutionResult + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import com.fasterxml.jackson.databind.JsonNode; import java.util.List; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/result/ToolExecutionResultFormatter.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/result/ToolExecutionResultFormatter.java index e546ec2..7f0fb06 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/result/ToolExecutionResultFormatter.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/tool/result/ToolExecutionResultFormatter.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.tool.result; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.tool.result + * @className ToolExecutionResultFormatter + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.gateway.guardrail.SensitiveDataMasker; import org.springframework.stereotype.Service; import com.fasterxml.jackson.databind.JsonNode; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/transport/HttpToolInvoker.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/transport/HttpToolInvoker.java index 62cda84..064d340 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/transport/HttpToolInvoker.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/transport/HttpToolInvoker.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.transport; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.transport + * @className HttpToolInvoker + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.gateway.resilience.FailureType; import io.shinhanlife.dap.biz.mcp.gateway.resilience.ToolExecutionException; import org.springframework.http.MediaType; diff --git a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/transport/ToolInvoker.java b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/transport/ToolInvoker.java index d67475c..d4d66db 100644 --- a/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/transport/ToolInvoker.java +++ b/dap-gateway/src/main/java/io/shinhanlife/dap/biz/mcp/gateway/transport/ToolInvoker.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.transport; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.transport + * @className ToolInvoker + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import com.fasterxml.jackson.databind.JsonNode; import java.util.Map; diff --git a/dap-gateway/src/test/java/io/shinhanlife/dap/biz/mcp/gateway/DapGatewayApplicationTests.java b/dap-gateway/src/test/java/io/shinhanlife/dap/biz/mcp/gateway/DapGatewayApplicationTests.java index 9f6b4b6..5fe381e 100644 --- a/dap-gateway/src/test/java/io/shinhanlife/dap/biz/mcp/gateway/DapGatewayApplicationTests.java +++ b/dap-gateway/src/test/java/io/shinhanlife/dap/biz/mcp/gateway/DapGatewayApplicationTests.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway + * @className DapGatewayApplicationTests + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ActiveProfiles; diff --git a/dap-gateway/src/test/java/io/shinhanlife/dap/biz/mcp/gateway/tool/large/PaginationRequestValidatorTest.java b/dap-gateway/src/test/java/io/shinhanlife/dap/biz/mcp/gateway/tool/large/PaginationRequestValidatorTest.java index e7c6f6b..c2514c2 100644 --- a/dap-gateway/src/test/java/io/shinhanlife/dap/biz/mcp/gateway/tool/large/PaginationRequestValidatorTest.java +++ b/dap-gateway/src/test/java/io/shinhanlife/dap/biz/mcp/gateway/tool/large/PaginationRequestValidatorTest.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.gateway.tool.large; + +/** + * @package io.shinhanlife.dap.biz.mcp.gateway.tool.large + * @className PaginationRequestValidatorTest + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties; diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/sample/converter/SampleLegacyConverter.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/sample/converter/SampleLegacyConverter.java index deebc42..ad994fa 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/sample/converter/SampleLegacyConverter.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/sample/converter/SampleLegacyConverter.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.sample.converter; + +/** + * @package io.shinhanlife.dap.biz.mcp.sample.converter + * @className SampleLegacyConverter + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.sample.dto.SampleAiReqDto; import io.shinhanlife.dap.biz.mcp.sample.dto.SampleLegacyReqDto; import org.mapstruct.Mapper; diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/sample/dto/SampleAiReqDto.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/sample/dto/SampleAiReqDto.java index cd4c220..2a08fbe 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/sample/dto/SampleAiReqDto.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/sample/dto/SampleAiReqDto.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.sample.dto; + +/** + * @package io.shinhanlife.dap.biz.mcp.sample.dto + * @className SampleAiReqDto + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import lombok.Builder; import lombok.Getter; import lombok.ToString; diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/annotation/McpFunction.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/annotation/McpFunction.java index 3d63368..0e4271a 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/annotation/McpFunction.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/annotation/McpFunction.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.tool.annotation; + +/** + * @package io.shinhanlife.dap.biz.mcp.tool.annotation + * @className McpFunction + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import java.lang.annotation.*; @Target(ElementType.METHOD) diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/annotation/McpParameter.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/annotation/McpParameter.java index 282ef5e..7ab48b7 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/annotation/McpParameter.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/annotation/McpParameter.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.tool.annotation; + +/** + * @package io.shinhanlife.dap.biz.mcp.tool.annotation + * @className McpParameter + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import java.lang.annotation.*; @Target(ElementType.FIELD) diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/annotation/McpTool.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/annotation/McpTool.java index 5ae17ee..310ccd9 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/annotation/McpTool.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/annotation/McpTool.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.tool.annotation; + +/** + * @package io.shinhanlife.dap.biz.mcp.tool.annotation + * @className McpTool + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import org.springframework.core.annotation.AliasFor; import org.springframework.stereotype.Component; diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/aop/ToolSlaMonitoringAspect.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/aop/ToolSlaMonitoringAspect.java index b4fa936..638d893 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/aop/ToolSlaMonitoringAspect.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/aop/ToolSlaMonitoringAspect.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.tool.aop; + +/** + * @package io.shinhanlife.dap.biz.mcp.tool.aop + * @className ToolSlaMonitoringAspect + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.tool.annotation.McpFunction; import io.shinhanlife.dap.biz.mcp.tool.config.McpProperties; import java.lang.reflect.Method; diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/presentation/BusinessToolController.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/presentation/BusinessToolController.java index 6149a9f..6a5a061 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/presentation/BusinessToolController.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/presentation/BusinessToolController.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.tool.presentation; + +/** + * @package io.shinhanlife.dap.biz.mcp.tool.presentation + * @className BusinessToolController + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import com.fasterxml.jackson.databind.ObjectMapper; import com.networknt.schema.JsonSchema; import com.networknt.schema.JsonSchemaFactory; diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/service/ToolRegistryHeartbeatSender.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/service/ToolRegistryHeartbeatSender.java index aa565f7..1bee996 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/service/ToolRegistryHeartbeatSender.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/service/ToolRegistryHeartbeatSender.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.tool.service; + +/** + * @package io.shinhanlife.dap.biz.mcp.tool.service + * @className ToolRegistryHeartbeatSender + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import com.fasterxml.jackson.databind.ObjectMapper; import io.shinhanlife.dap.biz.mcp.tool.annotation.McpFunction; import io.shinhanlife.dap.biz.mcp.tool.annotation.McpTool; diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/util/JsonSchemaGenerator.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/util/JsonSchemaGenerator.java index 6169a7b..ca2b370 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/util/JsonSchemaGenerator.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/util/JsonSchemaGenerator.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.tool.util; + +/** + * @package io.shinhanlife.dap.biz.mcp.tool.util + * @className JsonSchemaGenerator + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.tool.annotation.McpParameter; import java.lang.reflect.Field; import java.util.HashMap; diff --git a/dap-tool-core/src/test/java/io/shinhanlife/dap/biz/mcp/sample/converter/SampleLegacyConverterTest.java b/dap-tool-core/src/test/java/io/shinhanlife/dap/biz/mcp/sample/converter/SampleLegacyConverterTest.java index bd03642..c3f21e8 100644 --- a/dap-tool-core/src/test/java/io/shinhanlife/dap/biz/mcp/sample/converter/SampleLegacyConverterTest.java +++ b/dap-tool-core/src/test/java/io/shinhanlife/dap/biz/mcp/sample/converter/SampleLegacyConverterTest.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.sample.converter; + +/** + * @package io.shinhanlife.dap.biz.mcp.sample.converter + * @className SampleLegacyConverterTest + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.sample.dto.SampleAiReqDto; import io.shinhanlife.dap.biz.mcp.sample.dto.SampleLegacyReqDto; import org.junit.jupiter.api.DisplayName; diff --git a/dap-tool-email/src/main/java/io/shinhanlife/dap/biz/mcp/tool/email/DapToolEmailApplication.java b/dap-tool-email/src/main/java/io/shinhanlife/dap/biz/mcp/tool/email/DapToolEmailApplication.java index cf9f12f..c8411c9 100644 --- a/dap-tool-email/src/main/java/io/shinhanlife/dap/biz/mcp/tool/email/DapToolEmailApplication.java +++ b/dap-tool-email/src/main/java/io/shinhanlife/dap/biz/mcp/tool/email/DapToolEmailApplication.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.tool.email; + +/** + * @package io.shinhanlife.dap.biz.mcp.tool.email + * @className DapToolEmailApplication + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.properties.ConfigurationPropertiesScan; diff --git a/dap-tool-other/src/main/java/io/shinhanlife/dap/biz/mcp/tool/dto/BalanceReq.java b/dap-tool-other/src/main/java/io/shinhanlife/dap/biz/mcp/tool/dto/BalanceReq.java index ccdef87..e33f877 100644 --- a/dap-tool-other/src/main/java/io/shinhanlife/dap/biz/mcp/tool/dto/BalanceReq.java +++ b/dap-tool-other/src/main/java/io/shinhanlife/dap/biz/mcp/tool/dto/BalanceReq.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.tool.dto; + +/** + * @package io.shinhanlife.dap.biz.mcp.tool.dto + * @className BalanceReq + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.tool.annotation.McpParameter; import lombok.Data; diff --git a/dap-tool-other/src/main/java/io/shinhanlife/dap/biz/mcp/tool/dto/BalanceRes.java b/dap-tool-other/src/main/java/io/shinhanlife/dap/biz/mcp/tool/dto/BalanceRes.java index 74f862b..d8969e9 100644 --- a/dap-tool-other/src/main/java/io/shinhanlife/dap/biz/mcp/tool/dto/BalanceRes.java +++ b/dap-tool-other/src/main/java/io/shinhanlife/dap/biz/mcp/tool/dto/BalanceRes.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.tool.dto; + +/** + * @package io.shinhanlife.dap.biz.mcp.tool.dto + * @className BalanceRes + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import lombok.Data; @Data diff --git a/dap-tool-other/src/main/java/io/shinhanlife/dap/biz/mcp/tool/other/DapToolOtherApplication.java b/dap-tool-other/src/main/java/io/shinhanlife/dap/biz/mcp/tool/other/DapToolOtherApplication.java index 9df26e2..a9b8255 100644 --- a/dap-tool-other/src/main/java/io/shinhanlife/dap/biz/mcp/tool/other/DapToolOtherApplication.java +++ b/dap-tool-other/src/main/java/io/shinhanlife/dap/biz/mcp/tool/other/DapToolOtherApplication.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.tool.other; + +/** + * @package io.shinhanlife.dap.biz.mcp.tool.other + * @className DapToolOtherApplication + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.properties.ConfigurationPropertiesScan; diff --git a/dap-tool-other/src/main/java/io/shinhanlife/dap/biz/mcp/tool/service/BalanceService.java b/dap-tool-other/src/main/java/io/shinhanlife/dap/biz/mcp/tool/service/BalanceService.java index 0289dc7..785681b 100644 --- a/dap-tool-other/src/main/java/io/shinhanlife/dap/biz/mcp/tool/service/BalanceService.java +++ b/dap-tool-other/src/main/java/io/shinhanlife/dap/biz/mcp/tool/service/BalanceService.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.tool.service; + +/** + * @package io.shinhanlife.dap.biz.mcp.tool.service + * @className BalanceService + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.tool.annotation.McpFunction; import io.shinhanlife.dap.biz.mcp.tool.annotation.McpTool; import io.shinhanlife.dap.biz.mcp.tool.dto.BalanceReq; diff --git a/dap-tool-payment/src/main/java/io/shinhanlife/dap/biz/mcp/tool/payment/DapToolPaymentApplication.java b/dap-tool-payment/src/main/java/io/shinhanlife/dap/biz/mcp/tool/payment/DapToolPaymentApplication.java index a1f9b84..88292ea 100644 --- a/dap-tool-payment/src/main/java/io/shinhanlife/dap/biz/mcp/tool/payment/DapToolPaymentApplication.java +++ b/dap-tool-payment/src/main/java/io/shinhanlife/dap/biz/mcp/tool/payment/DapToolPaymentApplication.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.tool.payment; + +/** + * @package io.shinhanlife.dap.biz.mcp.tool.payment + * @className DapToolPaymentApplication + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.properties.ConfigurationPropertiesScan; diff --git a/dap-tool-sms/src/main/java/io/shinhanlife/dap/biz/mcp/tool/sms/DapToolSmsApplication.java b/dap-tool-sms/src/main/java/io/shinhanlife/dap/biz/mcp/tool/sms/DapToolSmsApplication.java index 02ddd64..6dd7d7a 100644 --- a/dap-tool-sms/src/main/java/io/shinhanlife/dap/biz/mcp/tool/sms/DapToolSmsApplication.java +++ b/dap-tool-sms/src/main/java/io/shinhanlife/dap/biz/mcp/tool/sms/DapToolSmsApplication.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.tool.sms; + +/** + * @package io.shinhanlife.dap.biz.mcp.tool.sms + * @className DapToolSmsApplication + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.properties.ConfigurationPropertiesScan; diff --git a/dap-tool-sms/src/main/java/io/shinhanlife/dap/biz/mcp/tool/sms/converter/SmsLegacyConverter.java b/dap-tool-sms/src/main/java/io/shinhanlife/dap/biz/mcp/tool/sms/converter/SmsLegacyConverter.java index d9c448f..5ca07e4 100644 --- a/dap-tool-sms/src/main/java/io/shinhanlife/dap/biz/mcp/tool/sms/converter/SmsLegacyConverter.java +++ b/dap-tool-sms/src/main/java/io/shinhanlife/dap/biz/mcp/tool/sms/converter/SmsLegacyConverter.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.tool.sms.converter; + +/** + * @package io.shinhanlife.dap.biz.mcp.tool.sms.converter + * @className SmsLegacyConverter + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import io.shinhanlife.dap.biz.mcp.tool.dto.SmsSendReq; import io.shinhanlife.dap.biz.mcp.tool.sms.dto.SmsLegacyReqDto; import org.mapstruct.Mapper; diff --git a/dap-tool-sms/src/main/java/io/shinhanlife/dap/biz/mcp/tool/sms/dto/SmsLegacyReqDto.java b/dap-tool-sms/src/main/java/io/shinhanlife/dap/biz/mcp/tool/sms/dto/SmsLegacyReqDto.java index 437fd9d..5c28591 100644 --- a/dap-tool-sms/src/main/java/io/shinhanlife/dap/biz/mcp/tool/sms/dto/SmsLegacyReqDto.java +++ b/dap-tool-sms/src/main/java/io/shinhanlife/dap/biz/mcp/tool/sms/dto/SmsLegacyReqDto.java @@ -1,5 +1,20 @@ package io.shinhanlife.dap.biz.mcp.tool.sms.dto; + +/** + * @package io.shinhanlife.dap.biz.mcp.tool.sms.dto + * @className SmsLegacyReqDto + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  김형식    최초생성
+ * 
+ * 
+ */ import lombok.Builder; import lombok.Getter;