From ab9daaacd623a726d10cf939d8b2469acd6a02dc Mon Sep 17 00:00:00 2001 From: wing328 Date: Tue, 9 Jun 2015 13:02:54 +0800 Subject: [PATCH] rollback android template --- .../main/resources/android-java/api.mustache | 166 +++-- .../android-java/apiException.mustache | 44 +- .../android-java/apiInvoker.mustache | 607 +++++++++--------- .../resources/android-java/build.mustache | 118 ++-- .../resources/android-java/httpPatch.mustache | 16 +- .../resources/android-java/jsonUtil.mustache | 81 ++- .../resources/android-java/manifest.mustache | 2 +- .../resources/android-java/model.mustache | 66 +- .../main/resources/android-java/pom.mustache | 301 +++++---- 9 files changed, 689 insertions(+), 712 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/android-java/api.mustache b/modules/swagger-codegen/src/main/resources/android-java/api.mustache index 22fe28f32f3..ed9538c1594 100644 --- a/modules/swagger-codegen/src/main/resources/android-java/api.mustache +++ b/modules/swagger-codegen/src/main/resources/android-java/api.mustache @@ -18,103 +18,97 @@ import java.util.HashMap; import java.io.File; {{#operations}} - public class {{classname}} { - String basePath = "{{basePath}}"; - ApiInvoker apiInvoker = ApiInvoker.getInstance(); +public class {{classname}} { + String basePath = "{{basePath}}"; + ApiInvoker apiInvoker = ApiInvoker.getInstance(); - public void addHeader(String key, String value) { + public void addHeader(String key, String value) { getInvoker().addDefaultHeader(key, value); - } + } - public ApiInvoker getInvoker() { + public ApiInvoker getInvoker() { return apiInvoker; - } + } - public void setBasePath(String basePath) { + public void setBasePath(String basePath) { this.basePath = basePath; - } + } - public String getBasePath() { + public String getBasePath() { return basePath; + } + + {{#operation}} + /** + * {{summary}} + * {{notes}} +{{#allParams}} * @param {{paramName}} {{description}} +{{/allParams}} * @return {{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}void{{/returnType}} + */ + public {{#returnType}}{{{returnType}}} {{/returnType}}{{^returnType}}void {{/returnType}} {{nickname}} ({{#allParams}}{{{dataType}}} {{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) throws ApiException { + Object postBody = {{#bodyParam}}{{paramName}}{{/bodyParam}}{{^bodyParam}}null{{/bodyParam}}; + {{#allParams}}{{#required}} + // verify the required parameter '{{paramName}}' is set + if ({{paramName}} == null) { + throw new ApiException(400, "Missing the required parameter '{{paramName}}' when calling {{nickname}}"); + } + {{/required}}{{/allParams}} + + // create path and map variables + String path = "{{path}}".replaceAll("\\{format\\}","json"){{#pathParams}}.replaceAll("\\{" + "{{paramName}}" + "\\}", apiInvoker.escapeString({{{paramName}}}.toString())){{/pathParams}}; + + // query params + Map queryParams = new HashMap(); + // header params + Map headerParams = new HashMap(); + // form params + Map formParams = new HashMap(); + + {{#queryParams}}if ({{paramName}} != null) + queryParams.put("{{baseName}}", ApiInvoker.parameterToString({{paramName}})); + {{/queryParams}} + + {{#headerParams}}headerParams.put("{{baseName}}", ApiInvoker.parameterToString({{paramName}})); + {{/headerParams}} + + String[] contentTypes = { + {{#consumes}}"{{mediaType}}"{{#hasMore}},{{/hasMore}}{{/consumes}} + }; + String contentType = contentTypes.length > 0 ? contentTypes[0] : "application/json"; + + if (contentType.startsWith("multipart/form-data")) { + // file uploading + MultipartEntityBuilder builder = MultipartEntityBuilder.create(); + {{#formParams}}{{#notFile}} + if ({{paramName}} != null) { + builder.addTextBody("{{baseName}}", ApiInvoker.parameterToString({{paramName}}), ApiInvoker.TEXT_PLAIN_UTF8); + } + {{/notFile}}{{#isFile}} + if ({{paramName}} != null) { + builder.addBinaryBody("{{baseName}}", {{paramName}}); + } + {{/isFile}}{{/formParams}} + + HttpEntity httpEntity = builder.build(); + postBody = httpEntity; + } else { + // normal form params + {{#formParams}}{{#notFile}}formParams.put("{{baseName}}", ApiInvoker.parameterToString({{paramName}}));{{/notFile}} + {{/formParams}} } - {{#operation}} - /** - * {{summary}} - * {{notes}} - {{#allParams}} * @param {{paramName}} {{description}} - {{/allParams}} * @return {{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}void{{/returnType}} - */ - public {{#returnType}}{{{returnType}}} {{/returnType}}{{^returnType}}void {{/returnType}} {{nickname}} ({{#allParams}}{{{dataType}}} {{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) throws ApiException { - Object postBody = {{#bodyParam}}{{paramName}}{{/bodyParam}}{{^bodyParam}}null{{/bodyParam}}; - {{#allParams}}{{#required}} - // verify the required parameter '{{paramName}}' is set - if ({{paramName}} == null) { - throw new ApiException(400, "Missing the required parameter '{{paramName}}' when calling {{nickname}}"); - } - {{/required}}{{/allParams}} - - // create path and map variables - String path = "{{path}}".replaceAll("\\{format\\}","json"){{#pathParams}}.replaceAll("\\{" + "{{paramName}}" + "\\}", apiInvoker.escapeString({{{paramName}}}.toString())){{/pathParams}}; - - // query params - Map - queryParams = new HashMap - (); - // header params - Map - headerParams = new HashMap - (); - // form params - Map - formParams = new HashMap - (); - - {{#queryParams}}if ({{paramName}} != null) - queryParams.put("{{baseName}}", ApiInvoker.parameterToString({{paramName}})); - {{/queryParams}} - - {{#headerParams}}headerParams.put("{{baseName}}", ApiInvoker.parameterToString({{paramName}})); - {{/headerParams}} - - String[] contentTypes = { - {{#consumes}}"{{mediaType}}"{{#hasMore}},{{/hasMore}}{{/consumes}} - }; - String contentType = contentTypes.length > 0 ? contentTypes[0] : "application/json"; - - if (contentType.startsWith("multipart/form-data")) { - // file uploading - MultipartEntityBuilder builder = MultipartEntityBuilder.create(); - {{#formParams}}{{#notFile}} - if ({{paramName}} != null) { - builder.addTextBody("{{baseName}}", ApiInvoker.parameterToString({{paramName}}), ApiInvoker.TEXT_PLAIN_UTF8); - } - {{/notFile}}{{#isFile}} - if ({{paramName}} != null) { - builder.addBinaryBody("{{baseName}}", {{paramName}}); - } - {{/isFile}}{{/formParams}} - - HttpEntity httpEntity = builder.build(); - postBody = httpEntity; - } else { - // normal form params - {{#formParams}}{{#notFile}}formParams.put("{{baseName}}", ApiInvoker.parameterToString({{paramName}}));{{/notFile}} - {{/formParams}} - } - - try { - String response = apiInvoker.invokeAPI(basePath, path, "{{httpMethod}}", queryParams, postBody, headerParams, formParams, contentType); - if(response != null){ + try { + String response = apiInvoker.invokeAPI(basePath, path, "{{httpMethod}}", queryParams, postBody, headerParams, formParams, contentType); + if(response != null){ return {{#returnType}}({{{returnType}}}) ApiInvoker.deserialize(response, "{{returnContainer}}", {{returnBaseType}}.class){{/returnType}}; - } - else { + } + else { return {{#returnType}}null{{/returnType}}; - } - } catch (ApiException ex) { - throw ex; - } - } - {{/operation}} + } + } catch (ApiException ex) { + throw ex; } + } + {{/operation}} +} {{/operations}} diff --git a/modules/swagger-codegen/src/main/resources/android-java/apiException.mustache b/modules/swagger-codegen/src/main/resources/android-java/apiException.mustache index 7510bb078c5..a6bcba75b7c 100644 --- a/modules/swagger-codegen/src/main/resources/android-java/apiException.mustache +++ b/modules/swagger-codegen/src/main/resources/android-java/apiException.mustache @@ -1,29 +1,29 @@ package {{invokerPackage}}; public class ApiException extends Exception { -int code = 0; -String message = null; + int code = 0; + String message = null; -public ApiException() {} + public ApiException() {} -public ApiException(int code, String message) { -this.code = code; -this.message = message; -} + public ApiException(int code, String message) { + this.code = code; + this.message = message; + } -public int getCode() { -return code; -} - -public void setCode(int code) { -this.code = code; -} - -public String getMessage() { -return message; -} - -public void setMessage(String message) { -this.message = message; -} + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } } \ No newline at end of file diff --git a/modules/swagger-codegen/src/main/resources/android-java/apiInvoker.mustache b/modules/swagger-codegen/src/main/resources/android-java/apiInvoker.mustache index 7250f3463df..e759f8264a4 100644 --- a/modules/swagger-codegen/src/main/resources/android-java/apiInvoker.mustache +++ b/modules/swagger-codegen/src/main/resources/android-java/apiInvoker.mustache @@ -52,345 +52,338 @@ import javax.net.ssl.X509TrustManager; import com.google.gson.JsonParseException; public class ApiInvoker { -private static ApiInvoker INSTANCE = new ApiInvoker(); -private Map - defaultHeaderMap = new HashMap -(); + private static ApiInvoker INSTANCE = new ApiInvoker(); + private Map defaultHeaderMap = new HashMap(); -private HttpClient client = null; + private HttpClient client = null; -private boolean ignoreSSLCertificates = false; + private boolean ignoreSSLCertificates = false; -private ClientConnectionManager ignoreSSLConnectionManager; + private ClientConnectionManager ignoreSSLConnectionManager; -/** Content type "text/plain" with UTF-8 encoding. */ -public static final ContentType TEXT_PLAIN_UTF8 = ContentType.create("text/plain", Consts.UTF_8); + /** Content type "text/plain" with UTF-8 encoding. */ + public static final ContentType TEXT_PLAIN_UTF8 = ContentType.create("text/plain", Consts.UTF_8); -/** -* ISO 8601 date time format. -* @see https://en.wikipedia.org/wiki/ISO_8601 -*/ -public static final SimpleDateFormat DATE_TIME_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); + /** + * ISO 8601 date time format. + * @see https://en.wikipedia.org/wiki/ISO_8601 + */ + public static final SimpleDateFormat DATE_TIME_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); -/** -* ISO 8601 date format. -* @see https://en.wikipedia.org/wiki/ISO_8601 -*/ -public static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd"); + /** + * ISO 8601 date format. + * @see https://en.wikipedia.org/wiki/ISO_8601 + */ + public static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd"); -static { -// Use UTC as the default time zone. -DATE_TIME_FORMAT.setTimeZone(TimeZone.getTimeZone("UTC")); -DATE_FORMAT.setTimeZone(TimeZone.getTimeZone("UTC")); + static { + // Use UTC as the default time zone. + DATE_TIME_FORMAT.setTimeZone(TimeZone.getTimeZone("UTC")); + DATE_FORMAT.setTimeZone(TimeZone.getTimeZone("UTC")); -// Set default User-Agent. -setUserAgent("Android-Java-Swagger"); -} + // Set default User-Agent. + setUserAgent("Android-Java-Swagger"); + } -public static void setUserAgent(String userAgent) { -INSTANCE.addDefaultHeader("User-Agent", userAgent); -} + public static void setUserAgent(String userAgent) { + INSTANCE.addDefaultHeader("User-Agent", userAgent); + } -public static Date parseDateTime(String str) { -try { -return DATE_TIME_FORMAT.parse(str); -} catch (java.text.ParseException e) { -throw new RuntimeException(e); -} -} + public static Date parseDateTime(String str) { + try { + return DATE_TIME_FORMAT.parse(str); + } catch (java.text.ParseException e) { + throw new RuntimeException(e); + } + } -public static Date parseDate(String str) { -try { -return DATE_FORMAT.parse(str); -} catch (java.text.ParseException e) { -throw new RuntimeException(e); -} -} + public static Date parseDate(String str) { + try { + return DATE_FORMAT.parse(str); + } catch (java.text.ParseException e) { + throw new RuntimeException(e); + } + } -public static String formatDateTime(Date datetime) { -return DATE_TIME_FORMAT.format(datetime); -} + public static String formatDateTime(Date datetime) { + return DATE_TIME_FORMAT.format(datetime); + } -public static String formatDate(Date date) { -return DATE_FORMAT.format(date); -} + public static String formatDate(Date date) { + return DATE_FORMAT.format(date); + } -public static String parameterToString(Object param) { -if (param == null) { -return ""; -} else if (param instanceof Date) { -return formatDateTime((Date) param); -} else if (param instanceof Collection) { -StringBuilder b = new StringBuilder(); -for(Object o : (Collection)param) { -if(b.length() > 0) { -b.append(","); -} -b.append(String.valueOf(o)); -} -return b.toString(); -} else { -return String.valueOf(param); -} -} + public static String parameterToString(Object param) { + if (param == null) { + return ""; + } else if (param instanceof Date) { + return formatDateTime((Date) param); + } else if (param instanceof Collection) { + StringBuilder b = new StringBuilder(); + for(Object o : (Collection)param) { + if(b.length() > 0) { + b.append(","); + } + b.append(String.valueOf(o)); + } + return b.toString(); + } else { + return String.valueOf(param); + } + } -public ApiInvoker() { -initConnectionManager(); -} + public ApiInvoker() { + initConnectionManager(); + } -public static ApiInvoker getInstance() { -return INSTANCE; -} + public static ApiInvoker getInstance() { + return INSTANCE; + } -public void ignoreSSLCertificates(boolean ignoreSSLCertificates) { -this.ignoreSSLCertificates = ignoreSSLCertificates; -} + public void ignoreSSLCertificates(boolean ignoreSSLCertificates) { + this.ignoreSSLCertificates = ignoreSSLCertificates; + } -public void addDefaultHeader(String key, String value) { -defaultHeaderMap.put(key, value); -} + public void addDefaultHeader(String key, String value) { + defaultHeaderMap.put(key, value); + } -public String escapeString(String str) { -return str; -} + public String escapeString(String str) { + return str; + } -public static Object deserialize(String json, String containerType, Class cls) throws ApiException { -try{ -if("list".equalsIgnoreCase(containerType) || "array".equalsIgnoreCase(containerType)) { -return JsonUtil.deserializeToList(json, cls); -} -else if(String.class.equals(cls)) { -if(json != null && json.startsWith("\"") && json.endsWith("\"") && json.length() > 1) -return json.substring(1, json.length() - 2); -else -return json; -} -else { -return JsonUtil.deserializeToObject(json, cls); -} -} -catch (JsonParseException e) { -throw new ApiException(500, e.getMessage()); -} -} + public static Object deserialize(String json, String containerType, Class cls) throws ApiException { + try{ + if("list".equalsIgnoreCase(containerType) || "array".equalsIgnoreCase(containerType)) { + return JsonUtil.deserializeToList(json, cls); + } + else if(String.class.equals(cls)) { + if(json != null && json.startsWith("\"") && json.endsWith("\"") && json.length() > 1) + return json.substring(1, json.length() - 2); + else + return json; + } + else { + return JsonUtil.deserializeToObject(json, cls); + } + } + catch (JsonParseException e) { + throw new ApiException(500, e.getMessage()); + } + } -public static String serialize(Object obj) throws ApiException { -try { -if (obj != null) -return JsonUtil.serialize(obj); -else -return null; -} -catch (Exception e) { -throw new ApiException(500, e.getMessage()); -} -} + public static String serialize(Object obj) throws ApiException { + try { + if (obj != null) + return JsonUtil.serialize(obj); + else + return null; + } + catch (Exception e) { + throw new ApiException(500, e.getMessage()); + } + } -public String invokeAPI(String host, String path, String method, Map - queryParams, Object body, Map - headerParams, Map - formParams, String contentType) throws ApiException { -HttpClient client = getClient(host); + public String invokeAPI(String host, String path, String method, Map queryParams, Object body, Map headerParams, Map formParams, String contentType) throws ApiException { + HttpClient client = getClient(host); -StringBuilder b = new StringBuilder(); -for(String key : queryParams.keySet()) { -String value = queryParams.get(key); -if (value != null){ -if(b.toString().length() == 0) -b.append("?"); -else -b.append("&"); -b.append(escapeString(key)).append("=").append(escapeString(value)); -} -} -String url = host + path + b.toString(); + StringBuilder b = new StringBuilder(); + for(String key : queryParams.keySet()) { + String value = queryParams.get(key); + if (value != null){ + if(b.toString().length() == 0) + b.append("?"); + else + b.append("&"); + b.append(escapeString(key)).append("=").append(escapeString(value)); + } + } + String url = host + path + b.toString(); -HashMap - headers = new HashMap -(); + HashMap headers = new HashMap(); -for(String key : headerParams.keySet()) { -headers.put(key, headerParams.get(key)); -} + for(String key : headerParams.keySet()) { + headers.put(key, headerParams.get(key)); + } -for(String key : defaultHeaderMap.keySet()) { -if(!headerParams.containsKey(key)) { -headers.put(key, defaultHeaderMap.get(key)); -} -} -headers.put("Accept", "application/json"); + for(String key : defaultHeaderMap.keySet()) { + if(!headerParams.containsKey(key)) { + headers.put(key, defaultHeaderMap.get(key)); + } + } + headers.put("Accept", "application/json"); -// URL encoded string from form parameters -String formParamStr = null; + // URL encoded string from form parameters + String formParamStr = null; -// for form data -if ("application/x-www-form-urlencoded".equals(contentType)) { -StringBuilder formParamBuilder = new StringBuilder(); + // for form data + if ("application/x-www-form-urlencoded".equals(contentType)) { + StringBuilder formParamBuilder = new StringBuilder(); -// encode the form params -for (String key : formParams.keySet()) { -String value = formParams.get(key); -if (value != null && !"".equals(value.trim())) { -if (formParamBuilder.length() > 0) { -formParamBuilder.append("&"); -} -try { -formParamBuilder.append(URLEncoder.encode(key, "utf8")).append("=").append(URLEncoder.encode(value, "utf8")); -} -catch (Exception e) { -// move on to next -} -} -} -formParamStr = formParamBuilder.toString(); -} + // encode the form params + for (String key : formParams.keySet()) { + String value = formParams.get(key); + if (value != null && !"".equals(value.trim())) { + if (formParamBuilder.length() > 0) { + formParamBuilder.append("&"); + } + try { + formParamBuilder.append(URLEncoder.encode(key, "utf8")).append("=").append(URLEncoder.encode(value, "utf8")); + } + catch (Exception e) { + // move on to next + } + } + } + formParamStr = formParamBuilder.toString(); + } -HttpResponse response = null; -try { -if ("GET".equals(method)) { -HttpGet get = new HttpGet(url); -get.addHeader("Accept", "application/json"); -for(String key : headers.keySet()) { -get.setHeader(key, headers.get(key)); -} -response = client.execute(get); -} -else if ("POST".equals(method)) { -HttpPost post = new HttpPost(url); -if (formParamStr != null) { -post.setHeader("Content-Type", contentType); -post.setEntity(new StringEntity(formParamStr, "UTF-8")); -} else if (body != null) { -if (body instanceof HttpEntity) { -// this is for file uploading -post.setEntity((HttpEntity) body); -} else { -post.setHeader("Content-Type", contentType); -post.setEntity(new StringEntity(serialize(body), "UTF-8")); -} -} -for(String key : headers.keySet()) { -post.setHeader(key, headers.get(key)); -} -response = client.execute(post); -} -else if ("PUT".equals(method)) { -HttpPut put = new HttpPut(url); -if (formParamStr != null) { -put.setHeader("Content-Type", contentType); -put.setEntity(new StringEntity(formParamStr, "UTF-8")); -} else if (body != null) { -put.setHeader("Content-Type", contentType); -put.setEntity(new StringEntity(serialize(body), "UTF-8")); -} -for(String key : headers.keySet()) { -put.setHeader(key, headers.get(key)); -} -response = client.execute(put); -} -else if ("DELETE".equals(method)) { -HttpDelete delete = new HttpDelete(url); -for(String key : headers.keySet()) { -delete.setHeader(key, headers.get(key)); -} -response = client.execute(delete); -} -else if ("PATCH".equals(method)) { -HttpPatch patch = new HttpPatch(url); -if (formParamStr != null) { -patch.setHeader("Content-Type", contentType); -patch.setEntity(new StringEntity(formParamStr, "UTF-8")); -} else if (body != null) { -patch.setHeader("Content-Type", contentType); -patch.setEntity(new StringEntity(serialize(body), "UTF-8")); -} -for(String key : headers.keySet()) { -patch.setHeader(key, headers.get(key)); -} -response = client.execute(patch); -} + HttpResponse response = null; + try { + if ("GET".equals(method)) { + HttpGet get = new HttpGet(url); + get.addHeader("Accept", "application/json"); + for(String key : headers.keySet()) { + get.setHeader(key, headers.get(key)); + } + response = client.execute(get); + } + else if ("POST".equals(method)) { + HttpPost post = new HttpPost(url); + if (formParamStr != null) { + post.setHeader("Content-Type", contentType); + post.setEntity(new StringEntity(formParamStr, "UTF-8")); + } else if (body != null) { + if (body instanceof HttpEntity) { + // this is for file uploading + post.setEntity((HttpEntity) body); + } else { + post.setHeader("Content-Type", contentType); + post.setEntity(new StringEntity(serialize(body), "UTF-8")); + } + } + for(String key : headers.keySet()) { + post.setHeader(key, headers.get(key)); + } + response = client.execute(post); + } + else if ("PUT".equals(method)) { + HttpPut put = new HttpPut(url); + if (formParamStr != null) { + put.setHeader("Content-Type", contentType); + put.setEntity(new StringEntity(formParamStr, "UTF-8")); + } else if (body != null) { + put.setHeader("Content-Type", contentType); + put.setEntity(new StringEntity(serialize(body), "UTF-8")); + } + for(String key : headers.keySet()) { + put.setHeader(key, headers.get(key)); + } + response = client.execute(put); + } + else if ("DELETE".equals(method)) { + HttpDelete delete = new HttpDelete(url); + for(String key : headers.keySet()) { + delete.setHeader(key, headers.get(key)); + } + response = client.execute(delete); + } + else if ("PATCH".equals(method)) { + HttpPatch patch = new HttpPatch(url); + if (formParamStr != null) { + patch.setHeader("Content-Type", contentType); + patch.setEntity(new StringEntity(formParamStr, "UTF-8")); + } else if (body != null) { + patch.setHeader("Content-Type", contentType); + patch.setEntity(new StringEntity(serialize(body), "UTF-8")); + } + for(String key : headers.keySet()) { + patch.setHeader(key, headers.get(key)); + } + response = client.execute(patch); + } -int code = response.getStatusLine().getStatusCode(); -String responseString = null; -if(code == 204) -responseString = ""; -else if(code >= 200 && code < 300) { -if(response.getEntity() != null) { -HttpEntity resEntity = response.getEntity(); -responseString = EntityUtils.toString(resEntity); -} -return responseString; -} -else { -if(response.getEntity() != null) { -HttpEntity resEntity = response.getEntity(); -responseString = EntityUtils.toString(resEntity); -} -else -responseString = "no data"; -} -throw new ApiException(code, responseString); -} -catch(IOException e) { -throw new ApiException(500, e.getMessage()); -} -} + int code = response.getStatusLine().getStatusCode(); + String responseString = null; + if(code == 204) + responseString = ""; + else if(code >= 200 && code < 300) { + if(response.getEntity() != null) { + HttpEntity resEntity = response.getEntity(); + responseString = EntityUtils.toString(resEntity); + } + return responseString; + } + else { + if(response.getEntity() != null) { + HttpEntity resEntity = response.getEntity(); + responseString = EntityUtils.toString(resEntity); + } + else + responseString = "no data"; + } + throw new ApiException(code, responseString); + } + catch(IOException e) { + throw new ApiException(500, e.getMessage()); + } + } -private HttpClient getClient(String host) { -if (client == null) { -if (ignoreSSLCertificates && ignoreSSLConnectionManager != null) { -// Trust self signed certificates -client = new DefaultHttpClient(ignoreSSLConnectionManager, new BasicHttpParams()); -} else { -client = new DefaultHttpClient(); -} -} -return client; -} + private HttpClient getClient(String host) { + if (client == null) { + if (ignoreSSLCertificates && ignoreSSLConnectionManager != null) { + // Trust self signed certificates + client = new DefaultHttpClient(ignoreSSLConnectionManager, new BasicHttpParams()); + } else { + client = new DefaultHttpClient(); + } + } + return client; + } -private void initConnectionManager() { -try { -final SSLContext sslContext = SSLContext.getInstance("SSL"); + private void initConnectionManager() { + try { + final SSLContext sslContext = SSLContext.getInstance("SSL"); -// set up a TrustManager that trusts everything -TrustManager[] trustManagers = new TrustManager[] { -new X509TrustManager() { -public X509Certificate[] getAcceptedIssuers() { -return null; -} -public void checkClientTrusted(X509Certificate[] certs, String authType) {} -public void checkServerTrusted(X509Certificate[] certs, String authType) {} -}}; - -sslContext.init(null, trustManagers, new SecureRandom()); - -SSLSocketFactory sf = new SSLSocketFactory((KeyStore)null) { -private javax.net.ssl.SSLSocketFactory sslFactory = sslContext.getSocketFactory(); - -public Socket createSocket(Socket socket, String host, int port, boolean autoClose) -throws IOException, UnknownHostException { -return sslFactory.createSocket(socket, host, port, autoClose); -} - -public Socket createSocket() throws IOException { -return sslFactory.createSocket(); -} -}; - -sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); -Scheme httpsScheme = new Scheme("https", sf, 443); -SchemeRegistry schemeRegistry = new SchemeRegistry(); -schemeRegistry.register(httpsScheme); -schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80)); - -ignoreSSLConnectionManager = new ThreadSafeClientConnManager(new BasicHttpParams(), schemeRegistry); -} catch (NoSuchAlgorithmException e) { -// This will only be thrown if SSL isn't available for some reason. -} catch (KeyManagementException e) { -// This might be thrown when passing a key into init(), but no key is being passed. -} catch (GeneralSecurityException e) { -// This catches anything else that might go wrong. -// If anything goes wrong we default to the standard connection manager. -} -} + // set up a TrustManager that trusts everything + TrustManager[] trustManagers = new TrustManager[] { + new X509TrustManager() { + public X509Certificate[] getAcceptedIssuers() { + return null; + } + public void checkClientTrusted(X509Certificate[] certs, String authType) {} + public void checkServerTrusted(X509Certificate[] certs, String authType) {} + }}; + + sslContext.init(null, trustManagers, new SecureRandom()); + + SSLSocketFactory sf = new SSLSocketFactory((KeyStore)null) { + private javax.net.ssl.SSLSocketFactory sslFactory = sslContext.getSocketFactory(); + + public Socket createSocket(Socket socket, String host, int port, boolean autoClose) + throws IOException, UnknownHostException { + return sslFactory.createSocket(socket, host, port, autoClose); + } + + public Socket createSocket() throws IOException { + return sslFactory.createSocket(); + } + }; + + sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); + Scheme httpsScheme = new Scheme("https", sf, 443); + SchemeRegistry schemeRegistry = new SchemeRegistry(); + schemeRegistry.register(httpsScheme); + schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80)); + + ignoreSSLConnectionManager = new ThreadSafeClientConnManager(new BasicHttpParams(), schemeRegistry); + } catch (NoSuchAlgorithmException e) { + // This will only be thrown if SSL isn't available for some reason. + } catch (KeyManagementException e) { + // This might be thrown when passing a key into init(), but no key is being passed. + } catch (GeneralSecurityException e) { + // This catches anything else that might go wrong. + // If anything goes wrong we default to the standard connection manager. + } + } } diff --git a/modules/swagger-codegen/src/main/resources/android-java/build.mustache b/modules/swagger-codegen/src/main/resources/android-java/build.mustache index ec30a79812c..367890f3298 100644 --- a/modules/swagger-codegen/src/main/resources/android-java/build.mustache +++ b/modules/swagger-codegen/src/main/resources/android-java/build.mustache @@ -1,93 +1,93 @@ {{#useAndroidMavenGradlePlugin}} - group = '{{groupId}}' - project.version = '{{artifactVersion}}' +group = '{{groupId}}' +project.version = '{{artifactVersion}}' {{/useAndroidMavenGradlePlugin}} buildscript { -repositories { -jcenter() -} -dependencies { -classpath 'com.android.tools.build:gradle:1.2.2' -{{#useAndroidMavenGradlePlugin}} - classpath 'com.github.dcendents:android-maven-plugin:1.2' -{{/useAndroidMavenGradlePlugin}} -} + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:1.2.2' + {{#useAndroidMavenGradlePlugin}} + classpath 'com.github.dcendents:android-maven-plugin:1.2' + {{/useAndroidMavenGradlePlugin}} + } } allprojects { -repositories { -jcenter() -} + repositories { + jcenter() + } } apply plugin: 'com.android.library' {{#useAndroidMavenGradlePlugin}} - apply plugin: 'com.github.dcendents.android-maven' +apply plugin: 'com.github.dcendents.android-maven' {{/useAndroidMavenGradlePlugin}} android { -compileSdkVersion 22 -buildToolsVersion '22.0.0' -defaultConfig { -minSdkVersion 14 -targetSdkVersion 22 -} + compileSdkVersion 22 + buildToolsVersion '22.0.0' + defaultConfig { + minSdkVersion 14 + targetSdkVersion 22 + } -// Rename the aar correctly -libraryVariants.all { variant -> -variant.outputs.each { output -> -def outputFile = output.outputFile -if (outputFile != null && outputFile.name.endsWith('.aar')) { -def fileName = "${project.name}-${variant.baseName}-${version}.aar" -output.outputFile = new File(outputFile.parent, fileName) -} -} -} + // Rename the aar correctly + libraryVariants.all { variant -> + variant.outputs.each { output -> + def outputFile = output.outputFile + if (outputFile != null && outputFile.name.endsWith('.aar')) { + def fileName = "${project.name}-${variant.baseName}-${version}.aar" + output.outputFile = new File(outputFile.parent, fileName) + } + } + } } ext { -swagger_annotations_version = "1.5.0" -gson_version = "2.3.1" -httpclient_version = "4.3.3" -junit_version = "4.8.1" + swagger_annotations_version = "1.5.0" + gson_version = "2.3.1" + httpclient_version = "4.3.3" + junit_version = "4.8.1" } dependencies { -compile "io.swagger:swagger-annotations:$swagger_annotations_version" -compile "com.google.code.gson:gson:$gson_version" -compile "org.apache.httpcomponents:httpcore:$httpclient_version" -compile "org.apache.httpcomponents:httpclient:$httpclient_version" -compile ("org.apache.httpcomponents:httpcore:$httpclient_version") { -exclude(group: 'org.apache.httpcomponents', module: 'httpclient') -} -compile ("org.apache.httpcomponents:httpmime:$httpclient_version") { -exclude(group: 'org.apache.httpcomponents', module: 'httpclient') -} -testCompile "junit:junit:$junit_version" + compile "io.swagger:swagger-annotations:$swagger_annotations_version" + compile "com.google.code.gson:gson:$gson_version" + compile "org.apache.httpcomponents:httpcore:$httpclient_version" + compile "org.apache.httpcomponents:httpclient:$httpclient_version" + compile ("org.apache.httpcomponents:httpcore:$httpclient_version") { + exclude(group: 'org.apache.httpcomponents', module: 'httpclient') + } + compile ("org.apache.httpcomponents:httpmime:$httpclient_version") { + exclude(group: 'org.apache.httpcomponents', module: 'httpclient') + } + testCompile "junit:junit:$junit_version" } afterEvaluate { -android.libraryVariants.all { variant -> -def task = project.tasks.create "jar${variant.name.capitalize()}", Jar -task.description = "Create jar artifact for ${variant.name}" -task.dependsOn variant.javaCompile -task.from variant.javaCompile.destinationDir -task.destinationDir = project.file("${project.buildDir}/outputs/jar") -task.archiveName = "${project.name}-${variant.baseName}-${version}.jar" -artifacts.add('archives', task); -} + android.libraryVariants.all { variant -> + def task = project.tasks.create "jar${variant.name.capitalize()}", Jar + task.description = "Create jar artifact for ${variant.name}" + task.dependsOn variant.javaCompile + task.from variant.javaCompile.destinationDir + task.destinationDir = project.file("${project.buildDir}/outputs/jar") + task.archiveName = "${project.name}-${variant.baseName}-${version}.jar" + artifacts.add('archives', task); + } } {{#useAndroidMavenGradlePlugin}} - task sourcesJar(type: Jar) { +task sourcesJar(type: Jar) { from android.sourceSets.main.java.srcDirs classifier = 'sources' - } +} - artifacts { +artifacts { archives sourcesJar - } +} {{/useAndroidMavenGradlePlugin}} \ No newline at end of file diff --git a/modules/swagger-codegen/src/main/resources/android-java/httpPatch.mustache b/modules/swagger-codegen/src/main/resources/android-java/httpPatch.mustache index 72b9ec2e42b..55cec2f1279 100644 --- a/modules/swagger-codegen/src/main/resources/android-java/httpPatch.mustache +++ b/modules/swagger-codegen/src/main/resources/android-java/httpPatch.mustache @@ -3,14 +3,14 @@ package {{invokerPackage}}; import org.apache.http.client.methods.*; public class HttpPatch extends HttpPost { -public static final String METHOD_PATCH = "PATCH"; + public static final String METHOD_PATCH = "PATCH"; -public HttpPatch(final String url) { -super(url); -} + public HttpPatch(final String url) { + super(url); + } -@Override -public String getMethod() { -return METHOD_PATCH; -} + @Override + public String getMethod() { + return METHOD_PATCH; + } } \ No newline at end of file diff --git a/modules/swagger-codegen/src/main/resources/android-java/jsonUtil.mustache b/modules/swagger-codegen/src/main/resources/android-java/jsonUtil.mustache index fb88b7f701c..ae8d18d3731 100644 --- a/modules/swagger-codegen/src/main/resources/android-java/jsonUtil.mustache +++ b/modules/swagger-codegen/src/main/resources/android-java/jsonUtil.mustache @@ -8,55 +8,48 @@ import java.util.List; import {{modelPackage}}.*; public class JsonUtil { -public static GsonBuilder gsonBuilder; + public static GsonBuilder gsonBuilder; -static { -gsonBuilder = new GsonBuilder(); -gsonBuilder.serializeNulls(); -gsonBuilder.setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); -} + static { + gsonBuilder = new GsonBuilder(); + gsonBuilder.serializeNulls(); + gsonBuilder.setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); + } -public static Gson getGson() { -return gsonBuilder.create(); -} + public static Gson getGson() { + return gsonBuilder.create(); + } -public static String serialize(Object obj){ -return getGson().toJson(obj); -} + public static String serialize(Object obj){ + return getGson().toJson(obj); + } -public static - T deserializeToList(String jsonString, Class cls){ + public static T deserializeToList(String jsonString, Class cls){ return getGson().fromJson(jsonString, getListTypeForDeserialization(cls)); + } + + public static T deserializeToObject(String jsonString, Class cls){ + return getGson().fromJson(jsonString, getTypeForDeserialization(cls)); + } + + public static Type getListTypeForDeserialization(Class cls) { + String className = cls.getSimpleName(); + {{#models}}{{#model}} + if ("{{classname}}".equalsIgnoreCase(className)) { + return new TypeToken>(){}.getType(); } + {{/model}}{{/models}} + return new TypeToken>(){}.getType(); + } - public static - T deserializeToObject(String jsonString, Class cls){ - return getGson().fromJson(jsonString, getTypeForDeserialization(cls)); - } + public static Type getTypeForDeserialization(Class cls) { + String className = cls.getSimpleName(); + {{#models}}{{#model}} + if ("{{classname}}".equalsIgnoreCase(className)) { + return new TypeToken<{{classname}}>(){}.getType(); + } + {{/model}}{{/models}} + return new TypeToken(){}.getType(); + } - public static Type getListTypeForDeserialization(Class cls) { - String className = cls.getSimpleName(); - {{#models}}{{#model}} - if ("{{classname}}".equalsIgnoreCase(className)) { - return new TypeToken - >(){}.getType(); - } - {{/model}}{{/models}} - return new TypeToken - >(){}.getType(); - } - - public static Type getTypeForDeserialization(Class cls) { - String className = cls.getSimpleName(); - {{#models}}{{#model}} - if ("{{classname}}".equalsIgnoreCase(className)) { - return new TypeToken<{{classname}}>(){}.getType(); - } - {{/model}}{{/models}} - return new TypeToken - (){}.getType(); - } - - }; +}; diff --git a/modules/swagger-codegen/src/main/resources/android-java/manifest.mustache b/modules/swagger-codegen/src/main/resources/android-java/manifest.mustache index b36579739f9..165749c3cc4 100644 --- a/modules/swagger-codegen/src/main/resources/android-java/manifest.mustache +++ b/modules/swagger-codegen/src/main/resources/android-java/manifest.mustache @@ -1,3 +1,3 @@ - + diff --git a/modules/swagger-codegen/src/main/resources/android-java/model.mustache b/modules/swagger-codegen/src/main/resources/android-java/model.mustache index 411cd69f71a..6c805a832e4 100644 --- a/modules/swagger-codegen/src/main/resources/android-java/model.mustache +++ b/modules/swagger-codegen/src/main/resources/android-java/model.mustache @@ -7,46 +7,46 @@ import io.swagger.annotations.*; import com.google.gson.annotations.SerializedName; {{#models}} - {{#model}}{{#description}} - /** - * {{description}} - **/{{/description}} - @ApiModel(description = "{{{description}}}") - public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} { - {{#vars}}{{#isEnum}} - public enum {{datatypeWithEnum}} { - {{#allowableValues}}{{#values}} {{.}}, {{/values}}{{/allowableValues}} - }; - @SerializedName("{{baseName}}") - private {{{datatypeWithEnum}}} {{name}} = {{{defaultValue}}};{{/isEnum}}{{^isEnum}} - @SerializedName("{{baseName}}") - private {{{datatype}}} {{name}} = {{{defaultValue}}};{{/isEnum}}{{/vars}} +{{#model}}{{#description}} +/** + * {{description}} + **/{{/description}} +@ApiModel(description = "{{{description}}}") +public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} { + {{#vars}}{{#isEnum}} + public enum {{datatypeWithEnum}} { + {{#allowableValues}}{{#values}} {{.}}, {{/values}}{{/allowableValues}} + }; + @SerializedName("{{baseName}}") + private {{{datatypeWithEnum}}} {{name}} = {{{defaultValue}}};{{/isEnum}}{{^isEnum}} + @SerializedName("{{baseName}}") + private {{{datatype}}} {{name}} = {{{defaultValue}}};{{/isEnum}}{{/vars}} - {{#vars}} - /**{{#description}} - * {{{description}}}{{/description}}{{#minimum}} - * minimum: {{minimum}}{{/minimum}}{{#maximum}} - * maximum: {{maximum}}{{/maximum}} - **/ - @ApiModelProperty({{#required}}required = {{required}}, {{/required}}value = "{{{description}}}") - public {{{datatypeWithEnum}}} {{getter}}() { - return {{name}}; - } - public void {{setter}}({{{datatypeWithEnum}}} {{name}}) { - this.{{name}} = {{name}}; - } + {{#vars}} + /**{{#description}} + * {{{description}}}{{/description}}{{#minimum}} + * minimum: {{minimum}}{{/minimum}}{{#maximum}} + * maximum: {{maximum}}{{/maximum}} + **/ + @ApiModelProperty({{#required}}required = {{required}}, {{/required}}value = "{{{description}}}") + public {{{datatypeWithEnum}}} {{getter}}() { + return {{name}}; + } + public void {{setter}}({{{datatypeWithEnum}}} {{name}}) { + this.{{name}} = {{name}}; + } - {{/vars}} + {{/vars}} - @Override - public String toString() { + @Override + public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class {{classname}} {\n"); {{#parent}}sb.append(" " + super.toString()).append("\n");{{/parent}} {{#vars}}sb.append(" {{name}}: ").append({{name}}).append("\n"); {{/vars}}sb.append("}\n"); return sb.toString(); - } - } - {{/model}} + } +} +{{/model}} {{/models}} diff --git a/modules/swagger-codegen/src/main/resources/android-java/pom.mustache b/modules/swagger-codegen/src/main/resources/android-java/pom.mustache index b78ae08991b..05388db4e11 100644 --- a/modules/swagger-codegen/src/main/resources/android-java/pom.mustache +++ b/modules/swagger-codegen/src/main/resources/android-java/pom.mustache @@ -1,158 +1,155 @@ - 4.0.0 - {{groupId}} - {{artifactId}} - jar - {{artifactId}} - {{artifactVersion}} - - scm:git:git@github.com:swagger-api/swagger-mustache.git - scm:git:git@github.com:swagger-api/swagger-codegen.git - https://github.com/swagger-api/swagger-codegen - - - 2.2.0 - + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + 4.0.0 + {{groupId}} + {{artifactId}} + jar + {{artifactId}} + {{artifactVersion}} + + scm:git:git@github.com:swagger-api/swagger-mustache.git + scm:git:git@github.com:swagger-api/swagger-codegen.git + https://github.com/swagger-api/swagger-codegen + + + 2.2.0 + - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.12 - - - - loggerPath - conf/log4j.properties - - - -Xms512m -Xmx1500m - methods - pertest - - - - maven-dependency-plugin - - - package - - copy-dependencies - - - ${project.build.directory}/lib - - - - + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.12 + + + + loggerPath + conf/log4j.properties + + + -Xms512m -Xmx1500m + methods + pertest + + + + maven-dependency-plugin + + + package + + copy-dependencies + + + ${project.build.directory}/lib + + + + - - - org.apache.maven.plugins - maven-jar-plugin - 2.2 - - - - jar - test-jar - - - - - - + + + org.apache.maven.plugins + maven-jar-plugin + 2.2 + + + + jar + test-jar + + + + + + - - org.codehaus.mojo - build-helper-maven-plugin - - - add_sources - generate-sources - - add-source - - - - - src/main/java - - - - - add_test_sources - generate-test-sources - - add-test-source - - - - - src/test/java - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 2.3.2 - - - 1.6 - 1.6 - - - - - - - io.swagger - swagger-annotations - ${swagger-annotations-version} - - - com.google.code.gson - gson - ${gson-version} - - - org.apache.httpcomponents - httpclient - ${httpclient-version} - compile - - - org.apache.httpcomponents - httpmime - ${httpclient-version} - compile - + + org.codehaus.mojo + build-helper-maven-plugin + + + add_sources + generate-sources + + add-source + + + + src/main/java + + + + + add_test_sources + generate-test-sources + + add-test-source + + + + src/test/java + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 2.3.2 + + 1.6 + 1.6 + + + + + + + io.swagger + swagger-annotations + ${swagger-annotations-version} + + + com.google.code.gson + gson + ${gson-version} + + + org.apache.httpcomponents + httpclient + ${httpclient-version} + compile + + + org.apache.httpcomponents + httpmime + ${httpclient-version} + compile + - - - junit - junit - ${junit-version} - test - - - - - sonatype-snapshots - https://oss.sonatype.org/content/repositories/snapshots - - - - 1.5.0 - 2.3.1 - 4.8.1 - 1.0.0 - 4.8.1 - 4.3.6 - + + + junit + junit + ${junit-version} + test + + + + + sonatype-snapshots + https://oss.sonatype.org/content/repositories/snapshots + + + + 1.5.0 + 2.3.1 + 4.8.1 + 1.0.0 + 4.8.1 + 4.3.6 + \ No newline at end of file