fix: resolve mci package splitting and IO class naming issues in ToolScaffolder
Some checks failed
Deploy to OCIWP / deploy (push) Failing after 17s
Some checks failed
Deploy to OCIWP / deploy (push) Failing after 17s
This commit is contained in:
@@ -167,8 +167,8 @@ public class ToolScaffolder {
|
|||||||
String moduleName, StringBuilder log) throws IOException {
|
String moduleName, StringBuilder log) throws IOException {
|
||||||
String baseName = toPascalCase(tool.baseName());
|
String baseName = toPascalCase(tool.baseName());
|
||||||
boolean mci = "MCI".equalsIgnoreCase(tool.routingType());
|
boolean mci = "MCI".equalsIgnoreCase(tool.routingType());
|
||||||
String code = mci ? tool.clientSystemCode().toLowerCase(Locale.ROOT) : toPackageSegment(tool.httpApiName());
|
String code = mci ? (tool.clientSystemCode().length() == 4 ? tool.clientSystemCode().substring(0,3).toLowerCase(Locale.ROOT) + "/" + tool.clientSystemCode().substring(3).toLowerCase(Locale.ROOT) : tool.clientSystemCode().toLowerCase(Locale.ROOT)) : toPackageSegment(tool.httpApiName());
|
||||||
String ioPackage = BASE_PACKAGE + (mci ? ".infra.itrf.mci." : ".infra.itrf.http.") + code;
|
String ioPackage = BASE_PACKAGE + (mci ? ".infra.itrf.mci." : ".infra.itrf.http.") + code.replace("/", ".");
|
||||||
Path clientDir = sourceRoot.resolve(Paths.get("infra", "itrf", mci ? "mci" : "http", code));
|
Path clientDir = sourceRoot.resolve(Paths.get("infra", "itrf", mci ? "mci" : "http", code));
|
||||||
Path ioDir = clientDir.resolve("io");
|
Path ioDir = clientDir.resolve("io");
|
||||||
Files.createDirectories(ioDir);
|
Files.createDirectories(ioDir);
|
||||||
@@ -183,10 +183,16 @@ public class ToolScaffolder {
|
|||||||
mciIoContent("infra.itrf.mci." + code, baseName + "_I", tool.inputFields(), "", ""));
|
mciIoContent("infra.itrf.mci." + code, baseName + "_I", tool.inputFields(), "", ""));
|
||||||
writeUtf8(ioDir.resolve(baseName + "_O.java"),
|
writeUtf8(ioDir.resolve(baseName + "_O.java"),
|
||||||
mciIoContent("infra.itrf.mci." + code, baseName + "_O", tool.outputFields(), "", ""));
|
mciIoContent("infra.itrf.mci." + code, baseName + "_O", tool.outputFields(), "", ""));
|
||||||
writeStructuredFieldTypes(ioDir, ioPackage + ".io", baseName + "_I", tool.inputFields());
|
writeStructuredFieldTypes(ioDir, ioPackage + ".io", tool.interfaceId() + "_I", tool.inputFields());
|
||||||
writeStructuredFieldTypes(ioDir, ioPackage + ".io", baseName + "_O", tool.outputFields());
|
writeStructuredFieldTypes(ioDir, ioPackage + ".io", tool.interfaceId() + "_O", tool.outputFields());
|
||||||
writeUtf8(clientDir.resolve(baseName + "Client.java"),
|
String sysCode = tool.clientSystemCode();
|
||||||
groupedMciClientContent(ioPackage, baseName, tool.interfaceId()));
|
if (sysCode != null && sysCode.length() == 4) {
|
||||||
|
String clientCap = toPascalCase(sysCode);
|
||||||
|
writeUtf8(clientDir.resolve("Mci" + clientCap + "Client.java"),
|
||||||
|
"package " + ioPackage + ";\n\nimport io.shinhanlife.dat.lib.integration.mci.component.AxhubMciComponent;\nimport io.shinhanlife.glow.communication.dto.Transfer;\nimport lombok.RequiredArgsConstructor;\nimport org.springframework.stereotype.Component;\n\n@Component\n@RequiredArgsConstructor\npublic class Mci" + clientCap + "Client {\n private final AxhubMciComponent mci;\n\n public <O> Transfer<O> callTo(String interfaceId, String dummy, Object mciReq, Class<O> resType) throws Exception {\n return mci.callTo(interfaceId, dummy, mciReq, resType);\n }\n}\n");
|
||||||
|
} else {
|
||||||
|
writeUtf8(clientDir.resolve(baseName + "Client.java"), groupedMciClientContent(ioPackage, baseName, tool.interfaceId()));
|
||||||
|
}
|
||||||
writeUtf8(sourceRoot.resolve(Paths.get("biz", tool.group().toLowerCase(Locale.ROOT), "converter", baseName + "Converter.java")),
|
writeUtf8(sourceRoot.resolve(Paths.get("biz", tool.group().toLowerCase(Locale.ROOT), "converter", baseName + "Converter.java")),
|
||||||
groupedMciConverterContent(bizPackage, baseName, ioPackage));
|
groupedMciConverterContent(bizPackage, baseName, ioPackage));
|
||||||
} else {
|
} else {
|
||||||
@@ -286,19 +292,17 @@ public class ToolScaffolder {
|
|||||||
.append("import ").append(bizPackage).append(".dto.").append(baseName).append("Response;\n")
|
.append("import ").append(bizPackage).append(".dto.").append(baseName).append("Response;\n")
|
||||||
.append("import ").append(bizPackage).append(".converter.").append(baseName).append("Converter;\n")
|
.append("import ").append(bizPackage).append(".converter.").append(baseName).append("Converter;\n")
|
||||||
.append("import ").append(integrationPackage).append(".").append(clientClassName).append(";\n")
|
.append("import ").append(integrationPackage).append(".").append(clientClassName).append(";\n")
|
||||||
.append("import ").append(integrationPackage).append(".io.").append(baseName)
|
.append("import ").append(integrationPackage).append(".io.").append(mci ? tool.interfaceId() + "_I;\n" : baseName + "HttpRequest;\n")
|
||||||
.append(mci ? "_I;\n" : "HttpRequest;\n")
|
.append("import ").append(integrationPackage).append(".io.").append(mci ? tool.interfaceId() + "_O;\n" : baseName + "HttpResponse;\n");
|
||||||
.append("import ").append(integrationPackage).append(".io.").append(baseName)
|
|
||||||
.append(mci ? "_O;\n" : "HttpResponse;\n");
|
|
||||||
if (!fields.toString().contains(" " + clientVariable + ";")) {
|
if (!fields.toString().contains(" " + clientVariable + ";")) {
|
||||||
fields.append(" private final ").append(clientClassName).append(" ").append(clientVariable).append(";\n");
|
fields.append(" private final ").append(clientClassName).append(" ").append(clientVariable).append(";\n");
|
||||||
}
|
}
|
||||||
fields.append(" private final ").append(baseName).append("Converter ").append(converterVariable).append(";\n");
|
fields.append(" private final ").append(baseName).append("Converter ").append(converterVariable).append(";\n");
|
||||||
methods.append(" @Override\n public ").append(baseName).append("Response ").append(tool.methodName())
|
methods.append(" @Override\n public ").append(baseName).append("Response ").append(tool.methodName())
|
||||||
.append("(").append(baseName).append("Request req) {\n")
|
.append("(").append(baseName).append("Request req) {\n")
|
||||||
.append(" ").append(baseName).append(mci ? "_I" : "HttpRequest").append(" request = ").append(converterVariable).append(".toRequest(req);\n")
|
.append(" ").append(mci ? tool.interfaceId() + "_I" : baseName + "HttpRequest").append(" request = ").append(converterVariable).append(".toRequest(req);\n")
|
||||||
.append(" ").append(baseName).append(mci ? "_O" : "HttpResponse").append(" response = ").append(clientVariable)
|
.append(" ").append(mci ? tool.interfaceId() + "_O" : baseName + "HttpResponse").append(" response = ").append(clientVariable)
|
||||||
.append(mci ? ".call(\"" + tool.interfaceId() + "\", request, " + baseName + "_O.class);\n" : ".call(request, " + baseName + "HttpResponse.class);\n")
|
.append(mci ? ".callTo(\"" + tool.interfaceId() + "\", null, request, " + tool.interfaceId() + "_O.class).getBody();\n" : ".call(request, " + baseName + "HttpResponse.class);\n")
|
||||||
.append(" ").append(baseName).append("Response toolResponse = ").append(converterVariable).append(".toResponse(response);\n")
|
.append(" ").append(baseName).append("Response toolResponse = ").append(converterVariable).append(".toResponse(response);\n")
|
||||||
.append(" if (toolResponse == null) toolResponse = new ").append(baseName).append("Response();\n")
|
.append(" if (toolResponse == null) toolResponse = new ").append(baseName).append("Response();\n")
|
||||||
.append(" toolResponse.setResultCode(\"SUCCESS\");\n")
|
.append(" toolResponse.setResultCode(\"SUCCESS\");\n")
|
||||||
@@ -647,7 +651,7 @@ public class ToolScaffolder {
|
|||||||
if (isMci && clientSystemCode != null && clientSystemCode.length() == 4) {
|
if (isMci && clientSystemCode != null && clientSystemCode.length() == 4) {
|
||||||
String clientPrefix = clientSystemCode.toLowerCase();
|
String clientPrefix = clientSystemCode.toLowerCase();
|
||||||
clientPrefixCap = toPascalCase(clientSystemCode);
|
clientPrefixCap = toPascalCase(clientSystemCode);
|
||||||
mciGroupPath = "infra/itrf/mci/" + clientPrefix;
|
mciGroupPath = "infra/itrf/mci/" + clientPrefix.substring(0, 3) + "/" + clientPrefix.substring(3);
|
||||||
mciClientDir = rootDir.resolve(Paths.get(moduleName, BASE_PACKAGE_PATH, mciGroupPath));
|
mciClientDir = rootDir.resolve(Paths.get(moduleName, BASE_PACKAGE_PATH, mciGroupPath));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user