Skip to content

Commit e7fdea8

Browse files
committed
fix underscore casing to transform Name to name, and not _name
1 parent 02981f6 commit e7fdea8

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

modules/elasticsearch/src/main/java/org/elasticsearch/common/Strings.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1220,9 +1220,16 @@ public static String toUnderscoreCase(String value, StringBuilder sb) {
12201220
sb.append(value.charAt(j));
12211221
}
12221222
changed = true;
1223+
if (i == 0) {
1224+
sb.append(Character.toLowerCase(c));
1225+
} else {
1226+
sb.append('_');
1227+
sb.append(Character.toLowerCase(c));
1228+
}
1229+
} else {
1230+
sb.append('_');
1231+
sb.append(Character.toLowerCase(c));
12231232
}
1224-
sb.append('_');
1225-
sb.append(Character.toLowerCase(c));
12261233
} else {
12271234
if (changed) {
12281235
sb.append(c);

modules/elasticsearch/src/test/java/org/elasticsearch/util/StringsTests.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ public class StringsTests {
4444
String testValue = "test_value";
4545
assertThat(toUnderscoreCase(testValue), equalTo(testValue));
4646
assertThat(toUnderscoreCase(testValue), sameInstance(testValue));
47+
48+
assertThat(toUnderscoreCase("Name"), equalTo("name"));
4749
}
4850

4951
// @Test public void testHasTextBlank() throws Exception {

0 commit comments

Comments
 (0)