Skip to content

Commit fff8972

Browse files
committed
Extract utility methods to the StringUtil class
and ignore case when comparing Accept/Content-Type
1 parent 141b580 commit fff8972

File tree

3 files changed

+32
-7
lines changed

3 files changed

+32
-7
lines changed

modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/languages/JavaClientCodegen.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,13 @@ public JavaClientCodegen() {
5151
additionalProperties.put("artifactVersion", artifactVersion);
5252

5353
supportingFiles.add(new SupportingFile("pom.mustache", "", "pom.xml"));
54-
supportingFiles.add(new SupportingFile("apiInvoker.mustache",
54+
supportingFiles.add(new SupportingFile("apiInvoker.mustache",
5555
(sourceFolder + File.separator + invokerPackage).replace(".", java.io.File.separator), "ApiInvoker.java"));
56-
supportingFiles.add(new SupportingFile("JsonUtil.mustache",
56+
supportingFiles.add(new SupportingFile("JsonUtil.mustache",
5757
(sourceFolder + File.separator + invokerPackage).replace(".", java.io.File.separator), "JsonUtil.java"));
58-
supportingFiles.add(new SupportingFile("apiException.mustache",
58+
supportingFiles.add(new SupportingFile("StringUtil.mustache",
59+
(sourceFolder + File.separator + invokerPackage).replace(".", java.io.File.separator), "StringUtil.java"));
60+
supportingFiles.add(new SupportingFile("apiException.mustache",
5961
(sourceFolder + File.separator + invokerPackage).replace(".", java.io.File.separator), "ApiException.java"));
6062

6163
languageSpecificPrimitives = new HashSet<String>(
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package {{invokerPackage}};
2+
3+
public class StringUtil {
4+
public static boolean containsIgnoreCase(String[] array, String value) {
5+
for (String str : array) {
6+
if (value == null && str == null) return true;
7+
if (value != null && value.equalsIgnoreCase(str)) return true;
8+
}
9+
return false;
10+
}
11+
12+
public static String join(String[] array, String separator) {
13+
int len = array.length;
14+
if (len == 0) return "";
15+
16+
StringBuilder out = new StringBuilder();
17+
out.append(array[0]);
18+
for (int i = 1; i < len; i++) {
19+
out.append(separator).append(array[i]);
20+
}
21+
return out.toString();
22+
}
23+
}

modules/swagger-codegen/src/main/resources/Java/apiInvoker.mustache

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,13 @@ public class ApiInvoker {
109109

110110
public static String selectHeaderAccept(String[] accepts) {
111111
if (accepts.length == 0) return "application/json";
112-
if (Arrays.asList(accepts).contains("application/json")) return "application/json";
113-
return joinString(accepts, ",");
112+
if (StringUtil.containsIgnoreCase(accepts, "application/json")) return "application/json";
113+
return StringUtil.join(accepts, ",");
114114
}
115115

116116
public static String selectHeaderContentType(String[] contentTypes) {
117117
if (contentTypes.length == 0) return "application/json";
118-
if (Arrays.asList(contentTypes).contains("application/json")) return "application/json";
118+
if (StringUtil.containsIgnoreCase(contentTypes, "application/json")) return "application/json";
119119
return contentTypes[0];
120120
}
121121

@@ -323,4 +323,4 @@ public class ApiInvoker {
323323
}
324324
return hostMap.get(host);
325325
}
326-
}
326+
}

0 commit comments

Comments
 (0)