Skip to content

Commit 0eccb59

Browse files
authored
Added option to preserve underscores in the JacksonJsonEnumHelper to fix TargetType.MERGE_REQUEST value. (#615)
1 parent 79493ea commit 0eccb59

File tree

3 files changed

+13
-5
lines changed

3 files changed

+13
-5
lines changed

src/main/java/org/gitlab4j/api/Constants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -466,7 +466,7 @@ public enum TargetType {
466466

467467
ISSUE, MILESTONE, MERGE_REQUEST, NOTE, PROJECT, SNIPPET, USER;
468468

469-
private static JacksonJsonEnumHelper<TargetType> enumHelper = new JacksonJsonEnumHelper<>(TargetType.class, true, true);
469+
private static JacksonJsonEnumHelper<TargetType> enumHelper = new JacksonJsonEnumHelper<>(TargetType.class, true, false, true);
470470

471471
@JsonCreator
472472
public static TargetType forValue(String value) {

src/main/java/org/gitlab4j/api/utils/JacksonJsonEnumHelper.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ public JacksonJsonEnumHelper(Class<E> enumType, boolean firstLetterCapitalized)
3232
}
3333

3434
public JacksonJsonEnumHelper(Class<E> enumType, boolean firstLetterCapitalized, boolean camelCased) {
35+
this(enumType, firstLetterCapitalized, camelCased, false);
36+
}
37+
38+
public JacksonJsonEnumHelper(Class<E> enumType, boolean firstLetterCapitalized, boolean camelCased, boolean preserveUnderscores) {
3539

3640
valuesMap = new HashMap<>();
3741
namesMap = new HashMap<>();
@@ -43,10 +47,14 @@ public JacksonJsonEnumHelper(Class<E> enumType, boolean firstLetterCapitalized,
4347
boolean nextCharIsCapitalized = firstLetterCapitalized;
4448
for (char ch : chars) {
4549
if (ch == '_') {
46-
if (camelCased) {
47-
nextCharIsCapitalized = true;
50+
if (preserveUnderscores) {
51+
nameBuf.append(ch);
4852
} else {
49-
nameBuf.append(' ');
53+
if (camelCased) {
54+
nextCharIsCapitalized = true;
55+
} else {
56+
nameBuf.append(' ');
57+
}
5058
}
5159
} else if (nextCharIsCapitalized) {
5260
nextCharIsCapitalized = false;

src/test/resources/org/gitlab4j/api/event.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"project_id": 15,
44
"action_name": "pushed",
55
"target_id": 830,
6-
"target_type": "MergeRequest",
6+
"target_type": "Merge_request",
77
"author_id": 1,
88
"author": {
99
"name": "Dmitriy Zaporozhets",

0 commit comments

Comments
 (0)