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:
jade
2026-07-20 11:39:36 +09:00
parent 2162587a46
commit 6dd1fe6cda
163 changed files with 492 additions and 1302 deletions

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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;

View File

@@ -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) {

View File

@@ -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);

View File

@@ -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 김형식

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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();
}
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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();
}
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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);
}

View File

@@ -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));
}
}

View File

@@ -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) {

View File

@@ -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();

View File

@@ -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;

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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;

View File

@@ -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 김형식

View File

@@ -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;

View File

@@ -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 김형식

View File

@@ -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;

View File

@@ -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 김형식

View File

@@ -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);

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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;

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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;

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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;

View File

@@ -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

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 {

View File

@@ -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;

View File

@@ -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;

View File

@@ -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 김형식

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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 김형식

View File

@@ -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;

View File

@@ -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;

View File

@@ -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 김형식

View File

@@ -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")

View File

@@ -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;

View File

@@ -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. 호출되는 클래스와 메서드 이름 추출

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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 김형식

View File

@@ -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