refactor: apply Glow Framework package naming conventions (mcg, mcc)
- io.shinhanlife.dap.biz.mcp.gateway -> io.shinhanlife.dap.mcg - io.shinhanlife.dap.biz.mcp.tool -> io.shinhanlife.dap.mcc - io.shinhanlife.dap.biz.mcp.adapter -> io.shinhanlife.dap.common.adapter - io.shinhanlife.dap.biz.mcp.sample -> io.shinhanlife.dap.mcc.sample
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.dto;
|
package io.shinhanlife.dap.common.adapter.dto;
|
||||||
|
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
@@ -8,7 +8,7 @@ import lombok.Getter;
|
|||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.dto
|
* @package io.shinhanlife.dap.common.adapter.dto
|
||||||
* @className ErrorDetail
|
* @className ErrorDetail
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.dto;
|
package io.shinhanlife.dap.common.adapter.dto;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.dto
|
* @package io.shinhanlife.dap.common.adapter.dto
|
||||||
* @className JsonRpcRequest
|
* @className JsonRpcRequest
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.dto;
|
package io.shinhanlife.dap.common.adapter.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
@@ -6,7 +6,7 @@ import lombok.Setter;
|
|||||||
|
|
||||||
// 2. 응답 DTO
|
// 2. 응답 DTO
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.dto
|
* @package io.shinhanlife.dap.common.adapter.dto
|
||||||
* @className JsonRpcResponse
|
* @className JsonRpcResponse
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.dto;
|
package io.shinhanlife.dap.common.adapter.dto;
|
||||||
|
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
@@ -11,7 +11,7 @@ import lombok.Getter;
|
|||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.dto
|
* @package io.shinhanlife.dap.common.adapter.dto
|
||||||
* @className Params
|
* @className Params
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -15,8 +15,8 @@ package io.shinhanlife.dap.common.mcp.exception;
|
|||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.dto.ErrorDetail;
|
import io.shinhanlife.dap.common.adapter.dto.ErrorDetail;
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.dto.JsonRpcResponse;
|
import io.shinhanlife.dap.common.adapter.dto.JsonRpcResponse;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||||
|
|||||||
@@ -81,11 +81,11 @@ public class PodScaffolder {
|
|||||||
Files.writeString(modulePath.resolve("Dockerfile"), dockerfile);
|
Files.writeString(modulePath.resolve("Dockerfile"), dockerfile);
|
||||||
|
|
||||||
log.append("[4/6] Application 클래스 및 설정 파일 생성 중...\n");
|
log.append("[4/6] Application 클래스 및 설정 파일 생성 중...\n");
|
||||||
Path srcPath = modulePath.resolve("src/main/java/io/shinhanlife/dap/biz/mcp/tool/" + shortName);
|
Path srcPath = modulePath.resolve("src/main/java/io/shinhanlife/dap/mcc/" + shortName);
|
||||||
Files.createDirectories(srcPath);
|
Files.createDirectories(srcPath);
|
||||||
|
|
||||||
String appClass = """
|
String appClass = """
|
||||||
package io.shinhanlife.dap.biz.mcp.tool.%s;
|
package io.shinhanlife.dap.mcc.%s;
|
||||||
|
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
@@ -93,7 +93,7 @@ public class PodScaffolder {
|
|||||||
import org.springframework.cache.annotation.EnableCaching;
|
import org.springframework.cache.annotation.EnableCaching;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.tool.%s
|
* @package io.shinhanlife.dap.mcc.%s
|
||||||
* @className DapTool%sApplication
|
* @className DapTool%sApplication
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author %s
|
* @author %s
|
||||||
@@ -106,8 +106,8 @@ public class PodScaffolder {
|
|||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
@SpringBootApplication(scanBasePackages = {"io.shinhanlife.dap.biz.mcp.tool", "io.shinhanlife.dap.biz.mcp.adapter", "io.shinhanlife.dap.common.mcp", "io.shinhanlife.dap.common.config"})
|
@SpringBootApplication(scanBasePackages = {"io.shinhanlife.dap.mcc", "io.shinhanlife.dap.common.adapter", "io.shinhanlife.dap.common.mcp", "io.shinhanlife.dap.common.config"})
|
||||||
@ConfigurationPropertiesScan(basePackages = {"io.shinhanlife.dap.biz.mcp.tool", "io.shinhanlife.dap.biz.mcp.adapter", "io.shinhanlife.dap.common.mcp", "io.shinhanlife.dap.common.config"})
|
@ConfigurationPropertiesScan(basePackages = {"io.shinhanlife.dap.mcc", "io.shinhanlife.dap.common.adapter", "io.shinhanlife.dap.common.mcp", "io.shinhanlife.dap.common.config"})
|
||||||
@EnableCaching
|
@EnableCaching
|
||||||
public class DapTool%sApplication {
|
public class DapTool%sApplication {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|||||||
@@ -17,11 +17,11 @@ import java.util.Scanner;
|
|||||||
* - 콘솔 창에 뜨는 질문에 차례대로 값을 입력하기만 하면 파일이 생성됩니다.
|
* - 콘솔 창에 뜨는 질문에 차례대로 값을 입력하기만 하면 파일이 생성됩니다.
|
||||||
*
|
*
|
||||||
* 방법 2. 커맨드라인(터미널)에서 실행 (명령어 기반)
|
* 방법 2. 커맨드라인(터미널)에서 실행 (명령어 기반)
|
||||||
* - 컴파일: javac -encoding UTF-8 dap-tool-core/src/main/java/io/shinhanlife/dap/biz/mcp/tool/util/ToolScaffolder.java
|
* - 컴파일: javac -encoding UTF-8 dap-tool-core/src/main/java/io/shinhanlife/dap/mcc/util/ToolScaffolder.java
|
||||||
* - 실행: java -cp dap-tool-core/src/main/java io.shinhanlife.dap.biz.mcp.tool.util.ToolScaffolder [이름] [ID] "[설명]" "[그룹]" "[통신방식]" "[모듈명]"
|
* - 실행: java -cp dap-tool-core/src/main/java io.shinhanlife.dap.mcc.util.ToolScaffolder [이름] [ID] "[설명]" "[그룹]" "[통신방식]" "[모듈명]"
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.tool.util
|
* @package io.shinhanlife.dap.mcc.util
|
||||||
* @className ToolScaffolder
|
* @className ToolScaffolder
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -36,8 +36,8 @@ import java.util.Scanner;
|
|||||||
*/
|
*/
|
||||||
public class ToolScaffolder {
|
public class ToolScaffolder {
|
||||||
|
|
||||||
private static final String BASE_PACKAGE = "io.shinhanlife.dap.biz.mcp.tool";
|
private static final String BASE_PACKAGE = "io.shinhanlife.dap.mcc";
|
||||||
private static final String BASE_PACKAGE_PATH = "src/main/java/io/shinhanlife/dap/biz/mcp/tool";
|
private static final String BASE_PACKAGE_PATH = "src/main/java/io/shinhanlife/dap/mcc";
|
||||||
|
|
||||||
public static void main(String[] args) throws IOException {
|
public static void main(String[] args) throws IOException {
|
||||||
Scanner scanner = new Scanner(System.in);
|
Scanner scanner = new Scanner(System.in);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.dto;
|
package io.shinhanlife.dap.mcg.dto;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
@@ -15,7 +15,7 @@ import java.util.Map;
|
|||||||
* Redis 레지스트리에 저장되며, Planner와 Router 간의 통신 객체(Plan)로 사용됩니다.
|
* Redis 레지스트리에 저장되며, Planner와 Router 간의 통신 객체(Plan)로 사용됩니다.
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.dto
|
* @package io.shinhanlife.dap.mcg.dto
|
||||||
* @className ToolMetadata
|
* @className ToolMetadata
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.converter;
|
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.AthrOutDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.AthrSaveInDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.AthrSearchInDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.RoleListInDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.presentation.io.AthrSaveRequest;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.presentation.io.AthrSearchRequest;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.presentation.io.AthrSearchResponse;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.presentation.io.RoleListRequest;
|
|
||||||
import org.mapstruct.Mapper;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.converter
|
|
||||||
* @className AccessMgmtConverter
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
@Mapper(componentModel = "spring")
|
|
||||||
public abstract class AccessMgmtConverter {
|
|
||||||
|
|
||||||
public abstract RoleListInDto toInDto(RoleListRequest request);
|
|
||||||
|
|
||||||
public abstract AthrSearchInDto toInDto(AthrSearchRequest request);
|
|
||||||
|
|
||||||
public abstract AthrSaveInDto toInDto(AthrSaveRequest request);
|
|
||||||
|
|
||||||
public abstract AthrSearchResponse toResponse(AthrOutDto outDto);
|
|
||||||
}
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.domain.repository;
|
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.AthrItemOutDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.AthrSearchInDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.RoleKnwlAthrInDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.RoleListInDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.RoleListOutDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.RoleToolAthrInDto;
|
|
||||||
import io.shinhanlife.glow.GlowMybatisMapper;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.domain.repository
|
|
||||||
* @className AccessMgmtMapper
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
@GlowMybatisMapper
|
|
||||||
public interface AccessMgmtMapper {
|
|
||||||
|
|
||||||
List<RoleListOutDto> selectRoles(RoleListInDto inDto);
|
|
||||||
|
|
||||||
List<AthrItemOutDto> selectAllTools();
|
|
||||||
|
|
||||||
List<AthrItemOutDto> selectAllKnwls();
|
|
||||||
|
|
||||||
List<String> selectGrantedToolIds(AthrSearchInDto inDto);
|
|
||||||
|
|
||||||
List<String> selectGrantedKnwlIds(AthrSearchInDto inDto);
|
|
||||||
|
|
||||||
void deleteToolAthr(@Param("systId") String systId, @Param("roleNo") String roleNo);
|
|
||||||
|
|
||||||
void insertToolAthr(RoleToolAthrInDto inDto);
|
|
||||||
|
|
||||||
void deleteKnwlAthr(@Param("systId") String systId, @Param("roleNo") String roleNo);
|
|
||||||
|
|
||||||
void insertKnwlAthr(RoleKnwlAthrInDto inDto);
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.domain.service;
|
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.AthrOutDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.AthrSaveInDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.AthrSearchInDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.RoleListInDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.RoleListOutDto;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.domain.service
|
|
||||||
* @className AccessMgmtService
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
public interface AccessMgmtService {
|
|
||||||
|
|
||||||
List<RoleListOutDto> getRoles(RoleListInDto inDto);
|
|
||||||
|
|
||||||
AthrOutDto getAthr(AthrSearchInDto inDto);
|
|
||||||
|
|
||||||
void saveAthr(AthrSaveInDto inDto);
|
|
||||||
}
|
|
||||||
@@ -1,142 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.domain.service.impl;
|
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.domain.repository.AccessMgmtMapper;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.domain.service.AccessMgmtService;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.AthrItemOutDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.AthrOutDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.AthrSaveInDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.AthrSearchInDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.RoleKnwlAthrInDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.RoleListInDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.RoleListOutDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.RoleToolAthrInDto;
|
|
||||||
import io.shinhanlife.dap.common.util.SessionUtil;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.UUID;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.domain.service.impl
|
|
||||||
* @className AccessMgmtServiceImpl
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
public class AccessMgmtServiceImpl implements AccessMgmtService {
|
|
||||||
|
|
||||||
private final AccessMgmtMapper accessMgmtMapper;
|
|
||||||
|
|
||||||
private static final String SYSTEM_CD = "AXH";
|
|
||||||
private static final String SYSTEM_PRG = "SOATM0100";
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<RoleListOutDto> getRoles(RoleListInDto inDto) {
|
|
||||||
return accessMgmtMapper.selectRoles(inDto);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public AthrOutDto getAthr(AthrSearchInDto inDto) {
|
|
||||||
Set<String> grantedToolIds = accessMgmtMapper.selectGrantedToolIds(inDto)
|
|
||||||
.stream().collect(Collectors.toSet());
|
|
||||||
|
|
||||||
Set<String> grantedKnwlIds = accessMgmtMapper.selectGrantedKnwlIds(inDto)
|
|
||||||
.stream().collect(Collectors.toSet());
|
|
||||||
|
|
||||||
List<AthrItemOutDto> tools = accessMgmtMapper.selectAllTools()
|
|
||||||
.stream()
|
|
||||||
.peek(item -> item.setGranted(grantedToolIds.contains(item.getResourceId())))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
|
|
||||||
List<AthrItemOutDto> knwls = accessMgmtMapper.selectAllKnwls()
|
|
||||||
.stream()
|
|
||||||
.peek(item -> item.setGranted(grantedKnwlIds.contains(item.getResourceId())))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
|
|
||||||
return new AthrOutDto(tools, knwls);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Transactional
|
|
||||||
public void saveAthr(AthrSaveInDto inDto) {
|
|
||||||
Date now = new Date();
|
|
||||||
String systId = inDto.getSystId();
|
|
||||||
String roleNo = inDto.getRoleNo();
|
|
||||||
|
|
||||||
accessMgmtMapper.deleteToolAthr(systId, roleNo);
|
|
||||||
if (inDto.getGrantedToolIds() != null) {
|
|
||||||
for (String toolId : inDto.getGrantedToolIds()) {
|
|
||||||
accessMgmtMapper.insertToolAthr(buildToolAthrInDto(systId, roleNo, toolId, now));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
accessMgmtMapper.deleteKnwlAthr(systId, roleNo);
|
|
||||||
if (inDto.getGrantedKnwlIds() != null) {
|
|
||||||
for (String knwlId : inDto.getGrantedKnwlIds()) {
|
|
||||||
accessMgmtMapper.insertKnwlAthr(buildKnwlAthrInDto(systId, roleNo, knwlId, now));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private RoleToolAthrInDto buildToolAthrInDto(String systId, String roleNo, String toolId, Date now) {
|
|
||||||
RoleToolAthrInDto dto = new RoleToolAthrInDto();
|
|
||||||
dto.setRoleToolAthrId("RTA-" + shortUuid());
|
|
||||||
dto.setSystId(systId);
|
|
||||||
dto.setRoleNo(roleNo);
|
|
||||||
dto.setToolId(toolId);
|
|
||||||
dto.setPuseYn("Y");
|
|
||||||
fillAudit(dto, now);
|
|
||||||
return dto;
|
|
||||||
}
|
|
||||||
|
|
||||||
private RoleKnwlAthrInDto buildKnwlAthrInDto(String systId, String roleNo, String knwlId, Date now) {
|
|
||||||
RoleKnwlAthrInDto dto = new RoleKnwlAthrInDto();
|
|
||||||
dto.setRoleKnwlAthrId("RKA-" + shortUuid());
|
|
||||||
dto.setSystId(systId);
|
|
||||||
dto.setRoleNo(roleNo);
|
|
||||||
dto.setKnwlId(knwlId);
|
|
||||||
dto.setPuseYn("Y");
|
|
||||||
fillAudit(dto, now);
|
|
||||||
return dto;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void fillAudit(RoleToolAthrInDto dto, Date now) {
|
|
||||||
String prafNo = SessionUtil.getPrafNo();
|
|
||||||
String ognzNo = SessionUtil.getOgnzNo();
|
|
||||||
dto.setSystRgiDt(now); dto.setSystRgiPrafNo(prafNo);
|
|
||||||
dto.setSystRgiOgnzNo(ognzNo); dto.setSystRgiSystCd(SYSTEM_CD);
|
|
||||||
dto.setSystRgiPrgrId(SYSTEM_PRG);
|
|
||||||
dto.setSystChgDt(now); dto.setSystChgPrafNo(prafNo);
|
|
||||||
dto.setSystChgOgnzNo(ognzNo); dto.setSystChgSystCd(SYSTEM_CD);
|
|
||||||
dto.setSystChgPrgrId(SYSTEM_PRG);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void fillAudit(RoleKnwlAthrInDto dto, Date now) {
|
|
||||||
String prafNo = SessionUtil.getPrafNo();
|
|
||||||
String ognzNo = SessionUtil.getOgnzNo();
|
|
||||||
dto.setSystRgiDt(now); dto.setSystRgiPrafNo(prafNo);
|
|
||||||
dto.setSystRgiOgnzNo(ognzNo); dto.setSystRgiSystCd(SYSTEM_CD);
|
|
||||||
dto.setSystRgiPrgrId(SYSTEM_PRG);
|
|
||||||
dto.setSystChgDt(now); dto.setSystChgPrafNo(prafNo);
|
|
||||||
dto.setSystChgOgnzNo(ognzNo); dto.setSystChgSystCd(SYSTEM_CD);
|
|
||||||
dto.setSystChgPrgrId(SYSTEM_PRG);
|
|
||||||
}
|
|
||||||
|
|
||||||
private String shortUuid() {
|
|
||||||
return UUID.randomUUID().toString().replace("-", "").substring(0, 12).toUpperCase();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.dto;
|
|
||||||
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.Setter;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.dto
|
|
||||||
* @className AthrItemOutDto
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@Builder
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class AthrItemOutDto {
|
|
||||||
private String resourceId;
|
|
||||||
private String resourceNm;
|
|
||||||
private String resourceDs;
|
|
||||||
private String typeCode;
|
|
||||||
private boolean granted;
|
|
||||||
}
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.dto;
|
|
||||||
|
|
||||||
import lombok.Setter;
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Getter;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.dto
|
|
||||||
* @className AthrOutDto
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
@Getter
|
|
||||||
@AllArgsConstructor
|
|
||||||
@Setter
|
|
||||||
@Builder
|
|
||||||
@NoArgsConstructor
|
|
||||||
public class AthrOutDto {
|
|
||||||
private List<AthrItemOutDto> tools;
|
|
||||||
private List<AthrItemOutDto> knwls;
|
|
||||||
}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.dto;
|
|
||||||
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.Setter;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.dto
|
|
||||||
* @className AthrSaveInDto
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@Builder
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class AthrSaveInDto {
|
|
||||||
private String systId;
|
|
||||||
private String roleNo;
|
|
||||||
private List<String> grantedToolIds;
|
|
||||||
private List<String> grantedKnwlIds;
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.dto;
|
|
||||||
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.Setter;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.dto
|
|
||||||
* @className AthrSearchInDto
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@Builder
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class AthrSearchInDto {
|
|
||||||
private String systId;
|
|
||||||
private String roleNo;
|
|
||||||
}
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.dto;
|
|
||||||
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.Setter;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.dto
|
|
||||||
* @className RoleKnwlAthrInDto
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@Builder
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class RoleKnwlAthrInDto {
|
|
||||||
private String roleKnwlAthrId;
|
|
||||||
private String systId;
|
|
||||||
private String roleNo;
|
|
||||||
private String knwlId;
|
|
||||||
private String puseYn;
|
|
||||||
|
|
||||||
private Date systRgiDt;
|
|
||||||
private String systRgiPrafNo;
|
|
||||||
private String systRgiOgnzNo;
|
|
||||||
private String systRgiSystCd;
|
|
||||||
private String systRgiPrgrId;
|
|
||||||
private Date systChgDt;
|
|
||||||
private String systChgPrafNo;
|
|
||||||
private String systChgOgnzNo;
|
|
||||||
private String systChgSystCd;
|
|
||||||
private String systChgPrgrId;
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.dto;
|
|
||||||
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.Setter;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.dto
|
|
||||||
* @className RoleListInDto
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@Builder
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class RoleListInDto {
|
|
||||||
private String systId;
|
|
||||||
private String puseYn;
|
|
||||||
private String keyword;
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.dto;
|
|
||||||
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.Setter;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.dto
|
|
||||||
* @className RoleListOutDto
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@Builder
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class RoleListOutDto {
|
|
||||||
private String systId;
|
|
||||||
private String roleNo;
|
|
||||||
private String roleNm;
|
|
||||||
private String roleDs;
|
|
||||||
private String puseYn;
|
|
||||||
}
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.dto;
|
|
||||||
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.Setter;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.dto
|
|
||||||
* @className RoleToolAthrInDto
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@Builder
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class RoleToolAthrInDto {
|
|
||||||
private String roleToolAthrId;
|
|
||||||
private String systId;
|
|
||||||
private String roleNo;
|
|
||||||
private String toolId;
|
|
||||||
private String puseYn;
|
|
||||||
|
|
||||||
private Date systRgiDt;
|
|
||||||
private String systRgiPrafNo;
|
|
||||||
private String systRgiOgnzNo;
|
|
||||||
private String systRgiSystCd;
|
|
||||||
private String systRgiPrgrId;
|
|
||||||
private Date systChgDt;
|
|
||||||
private String systChgPrafNo;
|
|
||||||
private String systChgOgnzNo;
|
|
||||||
private String systChgSystCd;
|
|
||||||
private String systChgPrgrId;
|
|
||||||
}
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.presentation;
|
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.RoleListOutDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.presentation.io.AthrSaveRequest;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.presentation.io.AthrSearchRequest;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.presentation.io.AthrSearchResponse;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.presentation.io.RoleListRequest;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.usecase.AccessMgmtUseCase;
|
|
||||||
import io.shinhanlife.glow.BaseResponse;
|
|
||||||
import io.shinhanlife.glow.ResponseUtil;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.http.ResponseEntity;
|
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.presentation
|
|
||||||
* @className SOATM0100Controller
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/so/atm")
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
public class SOATM0100Controller {
|
|
||||||
|
|
||||||
private final AccessMgmtUseCase accessMgmtUseCase;
|
|
||||||
|
|
||||||
@PostMapping("/SOATM0100R")
|
|
||||||
public ResponseEntity<BaseResponse<List<RoleListOutDto>>> getRoles(
|
|
||||||
@RequestBody RoleListRequest request) {
|
|
||||||
return ResponseUtil.ok(accessMgmtUseCase.getRoles(request));
|
|
||||||
}
|
|
||||||
|
|
||||||
@PostMapping("/SOATM0101R")
|
|
||||||
public ResponseEntity<BaseResponse<AthrSearchResponse>> getAthr(
|
|
||||||
@RequestBody AthrSearchRequest request) {
|
|
||||||
return ResponseUtil.ok(accessMgmtUseCase.getAthr(request));
|
|
||||||
}
|
|
||||||
|
|
||||||
@PostMapping("/SOATM0100U")
|
|
||||||
public ResponseEntity<BaseResponse<Void>> saveAthr(
|
|
||||||
@RequestBody AthrSaveRequest request) {
|
|
||||||
accessMgmtUseCase.saveAthr(request);
|
|
||||||
return ResponseUtil.ok();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.presentation.io;
|
|
||||||
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.Setter;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.presentation.io
|
|
||||||
* @className AthrSaveRequest
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
public class AthrSaveRequest {
|
|
||||||
private String systId;
|
|
||||||
private String roleNo;
|
|
||||||
private List<String> grantedToolIds;
|
|
||||||
private List<String> grantedKnwlIds;
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.presentation.io;
|
|
||||||
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.Setter;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.presentation.io
|
|
||||||
* @className AthrSearchRequest
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
public class AthrSearchRequest {
|
|
||||||
private String systId;
|
|
||||||
private String roleNo;
|
|
||||||
}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.presentation.io;
|
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.AthrItemOutDto;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Getter;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.presentation.io
|
|
||||||
* @className AthrSearchResponse
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
@Getter
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class AthrSearchResponse {
|
|
||||||
private List<AthrItemOutDto> tools;
|
|
||||||
private List<AthrItemOutDto> knwls;
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.presentation.io;
|
|
||||||
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.Setter;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.presentation.io
|
|
||||||
* @className RoleListRequest
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
public class RoleListRequest {
|
|
||||||
private String systId;
|
|
||||||
private String puseYn;
|
|
||||||
private String keyword;
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.usecase;
|
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.RoleListOutDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.presentation.io.AthrSaveRequest;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.presentation.io.AthrSearchRequest;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.presentation.io.AthrSearchResponse;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.presentation.io.RoleListRequest;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.usecase
|
|
||||||
* @className AccessMgmtUseCase
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
public interface AccessMgmtUseCase {
|
|
||||||
|
|
||||||
List<RoleListOutDto> getRoles(RoleListRequest request);
|
|
||||||
|
|
||||||
AthrSearchResponse getAthr(AthrSearchRequest request);
|
|
||||||
|
|
||||||
void saveAthr(AthrSaveRequest request);
|
|
||||||
}
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
package io.shinhanlife.dap.biz.so.atm.usecase.impl;
|
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.converter.AccessMgmtConverter;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.domain.service.AccessMgmtService;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.dto.RoleListOutDto;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.presentation.io.AthrSaveRequest;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.presentation.io.AthrSearchRequest;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.presentation.io.AthrSearchResponse;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.presentation.io.RoleListRequest;
|
|
||||||
import io.shinhanlife.dap.biz.so.atm.usecase.AccessMgmtUseCase;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package io.shinhanlife.dap.biz.so.atm.usecase.impl
|
|
||||||
* @className AccessMgmtUseCaseImpl
|
|
||||||
* @description AX HUB 시스템 처리 클래스
|
|
||||||
* @author 김형식
|
|
||||||
* @create 2026.09.01
|
|
||||||
* <pre>
|
|
||||||
* ---------- 개정이력 ----------
|
|
||||||
* 수정일 수정자 수정내용
|
|
||||||
* ---------- -------- ---------------------------
|
|
||||||
* 2026.09.01 김형식 최초생성
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
public class AccessMgmtUseCaseImpl implements AccessMgmtUseCase {
|
|
||||||
|
|
||||||
private final AccessMgmtService accessMgmtService;
|
|
||||||
private final AccessMgmtConverter converter;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<RoleListOutDto> getRoles(RoleListRequest request) {
|
|
||||||
return accessMgmtService.getRoles(converter.toInDto(request));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public AthrSearchResponse getAthr(AthrSearchRequest request) {
|
|
||||||
return converter.toResponse(accessMgmtService.getAthr(converter.toInDto(request)));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void saveAthr(AthrSaveRequest request) {
|
|
||||||
accessMgmtService.saveAthr(converter.toInDto(request));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway;
|
package io.shinhanlife.dap.mcg;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway
|
* @package io.shinhanlife.dap.mcg
|
||||||
* @className DapGatewayApplication
|
* @className DapGatewayApplication
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -20,8 +20,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|||||||
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
|
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
|
||||||
import org.springframework.cache.annotation.EnableCaching;
|
import org.springframework.cache.annotation.EnableCaching;
|
||||||
|
|
||||||
@SpringBootApplication(scanBasePackages = {"io.shinhanlife.dap.biz.mcp.gateway", "io.shinhanlife.dap.common.mcp", "io.shinhanlife.dap.common.config"})
|
@SpringBootApplication(scanBasePackages = {"io.shinhanlife.dap.mcg", "io.shinhanlife.dap.common.mcp", "io.shinhanlife.dap.common.config"})
|
||||||
@ConfigurationPropertiesScan(basePackages = {"io.shinhanlife.dap.biz.mcp.gateway", "io.shinhanlife.dap.common.mcp", "io.shinhanlife.dap.common.config"})
|
@ConfigurationPropertiesScan(basePackages = {"io.shinhanlife.dap.mcg", "io.shinhanlife.dap.common.mcp", "io.shinhanlife.dap.common.config"})
|
||||||
@EnableCaching
|
@EnableCaching
|
||||||
public class DapGatewayApplication {
|
public class DapGatewayApplication {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.aop;
|
package io.shinhanlife.dap.mcg.aop;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.aspectj.lang.ProceedingJoinPoint;
|
import org.aspectj.lang.ProceedingJoinPoint;
|
||||||
@@ -8,7 +8,7 @@ import org.springframework.stereotype.Component;
|
|||||||
import org.springframework.util.StopWatch;
|
import org.springframework.util.StopWatch;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.aop
|
* @package io.shinhanlife.dap.mcg.aop
|
||||||
* @className GatewayLoggingAspect
|
* @className GatewayLoggingAspect
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -27,7 +27,7 @@ import org.springframework.util.StopWatch;
|
|||||||
public class GatewayLoggingAspect {
|
public class GatewayLoggingAspect {
|
||||||
|
|
||||||
// gateway의 controller 패키지 하위의 모든 클래스/메서드 실행 시 작동
|
// gateway의 controller 패키지 하위의 모든 클래스/메서드 실행 시 작동
|
||||||
@Around("execution(* io.shinhanlife.dap.biz.mcp.gateway.presentation..*(..))")
|
@Around("execution(* io.shinhanlife.dap.mcg.presentation..*(..))")
|
||||||
public Object logGatewayExecutionTime(ProceedingJoinPoint joinPoint) throws Throwable {
|
public Object logGatewayExecutionTime(ProceedingJoinPoint joinPoint) throws Throwable {
|
||||||
String targetMethod = joinPoint.getSignature().toShortString();
|
String targetMethod = joinPoint.getSignature().toShortString();
|
||||||
StopWatch stopWatch = new StopWatch();
|
StopWatch stopWatch = new StopWatch();
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.audit;
|
package io.shinhanlife.dap.mcg.audit;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.audit
|
* @package io.shinhanlife.dap.mcg.audit
|
||||||
* @className AuditLogService
|
* @className AuditLogService
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -15,9 +15,9 @@ package io.shinhanlife.dap.biz.mcp.gateway.audit;
|
|||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties;
|
import io.shinhanlife.dap.mcg.config.McpGatewayProperties;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.guardrail.SensitiveDataMasker;
|
import io.shinhanlife.dap.mcg.guardrail.SensitiveDataMasker;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.security.McpRequestContext;
|
import io.shinhanlife.dap.mcg.security.McpRequestContext;
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.config;
|
package io.shinhanlife.dap.mcg.config;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.config
|
* @package io.shinhanlife.dap.mcg.config
|
||||||
* @className AgentResponseBudgetProperties
|
* @className AgentResponseBudgetProperties
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.config;
|
package io.shinhanlife.dap.mcg.config;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
@@ -8,7 +8,7 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.config
|
* @package io.shinhanlife.dap.mcg.config
|
||||||
* @className GatewayFallbackProperties
|
* @className GatewayFallbackProperties
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.config;
|
package io.shinhanlife.dap.mcg.config;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.config
|
* @package io.shinhanlife.dap.mcg.config
|
||||||
* @className McpGatewayProperties
|
* @className McpGatewayProperties
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.config;
|
package io.shinhanlife.dap.mcg.config;
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
|
import io.shinhanlife.dap.mcg.dto.ToolMetadata;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
||||||
@@ -10,7 +10,7 @@ import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
|
|||||||
import org.springframework.data.redis.serializer.StringRedisSerializer;
|
import org.springframework.data.redis.serializer.StringRedisSerializer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.config
|
* @package io.shinhanlife.dap.mcg.config
|
||||||
* @className RedisConfig
|
* @className RedisConfig
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.dto;
|
package io.shinhanlife.dap.mcg.dto;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.dto
|
* @package io.shinhanlife.dap.mcg.dto
|
||||||
* @className OperationType
|
* @className OperationType
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.dto;
|
package io.shinhanlife.dap.mcg.dto;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
@@ -17,7 +17,7 @@ import java.util.HashSet;
|
|||||||
* Redis 레지스트리에 저장되며, Planner와 Router 간의 통신 객체(Plan)로 사용됩니다.
|
* Redis 레지스트리에 저장되며, Planner와 Router 간의 통신 객체(Plan)로 사용됩니다.
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.dto
|
* @package io.shinhanlife.dap.mcg.dto
|
||||||
* @className ToolMetadata
|
* @className ToolMetadata
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.guardrail;
|
package io.shinhanlife.dap.mcg.guardrail;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.guardrail
|
* @package io.shinhanlife.dap.mcg.guardrail
|
||||||
* @className GuardrailService
|
* @className GuardrailService
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -15,9 +15,9 @@ package io.shinhanlife.dap.biz.mcp.gateway.guardrail;
|
|||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.resilience.FailureType;
|
import io.shinhanlife.dap.mcg.resilience.FailureType;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.resilience.ToolExecutionException;
|
import io.shinhanlife.dap.mcg.resilience.ToolExecutionException;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
|
import io.shinhanlife.dap.mcg.dto.ToolMetadata;
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.guardrail;
|
package io.shinhanlife.dap.mcg.guardrail;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.guardrail
|
* @package io.shinhanlife.dap.mcg.guardrail
|
||||||
* @className SensitiveDataMasker
|
* @className SensitiveDataMasker
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.guardrail;
|
package io.shinhanlife.dap.mcg.guardrail;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.guardrail
|
* @package io.shinhanlife.dap.mcg.guardrail
|
||||||
* @className ToolResponseGuardrailService
|
* @className ToolResponseGuardrailService
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -15,9 +15,9 @@ package io.shinhanlife.dap.biz.mcp.gateway.guardrail;
|
|||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.resilience.FailureType;
|
import io.shinhanlife.dap.mcg.resilience.FailureType;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.resilience.ToolExecutionException;
|
import io.shinhanlife.dap.mcg.resilience.ToolExecutionException;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
|
import io.shinhanlife.dap.mcg.dto.ToolMetadata;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.messaging;
|
package io.shinhanlife.dap.mcg.messaging;
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -10,7 +10,7 @@ import java.util.Map;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.messaging
|
* @package io.shinhanlife.dap.mcg.messaging
|
||||||
* @className KafkaProducerService
|
* @className KafkaProducerService
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.presentation;
|
package io.shinhanlife.dap.mcg.presentation;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.presentation
|
* @package io.shinhanlife.dap.mcg.presentation
|
||||||
* @className ChatController
|
* @className ChatController
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -15,9 +15,9 @@ package io.shinhanlife.dap.biz.mcp.gateway.presentation;
|
|||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
|
import io.shinhanlife.dap.mcg.dto.ToolMetadata;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.registry.RedisRegistryService;
|
import io.shinhanlife.dap.mcg.registry.RedisRegistryService;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.service.ExecuteService;
|
import io.shinhanlife.dap.mcg.service.ExecuteService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.ai.chat.client.ChatClient;
|
import org.springframework.ai.chat.client.ChatClient;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.presentation;
|
package io.shinhanlife.dap.mcg.presentation;
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.service.KillSwitchService;
|
import io.shinhanlife.dap.mcg.service.KillSwitchService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@@ -8,7 +8,7 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.presentation
|
* @package io.shinhanlife.dap.mcg.presentation
|
||||||
* @className KillSwitchController
|
* @className KillSwitchController
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.presentation;
|
package io.shinhanlife.dap.mcg.presentation;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.presentation
|
* @package io.shinhanlife.dap.mcg.presentation
|
||||||
* @className McpRouterController
|
* @className McpRouterController
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -16,13 +16,13 @@ package io.shinhanlife.dap.biz.mcp.gateway.presentation;
|
|||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.dto.JsonRpcRequest;
|
import io.shinhanlife.dap.common.adapter.dto.JsonRpcRequest;
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.dto.JsonRpcResponse;
|
import io.shinhanlife.dap.common.adapter.dto.JsonRpcResponse;
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.dto.Params;
|
import io.shinhanlife.dap.common.adapter.dto.Params;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.config.GatewayFallbackProperties;
|
import io.shinhanlife.dap.mcg.config.GatewayFallbackProperties;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
|
import io.shinhanlife.dap.mcg.dto.ToolMetadata;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.registry.RedisRegistryService;
|
import io.shinhanlife.dap.mcg.registry.RedisRegistryService;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.service.ExecuteService;
|
import io.shinhanlife.dap.mcg.service.ExecuteService;
|
||||||
import io.shinhanlife.dap.common.mcp.security.SecurityProperties;
|
import io.shinhanlife.dap.common.mcp.security.SecurityProperties;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
@@ -91,7 +91,7 @@ public class McpRouterController {
|
|||||||
try {
|
try {
|
||||||
Object result = executeService.execute(payload, effectiveTenantId);
|
Object result = executeService.execute(payload, effectiveTenantId);
|
||||||
|
|
||||||
io.shinhanlife.dap.biz.mcp.adapter.dto.JsonRpcResponse response = new io.shinhanlife.dap.biz.mcp.adapter.dto.JsonRpcResponse();
|
io.shinhanlife.dap.common.adapter.dto.JsonRpcResponse response = new io.shinhanlife.dap.common.adapter.dto.JsonRpcResponse();
|
||||||
response.setJsonrpc("2.0");
|
response.setJsonrpc("2.0");
|
||||||
response.setId(payload.containsKey("id") ? String.valueOf(payload.get("id")) : UUID.randomUUID().toString());
|
response.setId(payload.containsKey("id") ? String.valueOf(payload.get("id")) : UUID.randomUUID().toString());
|
||||||
response.setResult(result);
|
response.setResult(result);
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.presentation;
|
package io.shinhanlife.dap.mcg.presentation;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.presentation
|
* @package io.shinhanlife.dap.mcg.presentation
|
||||||
* @className ScaffoldingController
|
* @className ScaffoldingController
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.redis;
|
package io.shinhanlife.dap.mcg.redis;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.redis
|
* @package io.shinhanlife.dap.mcg.redis
|
||||||
* @className McpMonitorEventService
|
* @className McpMonitorEventService
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.redis;
|
package io.shinhanlife.dap.mcg.redis;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.redis
|
* @package io.shinhanlife.dap.mcg.redis
|
||||||
* @className RedisToolTraceService
|
* @className RedisToolTraceService
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -15,10 +15,10 @@ package io.shinhanlife.dap.biz.mcp.gateway.redis;
|
|||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties;
|
import io.shinhanlife.dap.mcg.config.McpGatewayProperties;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.guardrail.SensitiveDataMasker;
|
import io.shinhanlife.dap.mcg.guardrail.SensitiveDataMasker;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.security.McpRequestContext;
|
import io.shinhanlife.dap.mcg.security.McpRequestContext;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
|
import io.shinhanlife.dap.mcg.dto.ToolMetadata;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.ObjectProvider;
|
import org.springframework.beans.factory.ObjectProvider;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.registry;
|
package io.shinhanlife.dap.mcg.registry;
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
|
import io.shinhanlife.dap.mcg.dto.ToolMetadata;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
@@ -13,7 +13,7 @@ import java.util.stream.Collectors;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.registry
|
* @package io.shinhanlife.dap.mcg.registry
|
||||||
* @className RedisRegistryService
|
* @className RedisRegistryService
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.resilience;
|
package io.shinhanlife.dap.mcg.resilience;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.resilience
|
* @package io.shinhanlife.dap.mcg.resilience
|
||||||
* @className CircuitBreaker
|
* @className CircuitBreaker
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.resilience;
|
package io.shinhanlife.dap.mcg.resilience;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.resilience
|
* @package io.shinhanlife.dap.mcg.resilience
|
||||||
* @className CircuitBreakerMonitorController
|
* @className CircuitBreakerMonitorController
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.resilience;
|
package io.shinhanlife.dap.mcg.resilience;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.resilience
|
* @package io.shinhanlife.dap.mcg.resilience
|
||||||
* @className CircuitBreakerService
|
* @className CircuitBreakerService
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -15,7 +15,7 @@ package io.shinhanlife.dap.biz.mcp.gateway.resilience;
|
|||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties;
|
import io.shinhanlife.dap.mcg.config.McpGatewayProperties;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.time.Clock;
|
import java.time.Clock;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.resilience;
|
package io.shinhanlife.dap.mcg.resilience;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.resilience
|
* @package io.shinhanlife.dap.mcg.resilience
|
||||||
* @className CircuitBreakerSnapshot
|
* @className CircuitBreakerSnapshot
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.resilience;
|
package io.shinhanlife.dap.mcg.resilience;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.resilience
|
* @package io.shinhanlife.dap.mcg.resilience
|
||||||
* @className CircuitBreakerState
|
* @className CircuitBreakerState
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.resilience;
|
package io.shinhanlife.dap.mcg.resilience;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.resilience
|
* @package io.shinhanlife.dap.mcg.resilience
|
||||||
* @className FailureType
|
* @className FailureType
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.resilience;
|
package io.shinhanlife.dap.mcg.resilience;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.resilience
|
* @package io.shinhanlife.dap.mcg.resilience
|
||||||
* @className RetryPolicy
|
* @className RetryPolicy
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.resilience;
|
package io.shinhanlife.dap.mcg.resilience;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.resilience
|
* @package io.shinhanlife.dap.mcg.resilience
|
||||||
* @className ToolExecutionException
|
* @className ToolExecutionException
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.security;
|
package io.shinhanlife.dap.mcg.security;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.security
|
* @package io.shinhanlife.dap.mcg.security
|
||||||
* @className McpRequestContext
|
* @className McpRequestContext
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.security;
|
package io.shinhanlife.dap.mcg.security;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.security
|
* @package io.shinhanlife.dap.mcg.security
|
||||||
* @className McpRequestContextResolver
|
* @className McpRequestContextResolver
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.security;
|
package io.shinhanlife.dap.mcg.security;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.security
|
* @package io.shinhanlife.dap.mcg.security
|
||||||
* @className ToolAuthorizationService
|
* @className ToolAuthorizationService
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -15,11 +15,11 @@ package io.shinhanlife.dap.biz.mcp.gateway.security;
|
|||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties;
|
import io.shinhanlife.dap.mcg.config.McpGatewayProperties;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.resilience.FailureType;
|
import io.shinhanlife.dap.mcg.resilience.FailureType;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.resilience.ToolExecutionException;
|
import io.shinhanlife.dap.mcg.resilience.ToolExecutionException;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.dto.OperationType;
|
import io.shinhanlife.dap.mcg.dto.OperationType;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
|
import io.shinhanlife.dap.mcg.dto.ToolMetadata;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.service;
|
package io.shinhanlife.dap.mcg.service;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.service
|
* @package io.shinhanlife.dap.mcg.service
|
||||||
* @className ExecuteService
|
* @className ExecuteService
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -17,21 +17,21 @@ package io.shinhanlife.dap.biz.mcp.gateway.service;
|
|||||||
*/
|
*/
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
|
import io.shinhanlife.dap.mcg.dto.ToolMetadata;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.resilience.FailureType;
|
import io.shinhanlife.dap.mcg.resilience.FailureType;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.resilience.RetryPolicy;
|
import io.shinhanlife.dap.mcg.resilience.RetryPolicy;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.resilience.ToolExecutionException;
|
import io.shinhanlife.dap.mcg.resilience.ToolExecutionException;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.dto.OperationType;
|
import io.shinhanlife.dap.mcg.dto.OperationType;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties;
|
import io.shinhanlife.dap.mcg.config.McpGatewayProperties;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.guardrail.SensitiveDataMasker;
|
import io.shinhanlife.dap.mcg.guardrail.SensitiveDataMasker;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.guardrail.GuardrailService;
|
import io.shinhanlife.dap.mcg.guardrail.GuardrailService;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.security.McpRequestContext;
|
import io.shinhanlife.dap.mcg.security.McpRequestContext;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.security.McpRequestContextResolver;
|
import io.shinhanlife.dap.mcg.security.McpRequestContextResolver;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.audit.AuditLogService;
|
import io.shinhanlife.dap.mcg.audit.AuditLogService;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.resilience.CircuitBreaker;
|
import io.shinhanlife.dap.mcg.resilience.CircuitBreaker;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.resilience.CircuitBreakerService;
|
import io.shinhanlife.dap.mcg.resilience.CircuitBreakerService;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.security.ToolAuthorizationService;
|
import io.shinhanlife.dap.mcg.security.ToolAuthorizationService;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.redis.RedisToolTraceService;
|
import io.shinhanlife.dap.mcg.redis.RedisToolTraceService;
|
||||||
|
|
||||||
import jakarta.annotation.PreDestroy;
|
import jakarta.annotation.PreDestroy;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -44,12 +44,12 @@ import org.springframework.web.client.RestClient;
|
|||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.tool.large.LargeToolResponseService;
|
import io.shinhanlife.dap.mcg.tool.large.LargeToolResponseService;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.tool.large.PaginationRequestValidator;
|
import io.shinhanlife.dap.mcg.tool.large.PaginationRequestValidator;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.tool.result.ToolExecutionResultFormatter;
|
import io.shinhanlife.dap.mcg.tool.result.ToolExecutionResultFormatter;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.tool.result.ToolExecutionResult;
|
import io.shinhanlife.dap.mcg.tool.result.ToolExecutionResult;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.guardrail.ToolResponseGuardrailService;
|
import io.shinhanlife.dap.mcg.guardrail.ToolResponseGuardrailService;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.transport.ToolInvoker;
|
import io.shinhanlife.dap.mcg.transport.ToolInvoker;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.service;
|
package io.shinhanlife.dap.mcg.service;
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -6,7 +6,7 @@ import org.springframework.data.redis.core.StringRedisTemplate;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.service
|
* @package io.shinhanlife.dap.mcg.service
|
||||||
* @className KillSwitchService
|
* @className KillSwitchService
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.service;
|
package io.shinhanlife.dap.mcg.service;
|
||||||
|
|
||||||
import io.shinhanlife.dap.common.mcp.security.SecurityProperties;
|
import io.shinhanlife.dap.common.mcp.security.SecurityProperties;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.registry.RedisRegistryService;
|
import io.shinhanlife.dap.mcg.registry.RedisRegistryService;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
|
import io.shinhanlife.dap.mcg.dto.ToolMetadata;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.config.GatewayFallbackProperties;
|
import io.shinhanlife.dap.mcg.config.GatewayFallbackProperties;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@@ -12,7 +12,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.service
|
* @package io.shinhanlife.dap.mcg.service
|
||||||
* @className ToolPlanner
|
* @className ToolPlanner
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.sync;
|
package io.shinhanlife.dap.mcg.sync;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.sync
|
* @package io.shinhanlife.dap.mcg.sync
|
||||||
* @className CustomWebMvcSseServerTransportProvider
|
* @className CustomWebMvcSseServerTransportProvider
|
||||||
* @description AX HUB MCP Gateway SSE 전송 제공자 - SSE 기반의 MCP 서버 트랜스포트를 구현하는 클래스
|
* @description AX HUB MCP Gateway SSE 전송 제공자 - SSE 기반의 MCP 서버 트랜스포트를 구현하는 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.sync;
|
package io.shinhanlife.dap.mcg.sync;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.sync
|
* @package io.shinhanlife.dap.mcg.sync
|
||||||
* @className DynamicMcpController
|
* @className DynamicMcpController
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.RequestHeader;
|
|||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
|
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.sync.CustomWebMvcSseServerTransportProvider;
|
import io.shinhanlife.dap.mcg.sync.CustomWebMvcSseServerTransportProvider;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
public class DynamicMcpController {
|
public class DynamicMcpController {
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.sync;
|
package io.shinhanlife.dap.mcg.sync;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.sync
|
* @package io.shinhanlife.dap.mcg.sync
|
||||||
* @className DynamicMcpServerManager
|
* @className DynamicMcpServerManager
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -18,8 +18,8 @@ package io.shinhanlife.dap.biz.mcp.gateway.sync;
|
|||||||
import io.modelcontextprotocol.spec.McpSchema.ServerCapabilities;
|
import io.modelcontextprotocol.spec.McpSchema.ServerCapabilities;
|
||||||
import io.modelcontextprotocol.server.McpServer;
|
import io.modelcontextprotocol.server.McpServer;
|
||||||
import io.modelcontextprotocol.server.McpSyncServer;
|
import io.modelcontextprotocol.server.McpSyncServer;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
|
import io.shinhanlife.dap.mcg.dto.ToolMetadata;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.sync.CustomWebMvcSseServerTransportProvider;
|
import io.shinhanlife.dap.mcg.sync.CustomWebMvcSseServerTransportProvider;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.sync;
|
package io.shinhanlife.dap.mcg.sync;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.sync
|
* @package io.shinhanlife.dap.mcg.sync
|
||||||
* @className RegistryMcpToolSpecificationFactory
|
* @className RegistryMcpToolSpecificationFactory
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -15,11 +15,11 @@ package io.shinhanlife.dap.biz.mcp.gateway.sync;
|
|||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
|
import io.shinhanlife.dap.mcg.dto.ToolMetadata;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.service.ExecuteService;
|
import io.shinhanlife.dap.mcg.service.ExecuteService;
|
||||||
import io.modelcontextprotocol.server.McpServerFeatures;
|
import io.modelcontextprotocol.server.McpServerFeatures;
|
||||||
import io.modelcontextprotocol.spec.McpSchema;
|
import io.modelcontextprotocol.spec.McpSchema;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.tool.result.ToolExecutionResult;
|
import io.shinhanlife.dap.mcg.tool.result.ToolExecutionResult;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import com.fasterxml.jackson.core.type.TypeReference;
|
import com.fasterxml.jackson.core.type.TypeReference;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.sync;
|
package io.shinhanlife.dap.mcg.sync;
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
|
import io.shinhanlife.dap.mcg.dto.ToolMetadata;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.registry.RedisRegistryService;
|
import io.shinhanlife.dap.mcg.registry.RedisRegistryService;
|
||||||
import io.modelcontextprotocol.server.McpSyncServer;
|
import io.modelcontextprotocol.server.McpSyncServer;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@@ -19,7 +19,7 @@ import java.util.concurrent.locks.ReentrantLock;
|
|||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.sync
|
* @package io.shinhanlife.dap.mcg.sync
|
||||||
* @className RegistryMcpToolSynchronizer
|
* @className RegistryMcpToolSynchronizer
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.tool.large;
|
package io.shinhanlife.dap.mcg.tool.large;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.tool.large
|
* @package io.shinhanlife.dap.mcg.tool.large
|
||||||
* @className AgentResponseBudgetService
|
* @className AgentResponseBudgetService
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -18,8 +18,8 @@ package io.shinhanlife.dap.biz.mcp.gateway.tool.large;
|
|||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.config.AgentResponseBudgetProperties;
|
import io.shinhanlife.dap.mcg.config.AgentResponseBudgetProperties;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.guardrail.SensitiveDataMasker;
|
import io.shinhanlife.dap.mcg.guardrail.SensitiveDataMasker;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.tool.large;
|
package io.shinhanlife.dap.mcg.tool.large;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.tool.large
|
* @package io.shinhanlife.dap.mcg.tool.large
|
||||||
* @className LargeToolResponseService
|
* @className LargeToolResponseService
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -17,10 +17,10 @@ package io.shinhanlife.dap.biz.mcp.gateway.tool.large;
|
|||||||
*/
|
*/
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties;
|
import io.shinhanlife.dap.mcg.config.McpGatewayProperties;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.guardrail.SensitiveDataMasker;
|
import io.shinhanlife.dap.mcg.guardrail.SensitiveDataMasker;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.resilience.FailureType;
|
import io.shinhanlife.dap.mcg.resilience.FailureType;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.resilience.ToolExecutionException;
|
import io.shinhanlife.dap.mcg.resilience.ToolExecutionException;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.tool.large;
|
package io.shinhanlife.dap.mcg.tool.large;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.tool.large
|
* @package io.shinhanlife.dap.mcg.tool.large
|
||||||
* @className PaginationRequestValidator
|
* @className PaginationRequestValidator
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -15,9 +15,9 @@ package io.shinhanlife.dap.biz.mcp.gateway.tool.large;
|
|||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties;
|
import io.shinhanlife.dap.mcg.config.McpGatewayProperties;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.resilience.FailureType;
|
import io.shinhanlife.dap.mcg.resilience.FailureType;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.resilience.ToolExecutionException;
|
import io.shinhanlife.dap.mcg.resilience.ToolExecutionException;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.tool.result;
|
package io.shinhanlife.dap.mcg.tool.result;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.tool.result
|
* @package io.shinhanlife.dap.mcg.tool.result
|
||||||
* @className ToolExecutionResult
|
* @className ToolExecutionResult
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.tool.result;
|
package io.shinhanlife.dap.mcg.tool.result;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.tool.result
|
* @package io.shinhanlife.dap.mcg.tool.result
|
||||||
* @className ToolExecutionResultFormatter
|
* @className ToolExecutionResultFormatter
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -15,7 +15,7 @@ package io.shinhanlife.dap.biz.mcp.gateway.tool.result;
|
|||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.guardrail.SensitiveDataMasker;
|
import io.shinhanlife.dap.mcg.guardrail.SensitiveDataMasker;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.transport;
|
package io.shinhanlife.dap.mcg.transport;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.transport
|
* @package io.shinhanlife.dap.mcg.transport
|
||||||
* @className HttpToolInvoker
|
* @className HttpToolInvoker
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -15,8 +15,8 @@ package io.shinhanlife.dap.biz.mcp.gateway.transport;
|
|||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.resilience.FailureType;
|
import io.shinhanlife.dap.mcg.resilience.FailureType;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.resilience.ToolExecutionException;
|
import io.shinhanlife.dap.mcg.resilience.ToolExecutionException;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.web.client.RestClient;
|
import org.springframework.web.client.RestClient;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.transport;
|
package io.shinhanlife.dap.mcg.transport;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.transport
|
* @package io.shinhanlife.dap.mcg.transport
|
||||||
* @className ToolInvoker
|
* @className ToolInvoker
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway;
|
package io.shinhanlife.dap.mcg;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway
|
* @package io.shinhanlife.dap.mcg
|
||||||
* @className DapGatewayApplicationTests
|
* @className DapGatewayApplicationTests
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -19,8 +19,8 @@ import org.junit.jupiter.api.Test;
|
|||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.test.context.ActiveProfiles;
|
import org.springframework.test.context.ActiveProfiles;
|
||||||
import org.springframework.test.context.bean.override.mockito.MockitoBean;
|
import org.springframework.test.context.bean.override.mockito.MockitoBean;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.audit.AuditLogService;
|
import io.shinhanlife.dap.mcg.audit.AuditLogService;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.redis.RedisToolTraceService;
|
import io.shinhanlife.dap.mcg.redis.RedisToolTraceService;
|
||||||
|
|
||||||
@SpringBootTest
|
@SpringBootTest
|
||||||
@ActiveProfiles("test")
|
@ActiveProfiles("test")
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.gateway.tool.large;
|
package io.shinhanlife.dap.mcg.tool.large;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.gateway.tool.large
|
* @package io.shinhanlife.dap.mcg.tool.large
|
||||||
* @className PaginationRequestValidatorTest
|
* @className PaginationRequestValidatorTest
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -17,8 +17,8 @@ package io.shinhanlife.dap.biz.mcp.gateway.tool.large;
|
|||||||
*/
|
*/
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties;
|
import io.shinhanlife.dap.mcg.config.McpGatewayProperties;
|
||||||
import io.shinhanlife.dap.biz.mcp.gateway.resilience.ToolExecutionException;
|
import io.shinhanlife.dap.mcg.resilience.ToolExecutionException;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.aop;
|
package io.shinhanlife.dap.common.adapter.aop;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.aspectj.lang.ProceedingJoinPoint;
|
import org.aspectj.lang.ProceedingJoinPoint;
|
||||||
@@ -9,7 +9,7 @@ import org.springframework.stereotype.Component;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.aop
|
* @package io.shinhanlife.dap.common.adapter.aop
|
||||||
* @className EimsMonitoringAspect
|
* @className EimsMonitoringAspect
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -27,8 +27,8 @@ import java.util.Arrays;
|
|||||||
@Component
|
@Component
|
||||||
public class EimsMonitoringAspect {
|
public class EimsMonitoringAspect {
|
||||||
|
|
||||||
// 포인트컷: io.shinhanlife.dap.biz.mcp.adapter.sender 패키지 내의 EimsSender를 구현한 모든 클래스의 메서드를 타겟으로 지정합니다.
|
// 포인트컷: io.shinhanlife.dap.common.adapter.sender 패키지 내의 EimsSender를 구현한 모든 클래스의 메서드를 타겟으로 지정합니다.
|
||||||
@Around("execution(* io.shinhanlife.dap.biz.mcp.adapter.sender.*EimsSender.*(..))")
|
@Around("execution(* io.shinhanlife.dap.common.adapter.sender.*EimsSender.*(..))")
|
||||||
public Object monitorEimsCommunication(ProceedingJoinPoint joinPoint) throws Throwable {
|
public Object monitorEimsCommunication(ProceedingJoinPoint joinPoint) throws Throwable {
|
||||||
|
|
||||||
// 1. 호출되는 클래스와 메서드 이름 추출
|
// 1. 호출되는 클래스와 메서드 이름 추출
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.connector;
|
package io.shinhanlife.dap.common.adapter.connector;
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.support.DynamicPayloadBuilder;
|
import io.shinhanlife.dap.common.adapter.support.DynamicPayloadBuilder;
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.support.DynamicSchemaValidator;
|
import io.shinhanlife.dap.common.adapter.support.DynamicSchemaValidator;
|
||||||
import io.github.resilience4j.circuitbreaker.annotation.CircuitBreaker;
|
import io.github.resilience4j.circuitbreaker.annotation.CircuitBreaker;
|
||||||
import io.github.resilience4j.ratelimiter.annotation.RateLimiter;
|
import io.github.resilience4j.ratelimiter.annotation.RateLimiter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -12,7 +12,7 @@ import java.util.Map;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.connector
|
* @package io.shinhanlife.dap.common.adapter.connector
|
||||||
* @className ExternalApiConnector
|
* @className ExternalApiConnector
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.connector;
|
package io.shinhanlife.dap.common.adapter.connector;
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.support.DynamicPayloadBuilder;
|
import io.shinhanlife.dap.common.adapter.support.DynamicPayloadBuilder;
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.support.DynamicSchemaValidator;
|
import io.shinhanlife.dap.common.adapter.support.DynamicSchemaValidator;
|
||||||
import io.github.resilience4j.circuitbreaker.annotation.CircuitBreaker;
|
import io.github.resilience4j.circuitbreaker.annotation.CircuitBreaker;
|
||||||
import io.github.resilience4j.ratelimiter.annotation.RateLimiter;
|
import io.github.resilience4j.ratelimiter.annotation.RateLimiter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -12,7 +12,7 @@ import java.util.Map;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.connector
|
* @package io.shinhanlife.dap.common.adapter.connector
|
||||||
* @className InternalSystemConnector
|
* @className InternalSystemConnector
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.connector;
|
package io.shinhanlife.dap.common.adapter.connector;
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.support.ResultStandardizer;
|
import io.shinhanlife.dap.common.adapter.support.ResultStandardizer;
|
||||||
import io.github.resilience4j.circuitbreaker.annotation.CircuitBreaker;
|
import io.github.resilience4j.circuitbreaker.annotation.CircuitBreaker;
|
||||||
import io.github.resilience4j.ratelimiter.annotation.RateLimiter;
|
import io.github.resilience4j.ratelimiter.annotation.RateLimiter;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -13,7 +13,7 @@ import java.util.Map;
|
|||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.connector
|
* @package io.shinhanlife.dap.common.adapter.connector
|
||||||
* @className LegacyDbConnector
|
* @className LegacyDbConnector
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.connector;
|
package io.shinhanlife.dap.common.adapter.connector;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.sender.EimsSender;
|
import io.shinhanlife.dap.common.adapter.sender.EimsSender;
|
||||||
import io.github.resilience4j.circuitbreaker.annotation.CircuitBreaker;
|
import io.github.resilience4j.circuitbreaker.annotation.CircuitBreaker;
|
||||||
import io.github.resilience4j.ratelimiter.RequestNotPermitted;
|
import io.github.resilience4j.ratelimiter.RequestNotPermitted;
|
||||||
import io.github.resilience4j.ratelimiter.annotation.RateLimiter;
|
import io.github.resilience4j.ratelimiter.annotation.RateLimiter;
|
||||||
@@ -12,10 +12,10 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.util.LegacyDataTransformer;
|
import io.shinhanlife.dap.common.adapter.util.LegacyDataTransformer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.connector
|
* @package io.shinhanlife.dap.common.adapter.connector
|
||||||
* @className LegacyEimsConnector
|
* @className LegacyEimsConnector
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.connector;
|
package io.shinhanlife.dap.common.adapter.connector;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -8,7 +8,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.connector
|
* @package io.shinhanlife.dap.common.adapter.connector
|
||||||
* @className ThirdPartySecurityConnector
|
* @className ThirdPartySecurityConnector
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.exception;
|
package io.shinhanlife.dap.common.adapter.exception;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.exception
|
* @package io.shinhanlife.dap.common.adapter.exception
|
||||||
* @className MciCommunicationException
|
* @className MciCommunicationException
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.sender;
|
package io.shinhanlife.dap.common.adapter.sender;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
|
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.support.TicketManager;
|
import io.shinhanlife.dap.common.adapter.support.TicketManager;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.kafka.core.KafkaTemplate;
|
import org.springframework.kafka.core.KafkaTemplate;
|
||||||
@@ -11,7 +11,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.util.StopWatch;
|
import org.springframework.util.StopWatch;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.sender
|
* @package io.shinhanlife.dap.common.adapter.sender
|
||||||
* @className EaiEimsSender
|
* @className EaiEimsSender
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.sender;
|
package io.shinhanlife.dap.common.adapter.sender;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.sender
|
* @package io.shinhanlife.dap.common.adapter.sender
|
||||||
* @className EimsSender
|
* @className EimsSender
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.sender;
|
package io.shinhanlife.dap.common.adapter.sender;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
@@ -12,10 +12,10 @@ import java.util.UUID;
|
|||||||
|
|
||||||
import org.slf4j.MDC;
|
import org.slf4j.MDC;
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.mcp.tool.config.GlowCommunicationProperties;
|
import io.shinhanlife.dap.mcc.config.GlowCommunicationProperties;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.sender
|
* @package io.shinhanlife.dap.common.adapter.sender
|
||||||
* @className HttpEimsSender
|
* @className HttpEimsSender
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.sender;
|
package io.shinhanlife.dap.common.adapter.sender;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
@@ -10,7 +10,7 @@ import org.springframework.util.MultiValueMap;
|
|||||||
import org.springframework.web.client.RestClient;
|
import org.springframework.web.client.RestClient;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.sender
|
* @package io.shinhanlife.dap.common.adapter.sender
|
||||||
* @className JspFormEimsSender
|
* @className JspFormEimsSender
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.sender;
|
package io.shinhanlife.dap.common.adapter.sender;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
@@ -9,7 +9,7 @@ import org.springframework.web.client.RestClient;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.sender
|
* @package io.shinhanlife.dap.common.adapter.sender
|
||||||
* @className JspJsonEimsSender
|
* @className JspJsonEimsSender
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.sender;
|
package io.shinhanlife.dap.common.adapter.sender;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
@@ -12,7 +12,7 @@ import org.springframework.util.StopWatch;
|
|||||||
import org.springframework.web.client.RestClient;
|
import org.springframework.web.client.RestClient;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.sender
|
* @package io.shinhanlife.dap.common.adapter.sender
|
||||||
* @className MciEimsSender
|
* @className MciEimsSender
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.sender;
|
package io.shinhanlife.dap.common.adapter.sender;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
@@ -8,7 +8,7 @@ import org.springframework.util.StopWatch;
|
|||||||
import org.springframework.web.client.RestClient;
|
import org.springframework.web.client.RestClient;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.sender
|
* @package io.shinhanlife.dap.common.adapter.sender
|
||||||
* @className MciStringEimsSender
|
* @className MciStringEimsSender
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.sender;
|
package io.shinhanlife.dap.common.adapter.sender;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import io.shinhanlife.dap.common.integration.mci.config.ShinhanIntegrationProperties;
|
import io.shinhanlife.dap.common.integration.mci.config.ShinhanIntegrationProperties;
|
||||||
@@ -16,7 +16,7 @@ import java.util.UUID;
|
|||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.sender
|
* @package io.shinhanlife.dap.common.adapter.sender
|
||||||
* @className ShinhanMciSender
|
* @className ShinhanMciSender
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.sender;
|
package io.shinhanlife.dap.common.adapter.sender;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
@@ -11,7 +11,7 @@ import java.net.InetSocketAddress;
|
|||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.sender
|
* @package io.shinhanlife.dap.common.adapter.sender
|
||||||
* @className TcpEimsSender
|
* @className TcpEimsSender
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.support;
|
package io.shinhanlife.dap.common.adapter.support;
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@@ -6,7 +6,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.support
|
* @package io.shinhanlife.dap.common.adapter.support
|
||||||
* @className DynamicPayloadBuilder
|
* @className DynamicPayloadBuilder
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.support;
|
package io.shinhanlife.dap.common.adapter.support;
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.support
|
* @package io.shinhanlife.dap.common.adapter.support
|
||||||
* @className DynamicSchemaValidator
|
* @className DynamicSchemaValidator
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.support;
|
package io.shinhanlife.dap.common.adapter.support;
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.exception.MciCommunicationException;
|
import io.shinhanlife.dap.common.adapter.exception.MciCommunicationException;
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.sender.EimsSender;
|
import io.shinhanlife.dap.common.adapter.sender.EimsSender;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.support
|
* @package io.shinhanlife.dap.common.adapter.support
|
||||||
* @className MciTemplate
|
* @className MciTemplate
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.support;
|
package io.shinhanlife.dap.common.adapter.support;
|
||||||
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@@ -6,7 +6,7 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.support
|
* @package io.shinhanlife.dap.common.adapter.support
|
||||||
* @className ResultStandardizer
|
* @className ResultStandardizer
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.support;
|
package io.shinhanlife.dap.common.adapter.support;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@@ -11,7 +11,7 @@ import java.util.concurrent.ScheduledExecutorService;
|
|||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.support
|
* @package io.shinhanlife.dap.common.adapter.support
|
||||||
* @className TicketManager
|
* @className TicketManager
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.support;
|
package io.shinhanlife.dap.common.adapter.support;
|
||||||
|
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.connector.LegacyEimsConnector;
|
import io.shinhanlife.dap.common.adapter.connector.LegacyEimsConnector;
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.dto.ErrorDetail;
|
import io.shinhanlife.dap.common.adapter.dto.ErrorDetail;
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.dto.JsonRpcRequest;
|
import io.shinhanlife.dap.common.adapter.dto.JsonRpcRequest;
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.dto.JsonRpcResponse;
|
import io.shinhanlife.dap.common.adapter.dto.JsonRpcResponse;
|
||||||
import io.shinhanlife.dap.biz.mcp.adapter.dto.Params;
|
import io.shinhanlife.dap.common.adapter.dto.Params;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -13,7 +13,7 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.support
|
* @package io.shinhanlife.dap.common.adapter.support
|
||||||
* @className ToolExecutionService
|
* @className ToolExecutionService
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.test;
|
package io.shinhanlife.dap.common.adapter.test;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@@ -7,7 +7,7 @@ import org.springframework.core.io.ClassPathResource;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.test
|
* @package io.shinhanlife.dap.common.adapter.test
|
||||||
* @className MockEimsHttpServer
|
* @className MockEimsHttpServer
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.test;
|
package io.shinhanlife.dap.common.adapter.test;
|
||||||
|
|
||||||
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
||||||
import org.springframework.context.event.EventListener;
|
import org.springframework.context.event.EventListener;
|
||||||
@@ -22,7 +22,7 @@ import java.util.Map;
|
|||||||
@Component
|
@Component
|
||||||
// 대신 "local" 환경(application-local.properties)에서만 가짜 소켓 서버가 켜지도록 보장합니다.
|
// 대신 "local" 환경(application-local.properties)에서만 가짜 소켓 서버가 켜지도록 보장합니다.
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.test
|
* @package io.shinhanlife.dap.common.adapter.test
|
||||||
* @className MockEimsTcpServer
|
* @className MockEimsTcpServer
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package io.shinhanlife.dap.biz.mcp.adapter.test;
|
package io.shinhanlife.dap.common.adapter.test;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
@@ -7,7 +7,7 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.biz.mcp.adapter.test
|
* @package io.shinhanlife.dap.common.adapter.test
|
||||||
* @className MockJspServer
|
* @className MockJspServer
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 김형식
|
* @author 김형식
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user