From b8d6fa28dfc171afa691c6cc828449ef1bdb59cc Mon Sep 17 00:00:00 2001 From: jade Date: Fri, 14 Aug 2026 09:58:50 +0900 Subject: [PATCH] =?UTF-8?q?fix(scaffold):=20=EA=B8=B0=EC=A1=B4=20UseCase?= =?UTF-8?q?=EC=97=90=20=ED=88=B4=20=EC=B6=94=EA=B0=80=20=EC=8B=9C=20?= =?UTF-8?q?=EC=9D=98=EC=A1=B4=EC=84=B1=20=EC=A3=BC=EC=9E=85(RequiredArgsCo?= =?UTF-8?q?nstructor)=20=EB=88=84=EB=9D=BD=20=EB=B0=8F=20=ED=95=84?= =?UTF-8?q?=EB=93=9C=20=EC=9C=84=EC=B9=98=20=EC=98=A4=EB=A5=98=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shinhanlife/dap/lib/util/ToolScaffolder.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/util/ToolScaffolder.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/util/ToolScaffolder.java index c03efe24..9ae2b990 100644 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/util/ToolScaffolder.java +++ b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/util/ToolScaffolder.java @@ -340,6 +340,10 @@ public class ToolScaffolder { implementation = addImport(implementation, "import " + integrationPackage + "." + baseName + "Client;"); implementation = addImport(implementation, "import " + integrationPackage + ".io." + requestIo + ";"); implementation = addImport(implementation, "import " + integrationPackage + ".io." + responseIo + ";"); + implementation = addImport(implementation, "import lombok.RequiredArgsConstructor;"); + if (!implementation.contains("@RequiredArgsConstructor")) { + implementation = implementation.replaceFirst("public class ", "@RequiredArgsConstructor\npublic class "); + } implementation = insertConstructorField(implementation, " private final " + baseName + "Client " + clientVariable + ";"); implementation = insertConstructorField(implementation, " private final " + baseName + "Converter " + converterVariable + ";"); String call = mci @@ -374,9 +378,17 @@ public class ToolScaffolder { private static String insertConstructorField(String content, String field) { if (content.contains(field)) return content; - int constructorField = content.indexOf("private final "); - if (constructorField < 0) return insertBeforeLastBrace(content, "\n" + field + "\n"); + int constructorField = content.lastIndexOf("private final "); + if (constructorField < 0) { + int classDecl = content.indexOf("public class "); + if (classDecl >= 0) { + int brace = content.indexOf('{', classDecl); + if (brace >= 0) return content.substring(0, brace + 1) + "\n" + field + content.substring(brace + 1); + } + return insertBeforeLastBrace(content, "\n" + field + "\n"); + } int lineEnd = content.indexOf('\n', constructorField); + if (lineEnd < 0) return content + "\n" + field; return content.substring(0, lineEnd + 1) + field + "\n" + content.substring(lineEnd + 1); }