diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java index c44e070fe62..4b878c40e6c 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java @@ -229,6 +229,11 @@ public class DefaultCodegen { } public String toOperationId(String operationId) { + // throw exception if method name is empty + if (StringUtils.isEmpty(operationId)) { + throw new RuntimeException("Empty method name (operationId) not allowed"); + } + return operationId; } @@ -1216,7 +1221,9 @@ public class DefaultCodegen { if (mappedType != null) { addImport(m, mappedType); } - } /** + } + + /** * Underscore the given word. * * @param word The word @@ -1278,9 +1285,8 @@ public class DefaultCodegen { } else { m.emptyVars = true; } - } public static String camelize(String word) { - return camelize(word, false); } + /** * Remove characters not suitable for variable or method name from the input and camelize it @@ -1301,7 +1307,13 @@ public class DefaultCodegen { name = name.substring(0, 1).toLowerCase() + name.substring(1); } return name; - } public static String camelize(String word, boolean lowercaseFirstLetter) { + } + + public static String camelize(String word) { + return camelize(word, false); + } + + public static String camelize(String word, boolean lowercaseFirstLetter) { // Replace all slashes with dots (package separator) Pattern p = Pattern.compile("\\/(.?)"); Matcher m = p.matcher(word); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AkkaScalaClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AkkaScalaClientCodegen.java index efcd771ac10..f9490e3d3dd 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AkkaScalaClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AkkaScalaClientCodegen.java @@ -251,6 +251,11 @@ public class AkkaScalaClientCodegen extends DefaultCodegen implements CodegenCon @Override public String toOperationId(String operationId) { + // throw exception if method name is empty + if (StringUtils.isEmpty(operationId)) { + throw new RuntimeException("Empty method name (operationId) not allowed"); + } + return super.toOperationId(CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, operationId)); } @@ -396,4 +401,4 @@ public class AkkaScalaClientCodegen extends DefaultCodegen implements CodegenCon } } -} \ No newline at end of file +} 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 e65736a63f0..f570cc42e82 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 @@ -13,6 +13,8 @@ import java.io.File; import java.util.Arrays; import java.util.HashSet; +import org.apache.commons.lang.StringUtils; + public class AndroidClientCodegen extends DefaultCodegen implements CodegenConfig { protected String invokerPackage = "io.swagger.client"; protected String groupId = "io.swagger"; @@ -168,6 +170,11 @@ public class AndroidClientCodegen extends DefaultCodegen implements CodegenConfi @Override public String toOperationId(String operationId) { + // throw exception if method name is empty + if (StringUtils.isEmpty(operationId)) { + throw new RuntimeException("Empty method name (operationId) not allowed"); + } + // 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"); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AsyncScalaClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AsyncScalaClientCodegen.java index c941d8b8d97..53faf2f9e1f 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AsyncScalaClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AsyncScalaClientCodegen.java @@ -21,6 +21,8 @@ import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; +import org.apache.commons.lang.StringUtils; + public class AsyncScalaClientCodegen extends DefaultCodegen implements CodegenConfig { protected String invokerPackage = "io.swagger.client"; protected String groupId = "io.swagger"; @@ -204,4 +206,4 @@ public class AsyncScalaClientCodegen extends DefaultCodegen implements CodegenCo return "null"; } } -} \ No newline at end of file +} diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java index 5833d7287cc..1d7accd3b27 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java @@ -14,6 +14,8 @@ import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; +import org.apache.commons.lang.StringUtils; + public class CSharpClientCodegen extends DefaultCodegen implements CodegenConfig { protected String packageName = "IO.Swagger"; protected String packageVersion = "1.0.0"; @@ -237,6 +239,11 @@ public class CSharpClientCodegen extends DefaultCodegen implements CodegenConfig @Override public String toOperationId(String operationId) { + // throw exception if method name is empty + if (StringUtils.isEmpty(operationId)) { + throw new RuntimeException("Empty method name (operationId) not allowed"); + } + // 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"); 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 f753e63f5f7..f272343a795 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 @@ -13,6 +13,8 @@ import java.io.File; import java.util.Arrays; import java.util.HashSet; +import org.apache.commons.lang.StringUtils; + public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { protected String invokerPackage = "io.swagger.client"; protected String groupId = "io.swagger"; @@ -234,6 +236,11 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toOperationId(String operationId) { + // throw exception if method name is empty + if (StringUtils.isEmpty(operationId)) { + throw new RuntimeException("Empty method name (operationId) not allowed"); + } + // 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"); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ObjcClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ObjcClientCodegen.java index 3e5edbc169f..887422cd490 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ObjcClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ObjcClientCodegen.java @@ -16,6 +16,8 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Set; +import org.apache.commons.lang.StringUtils; + public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig { protected Set foundationClasses = new HashSet(); protected String podName = "SwaggerClient"; @@ -358,6 +360,11 @@ public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toOperationId(String operationId) { + // throw exception if method name is empty + if (StringUtils.isEmpty(operationId)) { + throw new RuntimeException("Empty method name (operationId) not allowed"); + } + // 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"); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PerlClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PerlClientCodegen.java index 8c079973a1b..80f83bc2d10 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PerlClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PerlClientCodegen.java @@ -9,11 +9,12 @@ import io.swagger.models.properties.MapProperty; import io.swagger.models.properties.Property; import io.swagger.codegen.CliOption; - import java.io.File; import java.util.Arrays; import java.util.HashSet; +import org.apache.commons.lang.StringUtils; + public class PerlClientCodegen extends DefaultCodegen implements CodegenConfig { protected String moduleName = "SwaggerClient"; protected String moduleVersion = "1.0.0"; @@ -213,6 +214,11 @@ public class PerlClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toOperationId(String operationId) { + // throw exception if method name is empty + if (StringUtils.isEmpty(operationId)) { + throw new RuntimeException("Empty method name (operationId) not allowed"); + } + // 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"); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PhpClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PhpClientCodegen.java index 188e5c76644..1b40cc0a30e 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PhpClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PhpClientCodegen.java @@ -15,6 +15,8 @@ import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; +import org.apache.commons.lang.StringUtils; + public class PhpClientCodegen extends DefaultCodegen implements CodegenConfig { protected String invokerPackage = "Swagger\\Client"; protected String composerVendorName = "swagger"; diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/Python3ClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/Python3ClientCodegen.java index 71562e6ba37..70c090cd7a3 100755 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/Python3ClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/Python3ClientCodegen.java @@ -12,6 +12,8 @@ import java.io.File; import java.util.Arrays; import java.util.HashSet; +import org.apache.commons.lang.StringUtils; + public class Python3ClientCodegen extends DefaultCodegen implements CodegenConfig { String module = "client"; @@ -201,6 +203,11 @@ public class Python3ClientCodegen extends DefaultCodegen implements CodegenConfi @Override public String toOperationId(String operationId) { + // throw exception if method name is empty + if (StringUtils.isEmpty(operationId)) { + throw new RuntimeException("Empty method name (operationId) not allowed"); + } + // 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"); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PythonClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PythonClientCodegen.java index 8f78f2e1d49..e0e1bdc07f8 100755 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PythonClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PythonClientCodegen.java @@ -13,6 +13,8 @@ import java.io.File; import java.util.Arrays; import java.util.HashSet; +import org.apache.commons.lang.StringUtils; + public class PythonClientCodegen extends DefaultCodegen implements CodegenConfig { protected String packageName = null; protected String packageVersion = null; @@ -246,6 +248,11 @@ public class PythonClientCodegen extends DefaultCodegen implements CodegenConfig @Override public String toOperationId(String operationId) { + // throw exception if method name is empty + if (StringUtils.isEmpty(operationId)) { + throw new RuntimeException("Empty method name (operationId) not allowed"); + } + // 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"); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/RetrofitClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/RetrofitClientCodegen.java index e043c68baf9..66d3f19f948 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/RetrofitClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/RetrofitClientCodegen.java @@ -15,6 +15,8 @@ import java.util.HashSet; import java.util.List; import java.util.Map; +import org.apache.commons.lang.StringUtils; + public class RetrofitClientCodegen extends DefaultCodegen implements CodegenConfig { protected String invokerPackage = "io.swagger.client"; protected String groupId = "io.swagger"; @@ -171,6 +173,11 @@ public class RetrofitClientCodegen extends DefaultCodegen implements CodegenConf @Override public String toOperationId(String operationId) { + // throw exception if method name is empty + if (StringUtils.isEmpty(operationId)) { + throw new RuntimeException("Empty method name (operationId) not allowed"); + } + // 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"); 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 716c1bb0870..36a3f31aa48 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 @@ -13,6 +13,8 @@ import java.io.File; import java.util.Arrays; import java.util.HashSet; +import org.apache.commons.lang.StringUtils; + public class RubyClientCodegen extends DefaultCodegen implements CodegenConfig { protected String gemName = null; protected String moduleName = null; @@ -267,6 +269,11 @@ public class RubyClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toOperationId(String operationId) { + // throw exception if method name is empty + if (StringUtils.isEmpty(operationId)) { + throw new RuntimeException("Empty method name (operationId) not allowed"); + } + // 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"); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ScalaClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ScalaClientCodegen.java index 6ad296a0210..5d8ae4b89b6 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ScalaClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ScalaClientCodegen.java @@ -24,6 +24,8 @@ import java.util.Iterator; import java.util.List; import java.util.Map; +import org.apache.commons.lang.StringUtils; + public class ScalaClientCodegen extends DefaultCodegen implements CodegenConfig { protected String invokerPackage = "io.swagger.client"; protected String groupId = "io.swagger"; @@ -209,6 +211,11 @@ public class ScalaClientCodegen extends DefaultCodegen implements CodegenConfig @Override public String toOperationId(String operationId) { + // throw exception if method name is empty + if (StringUtils.isEmpty(operationId)) { + throw new RuntimeException("Empty method name (operationId) not allowed"); + } + // 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"); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SinatraServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SinatraServerCodegen.java index 44cf978eb1d..5bc402fe0c4 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SinatraServerCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SinatraServerCodegen.java @@ -13,6 +13,8 @@ import java.io.File; import java.util.Arrays; import java.util.HashSet; +import org.apache.commons.lang.StringUtils; + public class SinatraServerCodegen extends DefaultCodegen implements CodegenConfig { protected String gemName = null; protected String moduleName = null; diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/TizenClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/TizenClientCodegen.java index 34305d7c56f..7dc0b8ec3bd 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/TizenClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/TizenClientCodegen.java @@ -25,6 +25,8 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; +import org.apache.commons.lang.StringUtils; + public class TizenClientCodegen extends DefaultCodegen implements CodegenConfig { protected static String PREFIX = "Sami"; protected Set foundationClasses = new HashSet(); @@ -265,6 +267,11 @@ public class TizenClientCodegen extends DefaultCodegen implements CodegenConfig @Override public String toOperationId(String operationId) { + // throw exception if method name is empty + if (StringUtils.isEmpty(operationId)) { + throw new RuntimeException("Empty method name (operationId) not allowed"); + } + // 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"); diff --git a/samples/client/petstore/java/src/main/java/io/swagger/client/model/Pet.java b/samples/client/petstore/java/src/main/java/io/swagger/client/model/Pet.java index cf7ace02309..d7c2038dead 100644 --- a/samples/client/petstore/java/src/main/java/io/swagger/client/model/Pet.java +++ b/samples/client/petstore/java/src/main/java/io/swagger/client/model/Pet.java @@ -14,8 +14,8 @@ public class Pet { private Long id = null; private Category category = null; private String name = null; - private List photoUrls = new ArrayList() ; - private List tags = new ArrayList() ; + private List photoUrls = new ArrayList(); + private List tags = new ArrayList(); public enum StatusEnum { available, pending, sold, };