diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AndroidClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AndroidClientCodegen.java index ffe1467a7e..2b2115a102 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AndroidClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AndroidClientCodegen.java @@ -15,8 +15,11 @@ import java.util.Arrays; import java.util.HashSet; import org.apache.commons.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class AndroidClientCodegen extends DefaultCodegen implements CodegenConfig { + private static final Logger LOGGER = LoggerFactory.getLogger(AndroidClientCodegen.class); public static final String USE_ANDROID_MAVEN_GRADLE_PLUGIN = "useAndroidMavenGradlePlugin"; protected String invokerPackage = "io.swagger.client"; protected String groupId = "io.swagger"; @@ -177,14 +180,18 @@ public class AndroidClientCodegen extends DefaultCodegen implements CodegenConfi @Override public String toModelName(String name) { - // model name cannot use reserved keyword, e.g. return - if (reservedWords.contains(name)) { - throw new RuntimeException(name + " (reserved word) cannot be used as a model name"); - } - // camelize the model name // phone_number => PhoneNumber - return camelize(name); + name = camelize(sanitizeName(name)); + + // model name cannot use reserved keyword, e.g. return + if (reservedWords.contains(name)) { + String modelName = "Object" + name; + LOGGER.warn(name + " (reserved word) cannot be used as model name. Renamed to " + modelName); + return modelName; + } + + return name; } @Override @@ -200,12 +207,16 @@ public class AndroidClientCodegen extends DefaultCodegen implements CodegenConfi throw new RuntimeException("Empty method name (operationId) not allowed"); } + operationId = camelize(sanitizeName(operationId), true); + // method name cannot use reserved keyword, e.g. return if (reservedWords.contains(operationId)) { - throw new RuntimeException(operationId + " (reserved word) cannot be used as method name"); + String newOperationId = camelize("call_" + operationId, true); + LOGGER.warn(operationId + " (reserved word) cannot be used as method name. Renamed to " + newOperationId); + return newOperationId; } - return camelize(operationId, true); + return operationId; } @Override diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java index 5445af2e96..cde6c6925f 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java @@ -379,14 +379,18 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { public String toModelName(String name) { name = sanitizeName(name); // FIXME: a parameter should not be assigned. Also declare the methods parameters as 'final'. - // model name cannot use reserved keyword, e.g. return - if (reservedWords.contains(name)) { - throw new RuntimeException(name + " (reserved word) cannot be used as a model name"); - } - // camelize the model name // phone_number => PhoneNumber - return camelize(name); + name = camelize(name); + + // model name cannot use reserved keyword, e.g. return + if (reservedWords.contains(name)) { + String modelName = "Object" + name; + LOGGER.warn(name + " (reserved word) cannot be used as model name. Renamed to " + modelName); + return modelName; + } + + return name; } @Override @@ -501,12 +505,16 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { throw new RuntimeException("Empty method/operation name (operationId) not allowed"); } + operationId = camelize(sanitizeName(operationId), true); + // method name cannot use reserved keyword, e.g. return if (reservedWords.contains(operationId)) { - throw new RuntimeException(operationId + " (reserved word) cannot be used as method name"); + String newOperationId = camelize("call_" + operationId, true); + LOGGER.warn(operationId + " (reserved word) cannot be used as method name. Renamed to " + newOperationId); + return newOperationId; } - return camelize(sanitizeName(operationId), true); + return operationId; } @Override diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/RubyClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/RubyClientCodegen.java index 83cecabfbb..58dd8f203d 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/RubyClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/RubyClientCodegen.java @@ -14,8 +14,11 @@ import java.util.HashSet; import java.util.Iterator; import org.apache.commons.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class RubyClientCodegen extends DefaultCodegen implements CodegenConfig { + private static final Logger LOGGER = LoggerFactory.getLogger(RubyClientCodegen.class); public static final String GEM_NAME = "gemName"; public static final String MODULE_NAME = "moduleName"; public static final String GEM_VERSION = "gemVersion"; diff --git a/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/PetApi.java index e75d7ca714..1683d09e8f 100644 --- a/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/PetApi.java @@ -15,7 +15,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2016-02-23T20:01:57.005+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2016-02-25T16:09:10.101+08:00") public class PetApi { private ApiClient apiClient; @@ -412,12 +412,12 @@ public class PetApi { * @return byte[] * @throws ApiException if fails to make API call */ - public byte[] getPetByIdWithByteArray(Long petId) throws ApiException { + public byte[] petPetIdtestingByteArraytrueGet(Long petId) throws ApiException { Object postBody = null; // verify the required parameter 'petId' is set if (petId == null) { - throw new ApiException(400, "Missing the required parameter 'petId' when calling getPetByIdWithByteArray"); + throw new ApiException(400, "Missing the required parameter 'petId' when calling petPetIdtestingByteArraytrueGet"); } // create path and map variables diff --git a/samples/client/petstore/java/default/src/test/java/io/swagger/petstore/test/PetApiTest.java b/samples/client/petstore/java/default/src/test/java/io/swagger/petstore/test/PetApiTest.java index dece3403fd..52956a229d 100644 --- a/samples/client/petstore/java/default/src/test/java/io/swagger/petstore/test/PetApiTest.java +++ b/samples/client/petstore/java/default/src/test/java/io/swagger/petstore/test/PetApiTest.java @@ -78,7 +78,7 @@ public class PetApiTest { byte[] bytes = serializeJson(pet).getBytes(); api.addPetUsingByteArray(bytes); - byte[] fetchedBytes = api.getPetByIdWithByteArray(pet.getId()); + byte[] fetchedBytes = api.petPetIdtestingByteArraytrueGet(pet.getId()); Pet fetched = deserializeJson(new String(fetchedBytes), Pet.class); assertNotNull(fetched); assertEquals(pet.getId(), fetched.getId()); diff --git a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/api/PetApi.java index b47c140e3f..d9356ceea7 100644 --- a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/api/PetApi.java @@ -11,7 +11,7 @@ import java.util.List; import java.util.Map; import feign.*; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2016-02-17T17:16:23.375+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2016-02-25T16:20:49.744+08:00") public interface PetApi extends ApiClient.Api { @@ -136,7 +136,7 @@ public interface PetApi extends ApiClient.Api { "Content-type: application/json", "Accepts: application/json", }) - byte[] getPetByIdWithByteArray(@Param("petId") Long petId); + byte[] petPetIdtestingByteArraytrueGet(@Param("petId") Long petId); /** * Fake endpoint to test byte array in body parameter for adding a new pet to the store diff --git a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/PetApi.java index aff2c130ec..cb977bed90 100644 --- a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/PetApi.java @@ -15,7 +15,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2016-02-23T20:02:09.740+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2016-02-25T16:20:48.283+08:00") public class PetApi { private ApiClient apiClient; @@ -412,12 +412,12 @@ public class PetApi { * @return byte[] * @throws ApiException if fails to make API call */ - public byte[] getPetByIdWithByteArray(Long petId) throws ApiException { + public byte[] petPetIdtestingByteArraytrueGet(Long petId) throws ApiException { Object postBody = null; // verify the required parameter 'petId' is set if (petId == null) { - throw new ApiException(400, "Missing the required parameter 'petId' when calling getPetByIdWithByteArray"); + throw new ApiException(400, "Missing the required parameter 'petId' when calling petPetIdtestingByteArraytrueGet"); } // create path and map variables diff --git a/samples/client/petstore/java/jersey2/src/test/java/io/swagger/petstore/test/PetApiTest.java b/samples/client/petstore/java/jersey2/src/test/java/io/swagger/petstore/test/PetApiTest.java index a135b3c352..cf74f0dc5e 100644 --- a/samples/client/petstore/java/jersey2/src/test/java/io/swagger/petstore/test/PetApiTest.java +++ b/samples/client/petstore/java/jersey2/src/test/java/io/swagger/petstore/test/PetApiTest.java @@ -75,7 +75,7 @@ public class PetApiTest { byte[] bytes = serializeJson(pet, api.getApiClient()).getBytes(); api.addPetUsingByteArray(bytes); - byte[] fetchedBytes = api.getPetByIdWithByteArray(pet.getId()); + byte[] fetchedBytes = api.petPetIdtestingByteArraytrueGet(pet.getId()); Pet fetched = deserializeJson(new String(fetchedBytes), Pet.class, api.getApiClient()); assertNotNull(fetched); assertEquals(pet.getId(), fetched.getId()); diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/PetApi.java index 99f7495570..6b53a312d9 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/PetApi.java @@ -895,13 +895,13 @@ public class PetApi { return call; } - /* Build call for getPetByIdWithByteArray */ - private Call getPetByIdWithByteArrayCall(Long petId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { + /* Build call for petPetIdtestingByteArraytrueGet */ + private Call petPetIdtestingByteArraytrueGetCall(Long petId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { Object postBody = null; // verify the required parameter 'petId' is set if (petId == null) { - throw new ApiException("Missing the required parameter 'petId' when calling getPetByIdWithByteArray(Async)"); + throw new ApiException("Missing the required parameter 'petId' when calling petPetIdtestingByteArraytrueGet(Async)"); } @@ -950,8 +950,8 @@ public class PetApi { * @return byte[] * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body */ - public byte[] getPetByIdWithByteArray(Long petId) throws ApiException { - ApiResponse resp = getPetByIdWithByteArrayWithHttpInfo(petId); + public byte[] petPetIdtestingByteArraytrueGet(Long petId) throws ApiException { + ApiResponse resp = petPetIdtestingByteArraytrueGetWithHttpInfo(petId); return resp.getData(); } @@ -962,8 +962,8 @@ public class PetApi { * @return ApiResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body */ - public ApiResponse getPetByIdWithByteArrayWithHttpInfo(Long petId) throws ApiException { - Call call = getPetByIdWithByteArrayCall(petId, null, null); + public ApiResponse petPetIdtestingByteArraytrueGetWithHttpInfo(Long petId) throws ApiException { + Call call = petPetIdtestingByteArraytrueGetCall(petId, null, null); Type returnType = new TypeToken(){}.getType(); return apiClient.execute(call, returnType); } @@ -976,7 +976,7 @@ public class PetApi { * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object */ - public Call getPetByIdWithByteArrayAsync(Long petId, final ApiCallback callback) throws ApiException { + public Call petPetIdtestingByteArraytrueGetAsync(Long petId, final ApiCallback callback) throws ApiException { ProgressResponseBody.ProgressListener progressListener = null; ProgressRequestBody.ProgressRequestListener progressRequestListener = null; @@ -997,7 +997,7 @@ public class PetApi { }; } - Call call = getPetByIdWithByteArrayCall(petId, progressListener, progressRequestListener); + Call call = petPetIdtestingByteArraytrueGetCall(petId, progressListener, progressRequestListener); Type returnType = new TypeToken(){}.getType(); apiClient.executeAsync(call, returnType, callback); return call; diff --git a/samples/client/petstore/java/okhttp-gson/src/test/java/io/swagger/petstore/test/PetApiTest.java b/samples/client/petstore/java/okhttp-gson/src/test/java/io/swagger/petstore/test/PetApiTest.java index b6f9c38372..a0b9a19792 100644 --- a/samples/client/petstore/java/okhttp-gson/src/test/java/io/swagger/petstore/test/PetApiTest.java +++ b/samples/client/petstore/java/okhttp-gson/src/test/java/io/swagger/petstore/test/PetApiTest.java @@ -79,7 +79,7 @@ public class PetApiTest { byte[] bytes = serializeJson(pet, api.getApiClient()).getBytes(); api.addPetUsingByteArray(bytes); - byte[] fetchedBytes = api.getPetByIdWithByteArray(pet.getId()); + byte[] fetchedBytes = api.petPetIdtestingByteArraytrueGet(pet.getId()); System.out.println(new String(fetchedBytes)); Type type = new TypeToken(){}.getType(); Pet fetched = deserializeJson(new String(fetchedBytes), type, api.getApiClient()); diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java index 84c62ee239..7a6db104c8 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java @@ -247,7 +247,7 @@ public interface PetApi { */ @GET("/pet/{petId}?testing_byte_array=true") - byte[] getPetByIdWithByteArray( + byte[] petPetIdtestingByteArraytrueGet( @Path("petId") Long petId ); @@ -260,7 +260,7 @@ public interface PetApi { */ @GET("/pet/{petId}?testing_byte_array=true") - void getPetByIdWithByteArray( + void petPetIdtestingByteArraytrueGet( @Path("petId") Long petId, Callback cb ); diff --git a/samples/client/petstore/java/retrofit2/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/retrofit2/src/main/java/io/swagger/client/api/PetApi.java index c731f0577c..58eb090f9e 100644 --- a/samples/client/petstore/java/retrofit2/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/retrofit2/src/main/java/io/swagger/client/api/PetApi.java @@ -137,7 +137,7 @@ public interface PetApi { */ @GET("pet/{petId}?testing_byte_array=true") - Call getPetByIdWithByteArray( + Call petPetIdtestingByteArraytrueGet( @Path("petId") Long petId );