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 }, 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);