diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/InlineModelResolver.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/InlineModelResolver.java index 02bf82572e0..f3ea72ed5fd 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/InlineModelResolver.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/InlineModelResolver.java @@ -218,7 +218,12 @@ public class InlineModelResolver { Map modelsToAdd = new HashMap(); for (String key : properties.keySet()) { Property property = properties.get(key); - if (property instanceof ObjectProperty && ((ObjectProperty)property).getProperties().size() > 0) { + if(property instanceof ObjectProperty && ((ObjectProperty)property).getProperties() == null) { + MapProperty mp = new MapProperty(); + mp.setAdditionalProperties(new StringProperty()); + properties.put(key, mp); + } + else if (property instanceof ObjectProperty && ((ObjectProperty)property).getProperties().size() > 0) { String modelName = uniqueName(path + "_" + key); ObjectProperty op = (ObjectProperty) property; @@ -276,7 +281,6 @@ public class InlineModelResolver { swagger.addDefinition(modelName, innerModel); } } - } else { } } if (propsToUpdate.size() > 0) { diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavascriptClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavascriptClientCodegen.java index 2a60c7fc1f0..cc5dcff3fa2 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavascriptClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavascriptClientCodegen.java @@ -1,35 +1,19 @@ package io.swagger.codegen.languages; import com.google.common.base.Strings; - -import io.swagger.codegen.CliOption; -import io.swagger.codegen.CodegenConfig; -import io.swagger.codegen.CodegenConstants; -import io.swagger.codegen.CodegenModel; -import io.swagger.codegen.CodegenOperation; -import io.swagger.codegen.CodegenProperty; -import io.swagger.codegen.CodegenType; -import io.swagger.codegen.DefaultCodegen; -import io.swagger.codegen.SupportingFile; +import io.swagger.codegen.*; import io.swagger.models.*; import io.swagger.models.properties.ArrayProperty; import io.swagger.models.properties.MapProperty; import io.swagger.models.properties.Property; import io.swagger.models.properties.RefProperty; - -import java.io.File; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.File; +import java.util.*; + public class JavascriptClientCodegen extends DefaultCodegen implements CodegenConfig { @SuppressWarnings("hiding") private static final Logger LOGGER = LoggerFactory.getLogger(JavascriptClientCodegen.class); @@ -133,6 +117,7 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo typeMapping.put("double", "Number"); typeMapping.put("number", "Number"); typeMapping.put("DateTime", "Date"); + typeMapping.put("Date", "Date"); // binary not supported in JavaScript client right now, using String as a workaround typeMapping.put("binary", "String"); @@ -358,7 +343,7 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo // 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"); + operationId = escapeReservedWord(operationId); } return camelize(sanitizeName(operationId), true); diff --git a/pom.xml b/pom.xml index 0cab362828b..17ad062e4f0 100644 --- a/pom.xml +++ b/pom.xml @@ -122,8 +122,8 @@ maven-compiler-plugin 3.0 - 1.6 - 1.6 + 1.7 + 1.7