From 979e43e38264e376983cae895790e00e5dcab145 Mon Sep 17 00:00:00 2001 From: eastargh Date: Wed, 8 Jul 2026 10:37:03 +0900 Subject: [PATCH 1/2] =?UTF-8?q?-=20=ED=8F=AC=ED=95=A8=EB=90=9C=20=EC=9D=B8?= =?UTF-8?q?=ED=84=B0=ED=8E=98=EC=9D=B4=EC=8A=A4=EB=AA=85=20=EB=B3=B5?= =?UTF-8?q?=EC=A0=9C=20=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eai/rms/onl/transaction/apim/ApiInterfaceService.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ApiInterfaceService.java b/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ApiInterfaceService.java index f741a39..c6f88a4 100644 --- a/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ApiInterfaceService.java +++ b/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ApiInterfaceService.java @@ -1117,13 +1117,14 @@ public class ApiInterfaceService extends OnlBaseService { String replacementBetweenUnderscores = newApiInterfaceId; // 정규 표현식 패턴: 첫 번째 언더바 전의 단어와 두 번째 언더바 사이의 단어를 찾기 위한 패턴 - String regex = "(^[^_]+)|(?<=_)\\w+(?=_)"; + // (서비스ID 등에 '-'가 포함될 수 있으므로 \w+ 대신 [^_]+ 사용 - transform 치환 로직과 동일) + String regex = "(^[^_]+)|(?<=_)[^_]+(?=_)"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(loutName); // 첫 번째 매칭된 부분(언더바 전의 단어)과 두 번째 매칭된 부분(언더바 사이의 단어)을 대체 String updatedString = matcher.replaceFirst(replacementBeforeUnderscore); // 첫 번째 매칭된 부분 대체 - updatedString = updatedString.replaceFirst("(?<=_)\\w+(?=_)", replacementBetweenUnderscores); // 두 번째 매칭된 부분 대체 + updatedString = updatedString.replaceFirst("(?<=_)[^_]+(?=_)", replacementBetweenUnderscores); // 두 번째 매칭된 부분 대체 layoutUI.setLoutName(updatedString); From 49ebdce4c3e78c7b410692c3d97be7c2b0f0543e Mon Sep 17 00:00:00 2001 From: eastargh Date: Wed, 8 Jul 2026 11:13:43 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EC=A0=84=EB=AC=B8=EB=A0=88=EC=9D=B4?= =?UTF-8?q?=EC=95=84=EC=9B=83=20=EA=B7=B8=EB=A6=AC=EB=93=9C=20=ED=95=AD?= =?UTF-8?q?=EB=AA=A9=EB=AA=85=20=EC=88=9C=EC=84=9C=20=EB=B3=80=EA=B2=BD(?= =?UTF-8?q?=EA=B9=80=ED=83=9C=ED=98=B8=EC=9D=B4=EC=82=AC=20=EC=9A=94?= =?UTF-8?q?=EC=B2=AD)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebContent/jsp/onl/admin/rule/layoutManDetail.jsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WebContent/jsp/onl/admin/rule/layoutManDetail.jsp b/WebContent/jsp/onl/admin/rule/layoutManDetail.jsp index 5a6de0c..e920ea0 100644 --- a/WebContent/jsp/onl/admin/rule/layoutManDetail.jsp +++ b/WebContent/jsp/onl/admin/rule/layoutManDetail.jsp @@ -74,8 +74,8 @@ const itemTypes = ['Field', 'Grid', 'Group', 'Attr', 'Array']; columns = [ // for columnData prop - { title: '<%= localeMessage.getString("layoutMan.itmeEn") %>', name: 'loutItemName', type: 'text', width:280, resize:true, minWidth:120 }, { title: '<%= localeMessage.getString("layoutMan.itemDesc") %>', name: 'loutItemDesc', type: 'text', width:280, resize:true, minWidth:120 }, + { title: '<%= localeMessage.getString("layoutMan.itmeEn") %>', name: 'loutItemName', type: 'text', width:280, resize:true, minWidth:120 }, { title: '<%=localeMessage.getString("standardLayout.itemLevel")%>', name: 'loutItemDepth', type: 'text', width:50 }, { title: '<%= localeMessage.getString("standardLayout.itemType") %>', name: 'loutItemType', type: 'autocomplete', source: itemTypes, width:70 }, { title: '<%= localeMessage.getString("standardLayout.arraySize") %>', name: 'loutItemOccCnt', type: 'text', width:90 },