mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-06-28 19:50:49 +00:00
* merge with master * remove zoo specific artifact names * fix duplicate doublequote * #3904 add samples for retrofit2 * #3904 clean json field retrieval * #3904 allow non-abstract parent class
This commit is contained in:
parent
1dc3fb4f37
commit
73b38dd19e
@ -708,6 +708,7 @@ public class DefaultGenerator extends AbstractGenerator implements Generator {
|
|||||||
return files;
|
return files;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private File processTemplateToFile(Map<String, Object> templateData, String templateName, String outputFilename) throws IOException {
|
private File processTemplateToFile(Map<String, Object> templateData, String templateName, String outputFilename) throws IOException {
|
||||||
String adjustedOutputFilename = outputFilename.replaceAll("//", "/").replace('/', File.separatorChar);
|
String adjustedOutputFilename = outputFilename.replaceAll("//", "/").replace('/', File.separatorChar);
|
||||||
if (ignoreProcessor.allowsFile(new File(adjustedOutputFilename))) {
|
if (ignoreProcessor.allowsFile(new File(adjustedOutputFilename))) {
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package io.swagger.codegen.languages;
|
package io.swagger.codegen.languages;
|
||||||
|
|
||||||
|
import com.google.common.collect.LinkedListMultimap;
|
||||||
import io.swagger.codegen.*;
|
import io.swagger.codegen.*;
|
||||||
import io.swagger.codegen.languages.features.BeanValidationFeatures;
|
import io.swagger.codegen.languages.features.BeanValidationFeatures;
|
||||||
import io.swagger.codegen.languages.features.GzipFeatures;
|
import io.swagger.codegen.languages.features.GzipFeatures;
|
||||||
@ -432,6 +433,24 @@ public class JavaClientCodegen extends AbstractJavaCodegen
|
|||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> postProcessAllModels(Map<String, Object> objs) {
|
||||||
|
Map<String, Object> allProcessedModels = super.postProcessAllModels(objs);
|
||||||
|
if(!additionalProperties.containsKey("gsonFactoryMethod")) {
|
||||||
|
List<Object> allModels = new ArrayList<Object>();
|
||||||
|
for (String name: allProcessedModels.keySet()) {
|
||||||
|
Map<String, Object> models = (Map<String, Object>)allProcessedModels.get(name);
|
||||||
|
try {
|
||||||
|
allModels.add(((List<Object>) models.get("models")).get(0));
|
||||||
|
} catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
additionalProperties.put("parent", modelInheritanceSupportInGson(allModels));
|
||||||
|
}
|
||||||
|
return allProcessedModels;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> postProcessModelsEnum(Map<String, Object> objs) {
|
public Map<String, Object> postProcessModelsEnum(Map<String, Object> objs) {
|
||||||
objs = super.postProcessModelsEnum(objs);
|
objs = super.postProcessModelsEnum(objs);
|
||||||
@ -454,6 +473,34 @@ public class JavaClientCodegen extends AbstractJavaCodegen
|
|||||||
return objs;
|
return objs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<Map<String, Object>> modelInheritanceSupportInGson(List<?> allModels) {
|
||||||
|
LinkedListMultimap<CodegenModel, CodegenModel> byParent = LinkedListMultimap.create();
|
||||||
|
for (Object m : allModels) {
|
||||||
|
Map entry = (Map) m;
|
||||||
|
CodegenModel parent = ((CodegenModel)entry.get("model")).parentModel;
|
||||||
|
if(null!= parent) {
|
||||||
|
byParent.put(parent, ((CodegenModel)entry.get("model")));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<Map<String, Object>> parentsList = new ArrayList<>();
|
||||||
|
for (CodegenModel parentModel : byParent.keySet()) {
|
||||||
|
List<Map<String, Object>> childrenList = new ArrayList<>();
|
||||||
|
Map<String, Object> parent = new HashMap<>();
|
||||||
|
parent.put("classname", parentModel.classname);
|
||||||
|
List<CodegenModel> childrenModels = byParent.get(parentModel);
|
||||||
|
for (CodegenModel model : childrenModels) {
|
||||||
|
Map<String, Object> child = new HashMap<>();
|
||||||
|
child.put("name", model.name);
|
||||||
|
child.put("classname", model.classname);
|
||||||
|
childrenList.add(child);
|
||||||
|
}
|
||||||
|
parent.put("children", childrenList);
|
||||||
|
parent.put("discriminator", parentModel.discriminator);
|
||||||
|
parentsList.add(parent);
|
||||||
|
}
|
||||||
|
return parentsList;
|
||||||
|
}
|
||||||
|
|
||||||
public void setUseRxJava(boolean useRxJava) {
|
public void setUseRxJava(boolean useRxJava) {
|
||||||
this.useRxJava = useRxJava;
|
this.useRxJava = useRxJava;
|
||||||
doNotUseRx = false;
|
doNotUseRx = false;
|
||||||
|
@ -2,6 +2,7 @@ package {{invokerPackage}};
|
|||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.JsonParseException;
|
import com.google.gson.JsonParseException;
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
import okhttp3.Interceptor;
|
import okhttp3.Interceptor;
|
||||||
import okhttp3.OkHttpClient;
|
import okhttp3.OkHttpClient;
|
||||||
import okhttp3.RequestBody;
|
import okhttp3.RequestBody;
|
||||||
@ -39,6 +40,7 @@ import java.time.format.DateTimeFormatter;
|
|||||||
{{/java8}}
|
{{/java8}}
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
public class ApiClient {
|
public class ApiClient {
|
||||||
|
|
||||||
|
@ -9,6 +9,9 @@ import com.google.gson.TypeAdapter;
|
|||||||
import com.google.gson.internal.bind.util.ISO8601Utils;
|
import com.google.gson.internal.bind.util.ISO8601Utils;
|
||||||
import com.google.gson.stream.JsonReader;
|
import com.google.gson.stream.JsonReader;
|
||||||
import com.google.gson.stream.JsonWriter;
|
import com.google.gson.stream.JsonWriter;
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
|
import io.gsonfire.GsonFireBuilder;
|
||||||
|
import io.gsonfire.TypeSelector;
|
||||||
{{#joda}}
|
{{#joda}}
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
import org.joda.time.LocalDate;
|
import org.joda.time.LocalDate;
|
||||||
@ -22,6 +25,8 @@ import org.threeten.bp.OffsetDateTime;
|
|||||||
import org.threeten.bp.format.DateTimeFormatter;
|
import org.threeten.bp.format.DateTimeFormatter;
|
||||||
{{/threetenbp}}
|
{{/threetenbp}}
|
||||||
|
|
||||||
|
import {{modelPackage}}.*;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.StringReader;
|
import java.io.StringReader;
|
||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
@ -34,6 +39,8 @@ import java.time.OffsetDateTime;
|
|||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
{{/java8}}
|
{{/java8}}
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
public class JSON {
|
public class JSON {
|
||||||
private Gson gson;
|
private Gson gson;
|
||||||
@ -48,8 +55,45 @@ public class JSON {
|
|||||||
private LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter();
|
private LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter();
|
||||||
{{/jsr310}}
|
{{/jsr310}}
|
||||||
|
|
||||||
|
public static GsonBuilder createGson() {
|
||||||
|
GsonFireBuilder fireBuilder = new GsonFireBuilder()
|
||||||
|
{{#parent}}
|
||||||
|
.registerTypeSelector({{classname}}.class, new TypeSelector() {
|
||||||
|
@Override
|
||||||
|
public Class getClassForElement(JsonElement readElement) {
|
||||||
|
Map classByDiscriminatorValue = new HashMap();
|
||||||
|
{{#children}}
|
||||||
|
classByDiscriminatorValue.put("{{name}}".toUpperCase(), {{classname}}.class);
|
||||||
|
{{/children}}
|
||||||
|
classByDiscriminatorValue.put("{{classname}}".toUpperCase(), {{classname}}.class);
|
||||||
|
return getClassByDiscriminator(
|
||||||
|
classByDiscriminatorValue,
|
||||||
|
getDiscriminatorValue(readElement, "{{discriminator}}"));
|
||||||
|
}
|
||||||
|
})
|
||||||
|
{{/parent}}
|
||||||
|
;
|
||||||
|
return fireBuilder.createGsonBuilder();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getDiscriminatorValue(JsonElement readElement, String discriminatorField) {
|
||||||
|
JsonElement element = readElement.getAsJsonObject().get(discriminatorField);
|
||||||
|
if(null == element) {
|
||||||
|
throw new IllegalArgumentException("missing discriminator field: <" + discriminatorField + ">");
|
||||||
|
}
|
||||||
|
return element.getAsString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Class getClassByDiscriminator(Map classByDiscriminatorValue, String discriminatorValue) {
|
||||||
|
Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase());
|
||||||
|
if(null == clazz) {
|
||||||
|
throw new IllegalArgumentException("cannot determine model class of name: <" + discriminatorValue + ">");
|
||||||
|
}
|
||||||
|
return clazz;
|
||||||
|
}
|
||||||
|
|
||||||
public JSON() {
|
public JSON() {
|
||||||
gson = new GsonBuilder()
|
gson = createGson()
|
||||||
.registerTypeAdapter(Date.class, dateTypeAdapter)
|
.registerTypeAdapter(Date.class, dateTypeAdapter)
|
||||||
.registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter)
|
.registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter)
|
||||||
{{#joda}}
|
{{#joda}}
|
||||||
|
@ -126,6 +126,7 @@ ext {
|
|||||||
{{#threetenbp}}
|
{{#threetenbp}}
|
||||||
threetenbp_version = "1.3.5"
|
threetenbp_version = "1.3.5"
|
||||||
{{/threetenbp}}
|
{{/threetenbp}}
|
||||||
|
json_fire_version = "1.8.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
@ -142,6 +143,7 @@ dependencies {
|
|||||||
{{/useRxJava2}}
|
{{/useRxJava2}}
|
||||||
compile "io.swagger:swagger-annotations:$swagger_annotations_version"
|
compile "io.swagger:swagger-annotations:$swagger_annotations_version"
|
||||||
compile "org.apache.oltu.oauth2:org.apache.oltu.oauth2.client:$oltu_version"
|
compile "org.apache.oltu.oauth2:org.apache.oltu.oauth2.client:$oltu_version"
|
||||||
|
compile "io.gsonfire:gson-fire:$json_fire_version"
|
||||||
{{#joda}}
|
{{#joda}}
|
||||||
compile "joda-time:joda-time:$jodatime_version"
|
compile "joda-time:joda-time:$jodatime_version"
|
||||||
{{/joda}}
|
{{/joda}}
|
||||||
|
@ -45,6 +45,7 @@ lazy val root = (project in file(".")).
|
|||||||
{{#threetenbp}}
|
{{#threetenbp}}
|
||||||
"org.threeten" % "threetenbp" % "1.3.5" % "compile",
|
"org.threeten" % "threetenbp" % "1.3.5" % "compile",
|
||||||
{{/threetenbp}}
|
{{/threetenbp}}
|
||||||
|
"io.gsonfire" % "gson-fire" % "1.8.0" % "compile",
|
||||||
"junit" % "junit" % "4.12" % "test",
|
"junit" % "junit" % "4.12" % "test",
|
||||||
"com.novocode" % "junit-interface" % "0.11" % "test"
|
"com.novocode" % "junit-interface" % "0.11" % "test"
|
||||||
)
|
)
|
||||||
|
@ -194,6 +194,11 @@
|
|||||||
<artifactId>org.apache.oltu.oauth2.client</artifactId>
|
<artifactId>org.apache.oltu.oauth2.client</artifactId>
|
||||||
<version>${oltu-version}</version>
|
<version>${oltu-version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.gsonfire</groupId>
|
||||||
|
<artifactId>gson-fire</artifactId>
|
||||||
|
<version>${gson-fire-version}</version>
|
||||||
|
</dependency>
|
||||||
{{#joda}}
|
{{#joda}}
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>joda-time</groupId>
|
<groupId>joda-time</groupId>
|
||||||
@ -300,6 +305,7 @@
|
|||||||
<java.version>{{#java8}}1.8{{/java8}}{{^java8}}1.7{{/java8}}</java.version>
|
<java.version>{{#java8}}1.8{{/java8}}{{^java8}}1.7{{/java8}}</java.version>
|
||||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||||
|
<gson-fire-version>1.8.0</gson-fire-version>
|
||||||
<swagger-core-version>1.5.15</swagger-core-version>
|
<swagger-core-version>1.5.15</swagger-core-version>
|
||||||
{{#usePlayWS}}
|
{{#usePlayWS}}
|
||||||
{{#play24}}
|
{{#play24}}
|
||||||
|
@ -99,6 +99,7 @@ ext {
|
|||||||
swagger_annotations_version = "1.5.15"
|
swagger_annotations_version = "1.5.15"
|
||||||
junit_version = "4.12"
|
junit_version = "4.12"
|
||||||
threetenbp_version = "1.3.5"
|
threetenbp_version = "1.3.5"
|
||||||
|
json_fire_version = "1.8.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
@ -107,6 +108,7 @@ dependencies {
|
|||||||
compile "com.squareup.retrofit2:converter-gson:$retrofit_version"
|
compile "com.squareup.retrofit2:converter-gson:$retrofit_version"
|
||||||
compile "io.swagger:swagger-annotations:$swagger_annotations_version"
|
compile "io.swagger:swagger-annotations:$swagger_annotations_version"
|
||||||
compile "org.apache.oltu.oauth2:org.apache.oltu.oauth2.client:$oltu_version"
|
compile "org.apache.oltu.oauth2:org.apache.oltu.oauth2.client:$oltu_version"
|
||||||
|
compile "io.gsonfire:gson-fire:$json_fire_version"
|
||||||
compile "org.threeten:threetenbp:$threetenbp_version"
|
compile "org.threeten:threetenbp:$threetenbp_version"
|
||||||
|
|
||||||
testCompile "junit:junit:$junit_version"
|
testCompile "junit:junit:$junit_version"
|
||||||
|
@ -15,6 +15,7 @@ lazy val root = (project in file(".")).
|
|||||||
"io.swagger" % "swagger-annotations" % "1.5.15" % "compile",
|
"io.swagger" % "swagger-annotations" % "1.5.15" % "compile",
|
||||||
"org.apache.oltu.oauth2" % "org.apache.oltu.oauth2.client" % "1.0.1" % "compile",
|
"org.apache.oltu.oauth2" % "org.apache.oltu.oauth2.client" % "1.0.1" % "compile",
|
||||||
"org.threeten" % "threetenbp" % "1.3.5" % "compile",
|
"org.threeten" % "threetenbp" % "1.3.5" % "compile",
|
||||||
|
"io.gsonfire" % "gson-fire" % "1.8.0" % "compile",
|
||||||
"junit" % "junit" % "4.12" % "test",
|
"junit" % "junit" % "4.12" % "test",
|
||||||
"com.novocode" % "junit-interface" % "0.11" % "test"
|
"com.novocode" % "junit-interface" % "0.11" % "test"
|
||||||
)
|
)
|
||||||
|
@ -194,6 +194,11 @@
|
|||||||
<artifactId>org.apache.oltu.oauth2.client</artifactId>
|
<artifactId>org.apache.oltu.oauth2.client</artifactId>
|
||||||
<version>${oltu-version}</version>
|
<version>${oltu-version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.gsonfire</groupId>
|
||||||
|
<artifactId>gson-fire</artifactId>
|
||||||
|
<version>${gson-fire-version}</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.threeten</groupId>
|
<groupId>org.threeten</groupId>
|
||||||
<artifactId>threetenbp</artifactId>
|
<artifactId>threetenbp</artifactId>
|
||||||
@ -215,6 +220,7 @@
|
|||||||
<java.version>1.7</java.version>
|
<java.version>1.7</java.version>
|
||||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||||
|
<gson-fire-version>1.8.0</gson-fire-version>
|
||||||
<swagger-core-version>1.5.15</swagger-core-version>
|
<swagger-core-version>1.5.15</swagger-core-version>
|
||||||
<retrofit-version>2.3.0</retrofit-version>
|
<retrofit-version>2.3.0</retrofit-version>
|
||||||
<threetenbp-version>1.3.5</threetenbp-version>
|
<threetenbp-version>1.3.5</threetenbp-version>
|
||||||
|
@ -2,6 +2,7 @@ package io.swagger.client;
|
|||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.JsonParseException;
|
import com.google.gson.JsonParseException;
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
import okhttp3.Interceptor;
|
import okhttp3.Interceptor;
|
||||||
import okhttp3.OkHttpClient;
|
import okhttp3.OkHttpClient;
|
||||||
import okhttp3.RequestBody;
|
import okhttp3.RequestBody;
|
||||||
@ -25,6 +26,7 @@ import java.lang.reflect.Type;
|
|||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
public class ApiClient {
|
public class ApiClient {
|
||||||
|
|
||||||
|
@ -20,10 +20,15 @@ import com.google.gson.TypeAdapter;
|
|||||||
import com.google.gson.internal.bind.util.ISO8601Utils;
|
import com.google.gson.internal.bind.util.ISO8601Utils;
|
||||||
import com.google.gson.stream.JsonReader;
|
import com.google.gson.stream.JsonReader;
|
||||||
import com.google.gson.stream.JsonWriter;
|
import com.google.gson.stream.JsonWriter;
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
|
import io.gsonfire.GsonFireBuilder;
|
||||||
|
import io.gsonfire.TypeSelector;
|
||||||
import org.threeten.bp.LocalDate;
|
import org.threeten.bp.LocalDate;
|
||||||
import org.threeten.bp.OffsetDateTime;
|
import org.threeten.bp.OffsetDateTime;
|
||||||
import org.threeten.bp.format.DateTimeFormatter;
|
import org.threeten.bp.format.DateTimeFormatter;
|
||||||
|
|
||||||
|
import io.swagger.client.model.*;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.StringReader;
|
import java.io.StringReader;
|
||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
@ -31,6 +36,8 @@ import java.text.DateFormat;
|
|||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.ParsePosition;
|
import java.text.ParsePosition;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
public class JSON {
|
public class JSON {
|
||||||
private Gson gson;
|
private Gson gson;
|
||||||
@ -39,8 +46,42 @@ public class JSON {
|
|||||||
private OffsetDateTimeTypeAdapter offsetDateTimeTypeAdapter = new OffsetDateTimeTypeAdapter();
|
private OffsetDateTimeTypeAdapter offsetDateTimeTypeAdapter = new OffsetDateTimeTypeAdapter();
|
||||||
private LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter();
|
private LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter();
|
||||||
|
|
||||||
|
public static GsonBuilder createGson() {
|
||||||
|
GsonFireBuilder fireBuilder = new GsonFireBuilder()
|
||||||
|
.registerTypeSelector(Animal.class, new TypeSelector() {
|
||||||
|
@Override
|
||||||
|
public Class getClassForElement(JsonElement readElement) {
|
||||||
|
Map classByDiscriminatorValue = new HashMap();
|
||||||
|
classByDiscriminatorValue.put("Cat".toUpperCase(), Cat.class);
|
||||||
|
classByDiscriminatorValue.put("Dog".toUpperCase(), Dog.class);
|
||||||
|
classByDiscriminatorValue.put("Animal".toUpperCase(), Animal.class);
|
||||||
|
return getClassByDiscriminator(
|
||||||
|
classByDiscriminatorValue,
|
||||||
|
getDiscriminatorValue(readElement, "className"));
|
||||||
|
}
|
||||||
|
})
|
||||||
|
;
|
||||||
|
return fireBuilder.createGsonBuilder();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getDiscriminatorValue(JsonElement readElement, String discriminatorField) {
|
||||||
|
JsonElement element = readElement.getAsJsonObject().get(discriminatorField);
|
||||||
|
if(null == element) {
|
||||||
|
throw new IllegalArgumentException("missing discriminator field: <" + discriminatorField + ">");
|
||||||
|
}
|
||||||
|
return element.getAsString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Class getClassByDiscriminator(Map classByDiscriminatorValue, String discriminatorValue) {
|
||||||
|
Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase());
|
||||||
|
if(null == clazz) {
|
||||||
|
throw new IllegalArgumentException("cannot determine model class of name: <" + discriminatorValue + ">");
|
||||||
|
}
|
||||||
|
return clazz;
|
||||||
|
}
|
||||||
|
|
||||||
public JSON() {
|
public JSON() {
|
||||||
gson = new GsonBuilder()
|
gson = createGson()
|
||||||
.registerTypeAdapter(Date.class, dateTypeAdapter)
|
.registerTypeAdapter(Date.class, dateTypeAdapter)
|
||||||
.registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter)
|
.registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter)
|
||||||
.registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter)
|
.registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user