use OffsetDateTime instead of LocalDateTime

Fix #2138
This commit is contained in:
cbornet 2016-05-31 23:15:29 +02:00
parent b978914c96
commit 5fd948f234
8 changed files with 58 additions and 58 deletions

View File

@ -375,9 +375,9 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig {
additionalProperties.put("java8", "true");
additionalProperties.put("javaVersion", "1.8");
typeMapping.put("date", "LocalDate");
typeMapping.put("DateTime", "LocalDateTime");
typeMapping.put("DateTime", "OffsetDateTime");
importMapping.put("LocalDate", "java.time.LocalDate");
importMapping.put("LocalDateTime", "java.time.LocalDateTime");
importMapping.put("OffsetDateTime", "java.time.OffsetDateTime");
}
supportingFiles.add(new SupportingFile("git_push.sh.mustache", "", "git_push.sh"));

View File

@ -98,7 +98,7 @@ public class JavaJerseyServerCodegen extends AbstractJavaJAXRSServerCodegen {
supportingFiles.add(new SupportingFile("JodaDateTimeProvider.mustache", (sourceFolder + '/' + apiPackage).replace(".", "/"), "JodaDateTimeProvider.java"));
supportingFiles.add(new SupportingFile("JodaLocalDateProvider.mustache", (sourceFolder + '/' + apiPackage).replace(".", "/"), "JodaLocalDateProvider.java"));
} else if ( "java8".equals(dateLibrary) ) {
supportingFiles.add(new SupportingFile("LocalDateTimeProvider.mustache", (sourceFolder + '/' + apiPackage).replace(".", "/"), "LocalDateTimeProvider.java"));
supportingFiles.add(new SupportingFile("OffsetDateTimeProvider.mustache", (sourceFolder + '/' + apiPackage).replace(".", "/"), "OffsetDateTimeProvider.java"));
supportingFiles.add(new SupportingFile("LocalDateProvider.mustache", (sourceFolder + '/' + apiPackage).replace(".", "/"), "LocalDateProvider.java"));
}

View File

@ -139,12 +139,12 @@ public class JavaResteasyServerCodegen extends JavaClientCodegen implements Code
additionalProperties.put("java8", "true");
additionalProperties.put("javaVersion", "1.8");
typeMapping.put("date", "LocalDate");
typeMapping.put("DateTime", "LocalDateTime");
typeMapping.put("DateTime", "OffsetDateTime");
importMapping.put("LocalDate", "java.time.LocalDate");
importMapping.put("LocalDateTime", "java.time.LocalDateTime");
importMapping.put("OffsetDateTime", "java.time.OffsetDateTime");
supportingFiles.add(new SupportingFile("LocalDateTimeProvider.mustache",
(sourceFolder + '/' + apiPackage).replace(".", "/"), "LocalDateTimeProvider.java"));
supportingFiles.add(new SupportingFile("OffsetDateTimeProvider.mustache",
(sourceFolder + '/' + apiPackage).replace(".", "/"), "OffsetDateTimeProvider.java"));
supportingFiles.add(new SupportingFile("LocalDateProvider.mustache",
(sourceFolder + '/' + apiPackage).replace(".", "/"), "LocalDateProvider.java"));
}

View File

@ -11,23 +11,23 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.core.UriInfo;
import javax.ws.rs.ext.Provider;
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.util.List;
@Provider
public class LocalDateTimeProvider extends PerRequestTypeInjectableProvider<QueryParam, LocalDateTime> {
public class OffsetDateTimeProvider extends PerRequestTypeInjectableProvider<QueryParam, OffsetDateTime> {
private final UriInfo uriInfo;
public LocalDateTimeProvider(@Context UriInfo uriInfo) {
super(LocalDateTime.class);
public OffsetDateTimeProvider(@Context UriInfo uriInfo) {
super(OffsetDateTime.class);
this.uriInfo = uriInfo;
}
@Override
public Injectable<LocalDateTime> getInjectable(final ComponentContext cc, final QueryParam a) {
return new Injectable<LocalDateTime>() {
public Injectable<OffsetDateTime> getInjectable(final ComponentContext cc, final QueryParam a) {
return new Injectable<OffsetDateTime>() {
@Override
public LocalDateTime getValue() {
public OffsetDateTime getValue() {
final List<String> values = uriInfo.getQueryParameters().get(a.value());
if (values == null || values.isEmpty())
@ -37,7 +37,7 @@ public class LocalDateTimeProvider extends PerRequestTypeInjectableProvider<Quer
entity(a.value() + " cannot contain multiple values").build());
}
return LocalDateTime.parse(values.get(0));
return OffsetDateTime.parse(values.get(0));
}
};
}

View File

@ -11,23 +11,23 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.core.UriInfo;
import javax.ws.rs.ext.Provider;
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.util.List;
@Provider
public class LocalDateTimeProvider extends PerRequestTypeInjectableProvider<QueryParam, LocalDateTime> {
public class OffsetDateTimeProvider extends PerRequestTypeInjectableProvider<QueryParam, OffsetDateTime> {
private final UriInfo uriInfo;
public LocalDateTimeProvider(@Context UriInfo uriInfo) {
super(LocalDateTime.class);
public OffsetDateTimeProvider(@Context UriInfo uriInfo) {
super(OffsetDateTime.class);
this.uriInfo = uriInfo;
}
@Override
public Injectable<LocalDateTime> getInjectable(final ComponentContext cc, final QueryParam a) {
return new Injectable<LocalDateTime>() {
public Injectable<OffsetDateTime> getInjectable(final ComponentContext cc, final QueryParam a) {
return new Injectable<OffsetDateTime>() {
@Override
public LocalDateTime getValue() {
public OffsetDateTime getValue() {
final List<String> values = uriInfo.getQueryParameters().get(a.value());
if (values == null || values.isEmpty())
@ -37,7 +37,7 @@ public class LocalDateTimeProvider extends PerRequestTypeInjectableProvider<Quer
entity(a.value() + " cannot contain multiple values").build());
}
return LocalDateTime.parse(values.get(0));
return OffsetDateTime.parse(values.get(0));
}
};
}

View File

@ -1,34 +0,0 @@
package {{apiPackage}};
import java.time.LocalDateTime;
import javax.ws.rs.ext.ParamConverter;
import javax.ws.rs.ext.ParamConverterProvider;
import javax.ws.rs.ext.Provider;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
@Provider
public class LocalDateTimeProvider implements ParamConverterProvider {
public static class LocalDateTimeConverter implements ParamConverter<LocalDateTime> {
@Override
public LocalDateTime fromString(String string) {
LocalDateTime localDateTime = LocalDateTime.parse(string);
return localDateTime;
}
@Override
public String toString(LocalDateTime t) {
return t.toString();
}
}
@Override
public <T> ParamConverter<T> getConverter(Class<T> type, Type type1, Annotation[] antns) {
if (LocalDateTime.class.equals(type)) {
return (ParamConverter<T>) new LocalDateTimeConverter();
}
return null;
}
}

View File

@ -0,0 +1,34 @@
package {{apiPackage}};
import java.time.OffsetDateTime;
import javax.ws.rs.ext.ParamConverter;
import javax.ws.rs.ext.ParamConverterProvider;
import javax.ws.rs.ext.Provider;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
@Provider
public class OffsetDateTimeProvider implements ParamConverterProvider {
public static class OffsetDateTimeConverter implements ParamConverter<OffsetDateTime> {
@Override
public OffsetDateTime fromString(String string) {
OffsetDateTime OffsetDateTime = OffsetDateTime.parse(string);
return OffsetDateTime;
}
@Override
public String toString(OffsetDateTime t) {
return t.toString();
}
}
@Override
public <T> ParamConverter<T> getConverter(Class<T> type, Type type1, Annotation[] antns) {
if (OffsetDateTime.class.equals(type)) {
return (ParamConverter<T>) new OffsetDateTimeConverter();
}
return null;
}
}

View File

@ -34,6 +34,6 @@ public class JaxrsJava8ModelTest {
Json.prettyPrint(cm);
assertEquals(cm.vars.get(0).datatype, "Long");
assertEquals(cm.vars.get(1).datatype, "LocalDate");
assertEquals(cm.vars.get(2).datatype, "LocalDateTime");
assertEquals(cm.vars.get(2).datatype, "OffsetDateTime");
}
}