scaffold 수정
Some checks failed
Deploy to OCIWP / deploy (push) Has been cancelled

This commit is contained in:
jade
2026-07-26 16:00:45 +09:00
parent 94cdaaa8c9
commit a6ca2b82a7

View File

@@ -85,19 +85,20 @@ public class ToolScaffolder {
String envSourceDir = System.getenv("AXHUB_SOURCE_DIR");
Path rootDir = envSourceDir != null ? Paths.get(envSourceDir) : Paths.get(".");
Path serviceDir = rootDir.resolve(Paths.get(moduleName, BASE_PACKAGE_PATH, "service"));
Path serviceImplDir = serviceDir.resolve("impl");
Path dtoDir = rootDir.resolve(Paths.get(moduleName, BASE_PACKAGE_PATH, "dto"));
Path usecaseDir = rootDir.resolve(Paths.get(moduleName, BASE_PACKAGE_PATH, "biz", group.toLowerCase(), "usecase"));
Path usecaseImplDir = usecaseDir.resolve("impl");
Path dtoDir = rootDir.resolve(Paths.get(moduleName, BASE_PACKAGE_PATH, "biz", group.toLowerCase(), "dto"));
Path legacyDtoDir = rootDir.resolve(Paths.get(moduleName, BASE_PACKAGE_PATH, "legacy"));
Path converterDir = rootDir.resolve(Paths.get(moduleName, BASE_PACKAGE_PATH, "converter"));
Path legacyDtoDir = rootDir.resolve(Paths.get(moduleName, BASE_PACKAGE_PATH, "biz", group.toLowerCase(), "legacy"));
Path converterDir = rootDir.resolve(Paths.get(moduleName, BASE_PACKAGE_PATH, "biz", group.toLowerCase(), "converter"));
String bizPackage = BASE_PACKAGE + ".biz." + group.toLowerCase();
boolean isMci = "MCI".equalsIgnoreCase(routingType);
String mciGroupPath = "infra/itrf/mci/" + group.toLowerCase();
Path mciIoDir = rootDir.resolve(Paths.get(moduleName, BASE_PACKAGE_PATH, mciGroupPath, "io"));
Files.createDirectories(serviceDir);
Files.createDirectories(serviceImplDir);
Files.createDirectories(usecaseDir);
Files.createDirectories(usecaseImplDir);
Files.createDirectories(dtoDir);
if (isMci) {
Files.createDirectories(mciIoDir);
@@ -113,7 +114,7 @@ public class ToolScaffolder {
package %s.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import %s.annotation.McpParameter;
import io.shinhanlife.dap.lib.annotation.McpParameter;
import lombok.Data;
/**
@@ -139,7 +140,7 @@ public class ToolScaffolder {
@McpParameter(description = "전송할 메시지 내용", required = true)
private String message;
}
""".formatted(BASE_PACKAGE, BASE_PACKAGE, BASE_PACKAGE, baseName, author, createDate, createDate, author, baseName);
""".formatted(bizPackage, bizPackage, baseName, author, createDate, createDate, author, baseName);
Files.writeString(dtoDir.resolve(baseName + "Request.java"), reqContent);
// Generate Response DTO
@@ -170,7 +171,7 @@ public class ToolScaffolder {
private String message;
// TODO: Add response fields here
}
""".formatted(BASE_PACKAGE, BASE_PACKAGE, baseName, author, createDate, createDate, author, baseName);
""".formatted(bizPackage, bizPackage, baseName, author, createDate, createDate, author, baseName);
Files.writeString(dtoDir.resolve(baseName + "Response.java"), resContent);
String toolName = baseName.isEmpty() ? baseName : Character.toLowerCase(baseName.charAt(0)) + baseName.substring(1);
@@ -180,12 +181,12 @@ public class ToolScaffolder {
import %s.dto.%sRequest;
public interface %sService {
public interface %sUseCase {
Object execute(%sRequest req);
}
""".formatted(BASE_PACKAGE, BASE_PACKAGE, baseName, baseName, baseName);
""".formatted(bizPackage, bizPackage, baseName, baseName, baseName);
Files.writeString(serviceDir.resolve(baseName + "Service.java"), serviceInterfaceContent);
Files.writeString(usecaseDir.resolve(baseName + "UseCase.java"), serviceInterfaceContent);
String serviceImplContent;
@@ -193,11 +194,11 @@ public class ToolScaffolder {
serviceImplContent = """
package %s.usecase.impl;
import %s.annotation.McpFunction;
import %s.annotation.McpTool;
import io.shinhanlife.dap.lib.annotation.McpFunction;
import io.shinhanlife.dap.lib.annotation.McpTool;
import %s.dto.%sRequest;
import %s.dto.%sResponse;
import %s.usecase.%sService;
import %s.usecase.%sUseCase;
import io.shinhanlife.dap.lib.integration.mci.component.AxhubMciComponent;
import io.shinhanlife.glow.communication.dto.Transfer;
import org.springframework.stereotype.Service;
@@ -209,7 +210,7 @@ public class ToolScaffolder {
/**
* @package %s.usecase.impl
* @className %sServiceImpl
* @className %sUseCaseImpl
* @description AX HUB 시스템 처리 클래스
* @author %s
* @create %s
@@ -228,7 +229,7 @@ public class ToolScaffolder {
routingType = "%s",
categoryKey = "%s"
)
public class %sServiceImpl implements %sService {
public class %sUseCaseImpl implements %sUseCase {
private final AxhubMciComponent mci;
private final %sLegacyConverter converter;
@@ -264,15 +265,13 @@ public class ToolScaffolder {
}
}
""".formatted(
BASE_PACKAGE,
BASE_PACKAGE,
BASE_PACKAGE,
BASE_PACKAGE, baseName,
BASE_PACKAGE, baseName,
BASE_PACKAGE, baseName,
BASE_PACKAGE, baseName,
bizPackage,
bizPackage, baseName,
bizPackage, baseName,
bizPackage, baseName,
bizPackage, baseName,
BASE_PACKAGE, group.toLowerCase(), interfaceId,
BASE_PACKAGE, baseName,
bizPackage, baseName,
author,
createDate,
createDate, author,
@@ -282,18 +281,19 @@ public class ToolScaffolder {
baseName, toolName, description, description + " 해줘.", interfaceId, register,
baseName,
interfaceId,
interfaceId,
interfaceId
);
} else {
serviceImplContent = """
package %s.usecase.impl;
import %s.annotation.McpFunction;
import %s.annotation.McpTool;
import io.shinhanlife.dap.lib.annotation.McpFunction;
import io.shinhanlife.dap.lib.annotation.McpTool;
import %s.dto.%sRequest;
import %s.dto.%sResponse;
import %s.usecase.%sService;
import %s.usecase.AbstractMcpToolUseCase;
import %s.usecase.%sUseCase;
import io.shinhanlife.dap.mcc.usecase.AbstractMcpToolUseCase;
import %s.converter.%sLegacyConverter;
import org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor;
@@ -301,7 +301,7 @@ public class ToolScaffolder {
/**
* @package %s.usecase.impl
* @className %sServiceImpl
* @className %sUseCaseImpl
* @description AX HUB 시스템 처리 클래스
* @author %s
* @create %s
@@ -320,7 +320,7 @@ public class ToolScaffolder {
routingType = "%s",
categoryKey = "%s"
)
public class %sServiceImpl extends AbstractMcpToolUseCase implements %sService {
public class %sUseCaseImpl extends AbstractMcpToolUseCase implements %sUseCase {
private final %sLegacyConverter converter;
@@ -340,14 +340,11 @@ public class ToolScaffolder {
}
}
""".formatted(
BASE_PACKAGE,
BASE_PACKAGE,
BASE_PACKAGE,
BASE_PACKAGE, baseName,
BASE_PACKAGE, baseName,
BASE_PACKAGE, baseName,
BASE_PACKAGE,
BASE_PACKAGE, baseName,
bizPackage,
bizPackage, baseName,
bizPackage, baseName,
bizPackage, baseName,
bizPackage, baseName,
author,
createDate,
createDate, author,
@@ -361,7 +358,7 @@ public class ToolScaffolder {
);
}
Files.writeString(serviceImplDir.resolve(baseName + "ServiceImpl.java"), serviceImplContent);
Files.writeString(usecaseImplDir.resolve(baseName + "UseCaseImpl.java"), serviceImplContent);
if (isMci) {
String mciReqContent = """
@@ -463,12 +460,12 @@ public class ToolScaffolder {
// %sResponse toResponse(%s_O mciRes);
}
""".formatted(
BASE_PACKAGE,
BASE_PACKAGE, baseName,
BASE_PACKAGE, baseName,
bizPackage,
bizPackage, baseName,
bizPackage, baseName,
BASE_PACKAGE, group.toLowerCase(), interfaceId,
BASE_PACKAGE, group.toLowerCase(), interfaceId,
BASE_PACKAGE, baseName, author, createDate, createDate, author,
bizPackage, baseName, author, createDate, createDate, author,
baseName, interfaceId, baseName,
baseName, interfaceId,
baseName, interfaceId
@@ -478,8 +475,8 @@ public class ToolScaffolder {
log.append("\n=========================================\n");
log.append(" Scaffolding Complete! (Routing: " + routingType + ")\n");
log.append("=========================================\n");
log.append("[Service Interface] ").append(serviceDir.resolve(baseName + "Service.java")).append("\n");
log.append("[Service Impl] ").append(serviceImplDir.resolve(baseName + "ServiceImpl.java")).append("\n");
log.append("[Usecase Interface] ").append(usecaseDir.resolve(baseName + "UseCase.java")).append("\n");
log.append("[Usecase Impl] ").append(usecaseImplDir.resolve(baseName + "UseCaseImpl.java")).append("\n");
log.append("[Request DTO] ").append(dtoDir.resolve(baseName + "Request.java")).append("\n");
log.append("[Response DTO] ").append(dtoDir.resolve(baseName + "Response.java")).append("\n");
log.append("[MCI Request IO] ").append(mciIoDir.resolve(interfaceId + "_I.java")).append("\n");
@@ -518,7 +515,7 @@ public class ToolScaffolder {
*/
private String content;
}
""".formatted(BASE_PACKAGE, BASE_PACKAGE, baseName, author, createDate, createDate, author, baseName);
""".formatted(bizPackage, bizPackage, baseName, author, createDate, createDate, author, baseName);
Files.writeString(legacyDtoDir.resolve(baseName + "LegacyRequest.java"), legacyReqContent);
String legacyResContent = """
@@ -544,7 +541,7 @@ public class ToolScaffolder {
public class %sLegacyResponse {
// TODO: Add legacy response fields here
}
""".formatted(BASE_PACKAGE, BASE_PACKAGE, baseName, author, createDate, createDate, author, baseName);
""".formatted(bizPackage, bizPackage, baseName, author, createDate, createDate, author, baseName);
Files.writeString(legacyDtoDir.resolve(baseName + "LegacyResponse.java"), legacyResContent);
String converterContent = """
@@ -586,12 +583,12 @@ public class ToolScaffolder {
// %sResponse toResponse(%sLegacyResponse legacyResponse);
}
""".formatted(
BASE_PACKAGE,
BASE_PACKAGE, baseName,
BASE_PACKAGE, baseName,
BASE_PACKAGE, baseName,
BASE_PACKAGE, baseName,
BASE_PACKAGE, baseName, author, createDate, createDate, author,
bizPackage,
bizPackage, baseName,
bizPackage, baseName,
bizPackage, baseName,
bizPackage, baseName,
bizPackage, baseName, author, createDate, createDate, author,
baseName, baseName, baseName, baseName, baseName, baseName, baseName
);
Files.writeString(converterDir.resolve(baseName + "LegacyConverter.java"), converterContent);
@@ -599,8 +596,8 @@ public class ToolScaffolder {
log.append("\n=========================================\n");
log.append(" Scaffolding Complete! (Routing: " + routingType + ")\n");
log.append("=========================================\n");
log.append("[Service Interface] ").append(serviceDir.resolve(baseName + "Service.java")).append("\n");
log.append("[Service Impl] ").append(serviceImplDir.resolve(baseName + "ServiceImpl.java")).append("\n");
log.append("[Usecase Interface] ").append(usecaseDir.resolve(baseName + "UseCase.java")).append("\n");
log.append("[Usecase Impl] ").append(usecaseImplDir.resolve(baseName + "UseCaseImpl.java")).append("\n");
log.append("[Request DTO] ").append(dtoDir.resolve(baseName + "Request.java")).append("\n");
log.append("[Response DTO] ").append(dtoDir.resolve(baseName + "Response.java")).append("\n");
log.append("[Legacy Request DTO] ").append(legacyDtoDir.resolve(baseName + "LegacyRequest.java")).append("\n");