This commit is contained in:
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user