From 1a0006a8a69999be73d0df3a591bcacdce14dcac Mon Sep 17 00:00:00 2001
From: Jeremie Bresson <dev@jmini.fr>
Date: Thu, 30 Aug 2018 06:16:51 +0200
Subject: [PATCH] Remove x-nullable extension support

---
 .../openapitools/codegen/DefaultCodegen.java  | 19 ++++---------------
 .../codegen/ruby/RubyClientCodegenTest.java   |  3 +--
 2 files changed, 5 insertions(+), 17 deletions(-)

diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java
index 0574a7bcc08..3bd07e5259e 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java
@@ -77,8 +77,8 @@ import java.util.Set;
 import java.util.TreeSet;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
-import java.util.stream.Stream;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 public class DefaultCodegen implements CodegenConfig {
     private static final Logger LOGGER = LoggerFactory.getLogger(DefaultCodegen.class);
@@ -1792,11 +1792,7 @@ public class DefaultCodegen implements CodegenConfig {
         if (p.getWriteOnly() != null) {
             property.isWriteOnly = p.getWriteOnly();
         }
-
-        // use x-nullable
-        if (p.getExtensions() != null && p.getExtensions().get("x-nullable") != null) {
-            property.isNullable = Boolean.valueOf(p.getExtensions().get("x-nullable").toString());
-        } else if (p.getNullable() != null) { // use nullable defined in OAS3
+        if (p.getNullable() != null) {
             property.isNullable = p.getNullable();
         }
 
@@ -2743,10 +2739,7 @@ public class DefaultCodegen implements CodegenConfig {
                 parameterSchema = new StringSchema().description("//TODO automatically added by openapi-generator due to missing type definition.");
             }
 
-            // x-nullable extension in OAS2
-            if (parameter.getExtensions() != null && parameter.getExtensions().get("x-nullable") != null) {
-                codegenParameter.isNullable = Boolean.valueOf(parameter.getExtensions().get("x-nullable").toString());
-            } else if (Boolean.TRUE.equals(parameterSchema.getNullable())) { // use nullable defined in the spec
+            if (Boolean.TRUE.equals(parameterSchema.getNullable())) { // use nullable defined in the spec
                 codegenParameter.isNullable = true;
             }
 
@@ -4752,10 +4745,6 @@ public class DefaultCodegen implements CodegenConfig {
     }
 
     private void setParameterNullable(CodegenParameter parameter, CodegenProperty property) {
-        if (property.getVendorExtensions() != null && property.getVendorExtensions().get("x-nullable") != null) {
-            parameter.isNullable = Boolean.valueOf(property.getVendorExtensions().get("x-nullable").toString());
-        } else {
-            parameter.isNullable = property.isNullable;
-        }
+        parameter.isNullable = property.isNullable;
     }
 }
diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/ruby/RubyClientCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/ruby/RubyClientCodegenTest.java
index 2e43257eaa2..2d89be08cf8 100644
--- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/ruby/RubyClientCodegenTest.java
+++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/ruby/RubyClientCodegenTest.java
@@ -268,8 +268,7 @@ public class RubyClientCodegenTest {
         CodegenParameter name = op.formParams.get(0);
         Assert.assertFalse(name.isNullable);
         CodegenParameter status = op.formParams.get(1);
-        // TODO comment out the following as there seems to be an issue with swagger parser not brining over the
-        // vendor extensions of the form parameter when creating the schema
+        // TODO comment out the following until https://github.com/swagger-api/swagger-parser/issues/820 is solved
         //Assert.assertTrue(status.isNullable);
     }
 }
-- 
GitLab