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