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