diff --git a/bin/go-petstore.sh b/bin/go-petstore.sh
old mode 100755
new mode 100644
diff --git a/bin/windows/go-petstore.bat b/bin/windows/go-petstore.bat
old mode 100755
new mode 100644
diff --git a/modules/swagger-codegen-cli/pom.xml b/modules/swagger-codegen-cli/pom.xml
index 9100143a2365..c118a6325ef2 100644
--- a/modules/swagger-codegen-cli/pom.xml
+++ b/modules/swagger-codegen-cli/pom.xml
@@ -89,13 +89,13 @@
org.testng
testng
- ${testng-version}
+
test
org.jmockit
jmockit
- ${jmockit-version}
+
test
diff --git a/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/SwaggerCodegen.java b/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/SwaggerCodegen.java
index 502e4d046bae..98c0b8c05b5e 100644
--- a/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/SwaggerCodegen.java
+++ b/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/SwaggerCodegen.java
@@ -21,6 +21,7 @@ public class SwaggerCodegen {
public static void main(String[] args) {
+ @SuppressWarnings("unchecked")
Cli.CliBuilder builder = Cli.builder("swagger-codegen-cli")
.withDescription("Swagger code generator CLI. More info on swagger.io")
.withDefaultCommand(Langs.class)
diff --git a/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/cmd/Generate.java b/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/cmd/Generate.java
index d72295f4ca97..4fad4308a670 100644
--- a/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/cmd/Generate.java
+++ b/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/cmd/Generate.java
@@ -230,15 +230,15 @@ public class Generate implements Runnable {
}
}
- private Set createSetFromCsvList(String csvProperty) {
+ private static Set createSetFromCsvList(String csvProperty) {
final List values = OptionUtils.splitCommaSeparatedList(csvProperty);
return new HashSet(values);
}
- private Map createMapFromKeyValuePairs(String commaSeparatedKVPairs) {
+ private static Map createMapFromKeyValuePairs(String commaSeparatedKVPairs) {
final List> pairs = OptionUtils.parseCommaSeparatedTuples(commaSeparatedKVPairs);
- Map result = new HashMap();
+ Map result = new HashMap();
for (Pair pair : pairs) {
result.put(pair.getLeft(), pair.getRight());
diff --git a/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/cmd/Meta.java b/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/cmd/Meta.java
index 9843024b1043..348c94d92b0c 100644
--- a/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/cmd/Meta.java
+++ b/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/cmd/Meta.java
@@ -93,7 +93,7 @@ public class Meta implements Runnable {
* @param data - map with additional params needed to process templates
* @return converter object to pass to lambdaj
*/
- private Converter processFiles(final File targetDir, final Map data) {
+ private static Converter processFiles(final File targetDir, final Map data) {
return new Converter() {
private DefaultGenerator generator = new DefaultGenerator();
@@ -133,7 +133,7 @@ public class Meta implements Runnable {
* @param generator - class with reader getter
* @return loader for template
*/
- private Mustache.TemplateLoader loader(final DefaultGenerator generator) {
+ private static Mustache.TemplateLoader loader(final DefaultGenerator generator) {
return new Mustache.TemplateLoader() {
@Override
public Reader getTemplate(String name) {
@@ -149,7 +149,7 @@ public class Meta implements Runnable {
* @param packageName - package name to convert
* @return relative path
*/
- private String asPath(String packageName) {
+ private static String asPath(String packageName) {
return packageName.replace(".", File.separator);
}
}
diff --git a/modules/swagger-codegen-cli/src/test/java/io/swagger/codegen/cmd/GenerateTest.java b/modules/swagger-codegen-cli/src/test/java/io/swagger/codegen/cmd/GenerateTest.java
index e07d0be4610d..36a560b776de 100644
--- a/modules/swagger-codegen-cli/src/test/java/io/swagger/codegen/cmd/GenerateTest.java
+++ b/modules/swagger-codegen-cli/src/test/java/io/swagger/codegen/cmd/GenerateTest.java
@@ -12,6 +12,7 @@ import mockit.Verifications;
import org.apache.commons.lang3.ArrayUtils;
import org.testng.annotations.Test;
+@SuppressWarnings("unused")
public class GenerateTest {
@Mocked
diff --git a/modules/swagger-codegen-cli/src/test/java/io/swagger/codegen/cmd/utils/OptionUtilsTest.java b/modules/swagger-codegen-cli/src/test/java/io/swagger/codegen/cmd/utils/OptionUtilsTest.java
index a7dc4d7f1cd4..480631c913cd 100644
--- a/modules/swagger-codegen-cli/src/test/java/io/swagger/codegen/cmd/utils/OptionUtilsTest.java
+++ b/modules/swagger-codegen-cli/src/test/java/io/swagger/codegen/cmd/utils/OptionUtilsTest.java
@@ -10,6 +10,7 @@ import java.util.List;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
+@SuppressWarnings("static-method")
public class OptionUtilsTest {
@Test
@@ -30,7 +31,7 @@ public class OptionUtilsTest {
doTupleListTest(null, new ArrayList>());
}
- private void doTupleListTest(String input, List> expectedResults) {
+ private static void doTupleListTest(String input, List> expectedResults) {
final List> result = OptionUtils.parseCommaSeparatedTuples(input);
assertNotNull(result);
assertEquals(result.size(), expectedResults.size());
@@ -41,7 +42,7 @@ public class OptionUtilsTest {
}
}
- private void doCommaSeparatedListTest(String csvStr, List expectedResults) {
+ private static void doCommaSeparatedListTest(String csvStr, List expectedResults) {
final List result = OptionUtils.splitCommaSeparatedList(csvStr);
assertNotNull(result);
assertEquals(result.size(), expectedResults.size());
diff --git a/modules/swagger-codegen-maven-plugin/pom.xml b/modules/swagger-codegen-maven-plugin/pom.xml
index 850ac7355347..52cf252d3094 100644
--- a/modules/swagger-codegen-maven-plugin/pom.xml
+++ b/modules/swagger-codegen-maven-plugin/pom.xml
@@ -51,7 +51,7 @@
junit
junit
- 4.12
+
test
diff --git a/modules/swagger-codegen-maven-plugin/src/main/java/io/swagger/codegen/plugin/CodeGenMojo.java b/modules/swagger-codegen-maven-plugin/src/main/java/io/swagger/codegen/plugin/CodeGenMojo.java
index c56b86588e54..1608329f9532 100644
--- a/modules/swagger-codegen-maven-plugin/src/main/java/io/swagger/codegen/plugin/CodeGenMojo.java
+++ b/modules/swagger-codegen-maven-plugin/src/main/java/io/swagger/codegen/plugin/CodeGenMojo.java
@@ -99,7 +99,7 @@ public class CodeGenMojo extends AbstractMojo {
* A map of language-specific parameters as passed with the -c option to the command line
*/
@Parameter(name = "configOptions")
- private Map configOptions;
+ private Map, ?> configOptions;
/**
* Add the output directory to the project as a source root, so that the
diff --git a/modules/swagger-codegen/pom.xml b/modules/swagger-codegen/pom.xml
index 29d2dc4e1484..a5c4eedd7406 100644
--- a/modules/swagger-codegen/pom.xml
+++ b/modules/swagger-codegen/pom.xml
@@ -101,7 +101,7 @@
org.apache.maven.plugins
maven-release-plugin
- 2.1
+
org.apache.maven.plugins
@@ -256,7 +256,7 @@
org.testng
testng
- ${testng-version}
+
test
@@ -268,7 +268,7 @@
org.jmockit
jmockit
- ${jmockit-version}
+
test
diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/AbstractGenerator.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/AbstractGenerator.java
index d6bbb9fa5261..467d6e40b903 100644
--- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/AbstractGenerator.java
+++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/AbstractGenerator.java
@@ -14,6 +14,7 @@ import java.util.regex.Pattern;
public abstract class AbstractGenerator {
+ @SuppressWarnings("static-method")
public File writeToFile(String filename, String contents) throws IOException {
System.out.println("writing file " + filename);
File output = new File(filename);
@@ -48,10 +49,7 @@ public abstract class AbstractGenerator {
try {
InputStream is = this.getClass().getClassLoader().getResourceAsStream(getCPResourcePath(name));
if (is == null) {
- is = new FileInputStream(new File(name));
- }
- if (is == null) {
- throw new RuntimeException("no file found");
+ is = new FileInputStream(new File(name)); // May throw but never return a null value
}
return new InputStreamReader(is);
} catch (Exception e) {
@@ -96,6 +94,7 @@ public abstract class AbstractGenerator {
return this.getClass().getClassLoader().getResource(getCPResourcePath(name)) != null;
}
+ @SuppressWarnings("static-method")
public String getCPResourcePath(String name) {
if (!"/".equals(File.separator)) {
return name.replaceAll(Pattern.quote(File.separator), "/");
diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/ClientOptInput.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/ClientOptInput.java
index 571498c3121f..57918dd9b354 100644
--- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/ClientOptInput.java
+++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/ClientOptInput.java
@@ -5,13 +5,8 @@ import io.swagger.codegen.auth.AuthParser;
import io.swagger.models.Swagger;
import io.swagger.models.auth.AuthorizationValue;
-import java.net.URLDecoder;
-import java.net.URLEncoder;
-import java.util.ArrayList;
import java.util.List;
-import static org.apache.commons.lang3.StringUtils.isNotEmpty;
-
public class ClientOptInput {
private CodegenConfig config;
private ClientOpts opts;
diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/Codegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/Codegen.java
index ffb4a0112a57..3168808e5b17 100644
--- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/Codegen.java
+++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/Codegen.java
@@ -11,7 +11,6 @@ import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Options;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -32,10 +31,9 @@ public class Codegen extends DefaultGenerator {
"\n -DdebugOperations prints operations passed to the template engine" +
"\n -DdebugSupportingFiles prints additional data passed to the template engine";
+ @SuppressWarnings("deprecation")
public static void main(String[] args) {
- StringBuilder sb = new StringBuilder();
-
Options options = new Options();
options.addOption("h", "help", false, "shows this message");
options.addOption("l", "lang", true, "client language to generate.\nAvailable languages include:\n\t[" + configString + "]");
@@ -139,7 +137,7 @@ public class Codegen extends DefaultGenerator {
// see if it's a class
try {
System.out.println("loading class " + name);
- Class customClass = Class.forName(name);
+ Class> customClass = Class.forName(name);
System.out.println("loaded");
return (CodegenConfig) customClass.newInstance();
} catch (Exception e) {
diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenOperation.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenOperation.java
index c5b9231341e1..956e906b44f9 100644
--- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenOperation.java
+++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenOperation.java
@@ -38,7 +38,7 @@ public class CodegenOperation {
*
* @return true if parameter exists, false otherwise
*/
- private boolean nonempty(List params) {
+ private static boolean nonempty(List params) {
return params != null && params.size() > 0;
}
diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenProperty.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenProperty.java
index 87352907ad0b..d80bc38a4c75 100644
--- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenProperty.java
+++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenProperty.java
@@ -40,6 +40,50 @@ public class CodegenProperty {
public CodegenProperty items;
public Map vendorExtensions;
+ @Override
+ public int hashCode()
+ {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((_enum == null) ? 0 : _enum.hashCode());
+ result = prime * result + ((allowableValues == null) ? 0 : allowableValues.hashCode());
+ result = prime * result + ((baseName == null) ? 0 : baseName.hashCode());
+ result = prime * result + ((baseType == null) ? 0 : baseType.hashCode());
+ result = prime * result + ((complexType == null) ? 0 : complexType.hashCode());
+ result = prime * result + ((containerType == null) ? 0 : containerType.hashCode());
+ result = prime * result + ((datatype == null) ? 0 : datatype.hashCode());
+ result = prime * result + ((datatypeWithEnum == null) ? 0 : datatypeWithEnum.hashCode());
+ result = prime * result + ((defaultValue == null) ? 0 : defaultValue.hashCode());
+ result = prime * result + ((defaultValueWithParam == null) ? 0 : defaultValueWithParam.hashCode());
+ result = prime * result + ((description == null) ? 0 : description.hashCode());
+ result = prime * result + ((example == null) ? 0 : example.hashCode());
+ result = prime * result + ((exclusiveMaximum == null) ? 0 : exclusiveMaximum.hashCode());
+ result = prime * result + ((exclusiveMinimum == null) ? 0 : exclusiveMinimum.hashCode());
+ result = prime * result + ((getter == null) ? 0 : getter.hashCode());
+ result = prime * result + ((hasMore == null) ? 0 : hasMore.hashCode());
+ result = prime * result + ((isContainer == null) ? 0 : isContainer.hashCode());
+ result = prime * result + (isEnum ? 1231 : 1237);
+ result = prime * result + ((isNotContainer == null) ? 0 : isNotContainer.hashCode());
+ result = prime * result + ((isPrimitiveType == null) ? 0 : isPrimitiveType.hashCode());
+ result = prime * result + ((isReadOnly == null) ? 0 : isReadOnly.hashCode());
+ result = prime * result + ((items == null) ? 0 : items.hashCode());
+ result = prime * result + ((jsonSchema == null) ? 0 : jsonSchema.hashCode());
+ result = prime * result + ((max == null) ? 0 : max.hashCode());
+ result = prime * result + ((maxLength == null) ? 0 : maxLength.hashCode());
+ result = prime * result + ((maximum == null) ? 0 : maximum.hashCode());
+ result = prime * result + ((min == null) ? 0 : min.hashCode());
+ result = prime * result + ((minLength == null) ? 0 : minLength.hashCode());
+ result = prime * result + ((minimum == null) ? 0 : minimum.hashCode());
+ result = prime * result + ((name == null) ? 0 : name.hashCode());
+ result = prime * result + ((pattern == null) ? 0 : pattern.hashCode());
+ result = prime * result + ((required == null) ? 0 : required.hashCode());
+ result = prime * result + ((secondaryParam == null) ? 0 : secondaryParam.hashCode());
+ result = prime * result + ((setter == null) ? 0 : setter.hashCode());
+ result = prime * result + ((unescapedDescription == null) ? 0 : unescapedDescription.hashCode());
+ result = prime * result + ((vendorExtensions == null) ? 0 : vendorExtensions.hashCode());
+ return result;
+ }
+
@Override
public boolean equals(Object obj) {
if (obj == null) {
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 0415cfb59757..968fbae5381d 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
@@ -109,38 +109,48 @@ public class DefaultCodegen {
}
// override with any special post-processing
+ @SuppressWarnings("static-method")
public Map postProcessModels(Map objs) {
return objs;
}
// override with any special post-processing
+ @SuppressWarnings("static-method")
public Map postProcessOperations(Map objs) {
return objs;
}
// override with any special post-processing
+ @SuppressWarnings("static-method")
public Map postProcessSupportingFileData(Map objs) {
return objs;
}
// override to post-process any model properties
- public void postProcessModelProperty(CodegenModel model, CodegenProperty property){}
+ @SuppressWarnings("unused")
+ public void postProcessModelProperty(CodegenModel model, CodegenProperty property){
+ }
// override to post-process any parameters
- public void postProcessParameter(CodegenParameter parameter){}
+ @SuppressWarnings("unused")
+ public void postProcessParameter(CodegenParameter parameter){
+ }
//override with any special handling of the entire swagger spec
+ @SuppressWarnings("unused")
public void preprocessSwagger(Swagger swagger) {
}
// override with any special handling of the entire swagger spec
+ @SuppressWarnings("unused")
public void processSwagger(Swagger swagger) {
}
// override with any special text escaping logic
+ @SuppressWarnings("static-method")
public String escapeText(String input) {
- if (input != null) {
- input = input.trim();
+ if (input != null) {
+ input = input.trim(); // FIXME: a parameter should not be assigned. Also declare the methods parameters as 'final'.
String output = input.replaceAll("\n", "\\\\n");
output = output.replace("\r", "\\r");
output = output.replace("\"", "\\\"");
@@ -274,7 +284,7 @@ public class DefaultCodegen {
}
/**
- * Return the file name of the Api
+ * Return the file name of the Api Test
*
* @param name the file name of the Api
* @return the file name of the Api
@@ -304,7 +314,7 @@ public class DefaultCodegen {
}
/**
- * Return the capitalized file name of the model
+ * Return the capitalized file name of the model test
*
* @param name the model name
* @return the file name of the model
@@ -322,13 +332,14 @@ public class DefaultCodegen {
public String toModelTestFilename(String name) {
return initialCaps(name) + "Test";
}
-
+
/**
* Return the operation ID (method name)
*
* @param operationId operation ID
* @return the sanitized method name
*/
+ @SuppressWarnings("static-method")
public String toOperationId(String operationId) {
// throw exception if method name is empty
if (StringUtils.isEmpty(operationId)) {
@@ -361,7 +372,7 @@ public class DefaultCodegen {
* @return the sanitized parameter name
*/
public String toParamName(String name) {
- name = removeNonNameElementToCamelCase(name);
+ name = removeNonNameElementToCamelCase(name); // FIXME: a parameter should not be assigned. Also declare the methods parameters as 'final'.
if (reservedWords.contains(name)) {
return escapeReservedWord(name);
}
@@ -374,6 +385,7 @@ public class DefaultCodegen {
* @param property Codegen property object
* @return the Enum name
*/
+ @SuppressWarnings("static-method")
public String toEnumName(CodegenProperty property) {
return StringUtils.capitalize(property.name) + "Enum";
}
@@ -386,6 +398,7 @@ public class DefaultCodegen {
*
* throws Runtime exception as reserved word is not allowed (default behavior)
*/
+ @SuppressWarnings("static-method")
public String escapeReservedWord(String name) {
throw new RuntimeException("reserved word " + name + " not allowed");
}
@@ -495,6 +508,7 @@ public class DefaultCodegen {
* @param operation Swagger operation object
* @return string presentation of the example path
*/
+ @SuppressWarnings("static-method")
public String generateExamplePath(String path, Operation operation) {
StringBuilder sb = new StringBuilder();
sb.append(path);
@@ -577,6 +591,7 @@ public class DefaultCodegen {
* @param p Swagger property object
* @return string presentation of the default value of the property
*/
+ @SuppressWarnings("static-method")
public String toDefaultValue(Property p) {
if (p instanceof StringProperty) {
return "null";
@@ -623,6 +638,7 @@ public class DefaultCodegen {
* @param p Swagger property object
* @return string presentation of the default value of the property
*/
+ @SuppressWarnings("static-method")
public String toDefaultValueWithParam(String name, Property p) {
return " = data." + name + ";";
}
@@ -632,6 +648,7 @@ public class DefaultCodegen {
* @param p Swagger property object
* @return string presentation of the type
**/
+ @SuppressWarnings("static-method")
public String getSwaggerType(Property p) {
String datatype = null;
if (p instanceof StringProperty && "number".equals(p.getFormat())) {
@@ -660,6 +677,8 @@ public class DefaultCodegen {
datatype = "map";
} else if (p instanceof DecimalProperty) {
datatype = "number";
+ } else if ( p instanceof UUIDProperty) {
+ datatype = "UUID";
} else if (p instanceof RefProperty) {
try {
RefProperty r = (RefProperty) p;
@@ -686,6 +705,7 @@ public class DefaultCodegen {
* @param name string to be snake-cased
* @return snake-cased string
*/
+ @SuppressWarnings("static-method")
public String snakeCase(String name) {
return (name.length() > 0) ? (Character.toLowerCase(name.charAt(0)) + name.substring(1)) : "";
}
@@ -696,6 +716,7 @@ public class DefaultCodegen {
* @param name string to be capitalized
* @return capitalized string
*/
+ @SuppressWarnings("static-method")
public String initialCaps(String name) {
return StringUtils.capitalize(name);
}
@@ -706,6 +727,7 @@ public class DefaultCodegen {
* @param name name
* @return a string presentation of the type
*/
+ @SuppressWarnings("static-method")
public String getTypeDeclaration(String name) {
return name;
}
@@ -1111,7 +1133,7 @@ public class DefaultCodegen {
}
}
- private Response findMethodResponse(Map responses) {
+ private static Response findMethodResponse(Map responses) {
String code = null;
for (String responseCode : responses.keySet()) {
@@ -1584,7 +1606,6 @@ public class DefaultCodegen {
// to use the built-in model parsing, we unwrap the ArrayModel
// and get a single property from it
ArrayModel impl = (ArrayModel) model;
- CodegenModel cm = fromModel(bp.getName(), impl);
// get the single property
ArrayProperty ap = new ArrayProperty().items(impl.getItems());
ap.setRequired(param.getRequired());
@@ -1625,6 +1646,7 @@ public class DefaultCodegen {
* @param schemes a map of Swagger SecuritySchemeDefinition object
* @return a list of Codegen Security objects
*/
+ @SuppressWarnings("static-method")
public List fromSecurity(Map schemes) {
if (schemes == null) {
return Collections.emptyList();
@@ -1731,6 +1753,7 @@ public class DefaultCodegen {
&& !languageSpecificPrimitives.contains(type);
}
+ @SuppressWarnings("static-method")
protected List