+
diff --git a/bin/dart-petstore.sh b/bin/dart-petstore.sh
index bfb9e8179f0..466a27b657b 100755
--- a/bin/dart-petstore.sh
+++ b/bin/dart-petstore.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -t modules/swagger-codegen/src/main/resources/dart -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l dart -o samples/client/petstore/dart/swagger"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/dart -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l dart -o samples/client/petstore/dart/swagger -DhideGenerationTimestamp=true"
# then options to generate the library for vm would be:
#ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l dart -o samples/client/petstore/dart/swagger_vm -DbrowserClient=false -DpubName=swagger_vm"
diff --git a/bin/java-inflector-petstore-server.sh b/bin/java-inflector-petstore-server.sh
index 701a2c3cf06..91e3481e7a1 100755
--- a/bin/java-inflector-petstore-server.sh
+++ b/bin/java-inflector-petstore-server.sh
@@ -26,6 +26,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaInflector -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l inflector -o samples/server/petstore/java-inflector"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaInflector -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l inflector -o samples/server/petstore/java-inflector -DhideGenerationTimestamp=true"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/java-play-framework-petstore-server.sh b/bin/java-play-framework-petstore-server.sh
new file mode 100755
index 00000000000..ff8103e2204
--- /dev/null
+++ b/bin/java-play-framework-petstore-server.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaPlayFramework -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l java-play-framework -o samples/server/petstore/java-play-framework -DhideGenerationTimestamp=true"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/nodejs-petstore-server.sh b/bin/nodejs-petstore-server.sh
index 3fff1bdc0c0..2d9994f49e5 100755
--- a/bin/nodejs-petstore-server.sh
+++ b/bin/nodejs-petstore-server.sh
@@ -26,6 +26,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l nodejs-server -o samples/server/petstore/nodejs"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/nodejs -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l nodejs-server -o samples/server/petstore/nodejs"
java $JAVA_OPTS -Dservice -jar $executable $ags
diff --git a/bin/springboot-petstore-server-implicitHeaders.json b/bin/springboot-petstore-server-implicitHeaders.json
new file mode 100755
index 00000000000..8b76ddb5d26
--- /dev/null
+++ b/bin/springboot-petstore-server-implicitHeaders.json
@@ -0,0 +1,3 @@
+{
+ "implicitHeaders": true
+}
\ No newline at end of file
diff --git a/bin/springboot-petstore-server-implicitHeaders.sh b/bin/springboot-petstore-server-implicitHeaders.sh
new file mode 100755
index 00000000000..98e20af9d61
--- /dev/null
+++ b/bin/springboot-petstore-server-implicitHeaders.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaSpring -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l spring -c bin/springboot-petstore-server-implicitHeaders.json -o samples/server/petstore/springboot-implicitHeaders -DhideGenerationTimestamp=true"
+
+echo "Removing files and folders under samples/server/petstore/springboot-implicitHeaders/src/main"
+rm -rf samples/server/petstore/springboot-implicitHeaders/src/main
+find samples/server/petstore/springboot-implicitHeaders -maxdepth 1 -type f ! -name "README.md" -exec rm {} +
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/windows/java-play-framework-petstore-server.bat b/bin/windows/java-play-framework-petstore-server.bat
new file mode 100644
index 00000000000..b2d2604f59c
--- /dev/null
+++ b/bin/windows/java-play-framework-petstore-server.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.json -l java-play-framework -o samples\server\petstore\java-play-framework
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/swift-petstore-all.bat b/bin/windows/swift-petstore-all.bat
new file mode 100755
index 00000000000..e837f4c1ec6
--- /dev/null
+++ b/bin/windows/swift-petstore-all.bat
@@ -0,0 +1,3 @@
+call .\bin\windows\swift-petstore.bat
+call .\bin\windows\swift-petstore-promisekit.bat
+call .\bin\windows\swift-petstore-rxswift.bat
diff --git a/bin/windows/swift-petstore-promisekit.bat b/bin/windows/swift-petstore-promisekit.bat
new file mode 100755
index 00000000000..bbd0d4c87b9
--- /dev/null
+++ b/bin/windows/swift-petstore-promisekit.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.json -l swift -c bin\swift-petstore-promisekit.json -o samples\client\petstore\swift\promisekit
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/swift-petstore-rxswift.bat b/bin/windows/swift-petstore-rxswift.bat
new file mode 100755
index 00000000000..92d80c3a71b
--- /dev/null
+++ b/bin/windows/swift-petstore-rxswift.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.json -l swift -c bin\swift-petstore-rxswift.json -o samples\client\petstore\swift\rxswift
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/swift-petstore.bat b/bin/windows/swift-petstore.bat
index b0ef85d695d..3728a8da8ad 100755
--- a/bin/windows/swift-petstore.bat
+++ b/bin/windows/swift-petstore.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.json -l swift -o samples\client\petstore\swift
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.json -l swift -o samples\client\petstore\swift\default
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/swift3-petstore-all.bat b/bin/windows/swift3-petstore-all.bat
new file mode 100755
index 00000000000..7f2b6a9b5d9
--- /dev/null
+++ b/bin/windows/swift3-petstore-all.bat
@@ -0,0 +1,3 @@
+call .\bin\windows\swift3-petstore.bat
+call .\bin\windows\swift3-petstore-promisekit.bat
+call .\bin\windows\swift3-petstore-rxswift.bat
diff --git a/bin/windows/swift3-petstore-promisekit.bat b/bin/windows/swift3-petstore-promisekit.bat
new file mode 100755
index 00000000000..658c395e72e
--- /dev/null
+++ b/bin/windows/swift3-petstore-promisekit.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -l swift3 -c bin\swift3-petstore-promisekit.json -o samples\client\petstore\swift3\promisekit
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/swift3-petstore-rxswift.bat b/bin/windows/swift3-petstore-rxswift.bat
new file mode 100755
index 00000000000..3fa97f55245
--- /dev/null
+++ b/bin/windows/swift3-petstore-rxswift.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -l swift3 -c bin\swift3-petstore-rxswift.json -o samples\client\petstore\swift3\rxswift
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/swift3-petstore.bat b/bin/windows/swift3-petstore.bat
new file mode 100755
index 00000000000..a3dbf929b94
--- /dev/null
+++ b/bin/windows/swift3-petstore.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -l swift3 -o samples\client\petstore\swift3\default
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/modules/swagger-codegen/XhhGitIgnore/sdk_unit_testing_binary.json b/modules/swagger-codegen/XhhGitIgnore/sdk_unit_testing_binary.json
deleted file mode 100644
index 2d87e3bcb7f..00000000000
--- a/modules/swagger-codegen/XhhGitIgnore/sdk_unit_testing_binary.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "1.0.0",
- "title": "SDK Unit Testing - File Downloading"
- },
- "schemes": [
- "http"
- ],
- "host": "localhost:3000",
- "basePath": "/unittesting",
- "paths": {
- "/request/file_uploading": {
- "get": {
- "operationId": "file_uploading",
- "tags": [
- "Request"
- ],
- "parameters": [
- {"name": "f1",
- "in": "formData",
- "type": "string",
- "format": "binary",
- "required": true
- },
- {"name": "f2",
- "in": "formData",
- "type": "string",
- "format": "binary",
- "required": false
- }
- ],
- "consumes": [
- "multipart/form-data"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "type": "string"
- }
- }
- }
- }
- },
- "/response/file_downloading": {
- "get": {
- "operationId": "file_downloading",
- "tags": [
- "Response"
- ],
- "produces": [
- "multipart/form-data"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "type": "string",
- "format": "binary"
- }
- }
- }
- }
- }
- }
-}
diff --git a/modules/swagger-codegen/XhhGitIgnore/sdk_unit_testing_file_downloading.json b/modules/swagger-codegen/XhhGitIgnore/sdk_unit_testing_file_downloading.json
deleted file mode 100644
index 6169272c05d..00000000000
--- a/modules/swagger-codegen/XhhGitIgnore/sdk_unit_testing_file_downloading.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "1.0.0",
- "title": "SDK Unit Testing - File Downloading"
- },
- "schemes": [
- "http"
- ],
- "host": "localhost:3000",
- "basePath": "/unittesting",
- "paths": {
- "/response/file_downloading": {
- "get": {
- "operationId": "file_downloading",
- "tags": [
- "Response"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "type": "file"
- }
- }
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenParameter.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenParameter.java
index 3a0db92c5a4..db0464ba7bd 100644
--- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenParameter.java
+++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenParameter.java
@@ -6,28 +6,33 @@
import java.util.List;
public class CodegenParameter {
- public Boolean isFormParam, isQueryParam, isPathParam, isHeaderParam,
+ public boolean isFormParam, isQueryParam, isPathParam, isHeaderParam,
isCookieParam, isBodyParam, hasMore, isContainer,
secondaryParam, isCollectionFormatMulti, isPrimitiveType;
- public String baseName, paramName, dataType, datatypeWithEnum, dataFormat, collectionFormat, description, unescapedDescription, baseType, defaultValue, enumName;
+ public String baseName, paramName, dataType, datatypeWithEnum, dataFormat,
+ collectionFormat, description, unescapedDescription, baseType, defaultValue, enumName;
+
+ //This was added for javaPlayFramework specifically to get around a bug in swagger-play. See generator for more info on the bug.
+ public String dataTypeForImplicitParam;
+
public String example; // example value (x-example)
public String jsonSchema;
- public Boolean isString, isInteger, isLong, isFloat, isDouble, isByteArray, isBinary, isBoolean, isDate, isDateTime;
- public Boolean isListContainer, isMapContainer;
- public Boolean isFile, notFile;
+ public boolean isString, isInteger, isLong, isFloat, isDouble, isByteArray, isBinary, isBoolean, isDate, isDateTime;
+ public boolean isListContainer, isMapContainer;
+ public boolean isFile, notFile;
public boolean isEnum;
public List