diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/resttemplate/ApiClient.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/resttemplate/ApiClient.mustache
index d119fba36b1..c1b345e25fd 100644
--- a/modules/swagger-codegen/src/main/resources/Java/libraries/resttemplate/ApiClient.mustache
+++ b/modules/swagger-codegen/src/main/resources/Java/libraries/resttemplate/ApiClient.mustache
@@ -24,6 +24,13 @@ import org.springframework.util.StringUtils;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
+{{#threetenbp}}
+import org.threeten.bp.*;
+import com.fasterxml.jackson.datatype.threetenbp.ThreeTenModule;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter;
+import com.fasterxml.jackson.databind.ObjectMapper;
+{{/threetenbp}}
import java.io.BufferedReader;
import java.io.IOException;
@@ -303,6 +310,14 @@ public class ApiClient {
*/
public ApiClient setDateFormat(DateFormat dateFormat) {
this.dateFormat = dateFormat;
+ {{#threetenbp}}
+ for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
+ if(converter instanceof AbstractJackson2HttpMessageConverter){
+ ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
+ mapper.setDateFormat(dateFormat);
+ }
+ }
+ {{/threetenbp}}
return this;
}
@@ -551,6 +566,18 @@ public class ApiClient {
*/
protected RestTemplate buildRestTemplate() {
RestTemplate restTemplate = new RestTemplate();
+ {{#threetenbp}}
+ for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
+ if(converter instanceof AbstractJackson2HttpMessageConverter){
+ ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
+ ThreeTenModule module = new ThreeTenModule();
+ module.addDeserializer(Instant.class, CustomInstantDeserializer.INSTANT);
+ module.addDeserializer(OffsetDateTime.class, CustomInstantDeserializer.OFFSET_DATE_TIME);
+ module.addDeserializer(ZonedDateTime.class, CustomInstantDeserializer.ZONED_DATE_TIME);
+ mapper.registerModule(module);
+ }
+ }
+ {{/threetenbp}}
// This allows us to read the response more than once - Necessary for debugging.
restTemplate.setRequestFactory(new BufferingClientHttpRequestFactory(restTemplate.getRequestFactory()));
return restTemplate;
diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/resttemplate/build.gradle.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/resttemplate/build.gradle.mustache
index 687b83ff58f..f9d26eedf74 100644
--- a/modules/swagger-codegen/src/main/resources/Java/libraries/resttemplate/build.gradle.mustache
+++ b/modules/swagger-codegen/src/main/resources/Java/libraries/resttemplate/build.gradle.mustache
@@ -111,6 +111,9 @@ ext {
spring_web_version = "4.3.7.RELEASE"
jodatime_version = "2.9.4"
junit_version = "4.12"
+ {{#threetenbp}}
+ jackson_threeten_version = "2.6.4"
+ {{/threetenbp}}
}
dependencies {
@@ -123,9 +126,12 @@ dependencies {
{{#java8}}
compile "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jackson_version"
{{/java8}}
- {{^java8}}
+ {{#joda}}
compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:$jackson_version"
compile "joda-time:joda-time:$jodatime_version"
- {{/java8}}
+ {{/joda}}
+ {{#threetenbp}}
+ compile "com.github.joschi.jackson:jackson-datatype-threetenbp:$jackson_threeten_version"
+ {{/threetenbp}}
testCompile "junit:junit:$junit_version"
}
diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/resttemplate/pom.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/resttemplate/pom.mustache
index 0122c5c9008..b32fc6af80a 100644
--- a/modules/swagger-codegen/src/main/resources/Java/libraries/resttemplate/pom.mustache
+++ b/modules/swagger-codegen/src/main/resources/Java/libraries/resttemplate/pom.mustache
@@ -225,7 +225,7 @@
${jackson-version}
{{/java8}}
- {{^java8}}
+ {{#joda}}
com.fasterxml.jackson.datatype
jackson-datatype-joda
@@ -236,7 +236,14 @@
joda-time
${jodatime-version}
- {{/java8}}
+ {{/joda}}
+ {{#threetenbp}}
+
+ com.github.joschi.jackson
+ jackson-datatype-threetenbp
+ ${jackson-threetenbp-version}
+
+ {{/threetenbp}}
@@ -251,9 +258,12 @@
1.5.8
4.3.7.RELEASE
2.8.8
- {{^java8}}
+ {{#joda}}
2.9.4
- {{/java8}}
+ {{/joda}}
+ {{#threetenbp}}
+ 2.6.4
+ {{/threetenbp}}
1.0.0
4.12
diff --git a/samples/client/petstore/java/resttemplate/README.md b/samples/client/petstore/java/resttemplate/README.md
index 7edbcde179b..4632c0742a4 100644
--- a/samples/client/petstore/java/resttemplate/README.md
+++ b/samples/client/petstore/java/resttemplate/README.md
@@ -61,26 +61,22 @@ Please follow the [installation](#installation) instruction and execute the foll
import io.swagger.client.*;
import io.swagger.client.auth.*;
import io.swagger.client.model.*;
-import io.swagger.client.api.PetApi;
+import io.swagger.client.api.FakeApi;
import java.io.File;
import java.util.*;
-public class PetApiExample {
+public class FakeApiExample {
public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- // Configure OAuth2 access token for authorization: petstore_auth
- OAuth petstore_auth = (OAuth) defaultClient.getAuthentication("petstore_auth");
- petstore_auth.setAccessToken("YOUR ACCESS TOKEN");
-
- PetApi apiInstance = new PetApi();
- Pet body = new Pet(); // Pet | Pet object that needs to be added to the store
+ FakeApi apiInstance = new FakeApi();
+ Boolean body = true; // Boolean | Input boolean as post body
try {
- apiInstance.addPet(body);
+ Boolean result = apiInstance.fakeOuterBooleanSerialize(body);
+ System.out.println(result);
} catch (ApiException e) {
- System.err.println("Exception when calling PetApi#addPet");
+ System.err.println("Exception when calling FakeApi#fakeOuterBooleanSerialize");
e.printStackTrace();
}
}
@@ -90,10 +86,19 @@ public class PetApiExample {
## Documentation for API Endpoints
-All URIs are relative to *http://petstore.swagger.io/v2*
+All URIs are relative to *http://petstore.swagger.io:80/v2*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
+*FakeApi* | [**fakeOuterBooleanSerialize**](docs/FakeApi.md#fakeOuterBooleanSerialize) | **POST** /fake/outer/boolean |
+*FakeApi* | [**fakeOuterCompositeSerialize**](docs/FakeApi.md#fakeOuterCompositeSerialize) | **POST** /fake/outer/composite |
+*FakeApi* | [**fakeOuterNumberSerialize**](docs/FakeApi.md#fakeOuterNumberSerialize) | **POST** /fake/outer/number |
+*FakeApi* | [**fakeOuterStringSerialize**](docs/FakeApi.md#fakeOuterStringSerialize) | **POST** /fake/outer/string |
+*FakeApi* | [**testClientModel**](docs/FakeApi.md#testClientModel) | **PATCH** /fake | To test \"client\" model
+*FakeApi* | [**testEndpointParameters**](docs/FakeApi.md#testEndpointParameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
+*FakeApi* | [**testEnumParameters**](docs/FakeApi.md#testEnumParameters) | **GET** /fake | To test enum parameters
+*FakeApi* | [**testJsonFormData**](docs/FakeApi.md#testJsonFormData) | **GET** /fake/jsonFormData | test json serialization of form data
+*FakeClassnameTags123Api* | [**testClassname**](docs/FakeClassnameTags123Api.md#testClassname) | **PATCH** /fake_classname_test | To test class name in snake case
*PetApi* | [**addPet**](docs/PetApi.md#addPet) | **POST** /pet | Add a new pet to the store
*PetApi* | [**deletePet**](docs/PetApi.md#deletePet) | **DELETE** /pet/{petId} | Deletes a pet
*PetApi* | [**findPetsByStatus**](docs/PetApi.md#findPetsByStatus) | **GET** /pet/findByStatus | Finds Pets by status
@@ -102,9 +107,9 @@ Class | Method | HTTP request | Description
*PetApi* | [**updatePet**](docs/PetApi.md#updatePet) | **PUT** /pet | Update an existing pet
*PetApi* | [**updatePetWithForm**](docs/PetApi.md#updatePetWithForm) | **POST** /pet/{petId} | Updates a pet in the store with form data
*PetApi* | [**uploadFile**](docs/PetApi.md#uploadFile) | **POST** /pet/{petId}/uploadImage | uploads an image
-*StoreApi* | [**deleteOrder**](docs/StoreApi.md#deleteOrder) | **DELETE** /store/order/{orderId} | Delete purchase order by ID
+*StoreApi* | [**deleteOrder**](docs/StoreApi.md#deleteOrder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID
*StoreApi* | [**getInventory**](docs/StoreApi.md#getInventory) | **GET** /store/inventory | Returns pet inventories by status
-*StoreApi* | [**getOrderById**](docs/StoreApi.md#getOrderById) | **GET** /store/order/{orderId} | Find purchase order by ID
+*StoreApi* | [**getOrderById**](docs/StoreApi.md#getOrderById) | **GET** /store/order/{order_id} | Find purchase order by ID
*StoreApi* | [**placeOrder**](docs/StoreApi.md#placeOrder) | **POST** /store/order | Place an order for a pet
*UserApi* | [**createUser**](docs/UserApi.md#createUser) | **POST** /user | Create user
*UserApi* | [**createUsersWithArrayInput**](docs/UserApi.md#createUsersWithArrayInput) | **POST** /user/createWithArray | Creates list of users with given input array
@@ -118,37 +123,68 @@ Class | Method | HTTP request | Description
## Documentation for Models
+ - [AdditionalPropertiesClass](docs/AdditionalPropertiesClass.md)
+ - [Animal](docs/Animal.md)
+ - [AnimalFarm](docs/AnimalFarm.md)
+ - [ArrayOfArrayOfNumberOnly](docs/ArrayOfArrayOfNumberOnly.md)
+ - [ArrayOfNumberOnly](docs/ArrayOfNumberOnly.md)
+ - [ArrayTest](docs/ArrayTest.md)
+ - [Capitalization](docs/Capitalization.md)
- [Category](docs/Category.md)
+ - [ClassModel](docs/ClassModel.md)
+ - [Client](docs/Client.md)
+ - [EnumArrays](docs/EnumArrays.md)
+ - [EnumClass](docs/EnumClass.md)
+ - [EnumTest](docs/EnumTest.md)
+ - [FormatTest](docs/FormatTest.md)
+ - [HasOnlyReadOnly](docs/HasOnlyReadOnly.md)
+ - [MapTest](docs/MapTest.md)
+ - [MixedPropertiesAndAdditionalPropertiesClass](docs/MixedPropertiesAndAdditionalPropertiesClass.md)
+ - [Model200Response](docs/Model200Response.md)
+ - [ModelApiResponse](docs/ModelApiResponse.md)
+ - [ModelReturn](docs/ModelReturn.md)
+ - [Name](docs/Name.md)
+ - [NumberOnly](docs/NumberOnly.md)
- [Order](docs/Order.md)
+ - [OuterComposite](docs/OuterComposite.md)
+ - [OuterEnum](docs/OuterEnum.md)
- [Pet](docs/Pet.md)
+ - [ReadOnlyFirst](docs/ReadOnlyFirst.md)
+ - [SpecialModelName](docs/SpecialModelName.md)
- [Tag](docs/Tag.md)
- [User](docs/User.md)
+ - [Cat](docs/Cat.md)
+ - [Dog](docs/Dog.md)
## Documentation for Authorization
Authentication schemes defined for the API:
-### petstore_auth
-
-- **Type**: OAuth
-- **Flow**: implicit
-- **Authorizatoin URL**: http://petstore.swagger.io/api/oauth/dialog
-- **Scopes**:
- - write:pets: modify pets in your account
- - read:pets: read your pets
-
### api_key
- **Type**: API key
- **API key parameter name**: api_key
- **Location**: HTTP header
+### http_basic_test
+
+- **Type**: HTTP basic authentication
+
+### petstore_auth
+
+- **Type**: OAuth
+- **Flow**: implicit
+- **Authorization URL**: http://petstore.swagger.io/api/oauth/dialog
+- **Scopes**:
+ - write:pets: modify pets in your account
+ - read:pets: read your pets
+
## Recommendation
-It's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issue.
+It's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issues.
## Author
-apiteam@wordnik.com
+apiteam@swagger.io
diff --git a/samples/client/petstore/java/resttemplate/build.gradle b/samples/client/petstore/java/resttemplate/build.gradle
index ab711893226..695e421f001 100644
--- a/samples/client/petstore/java/resttemplate/build.gradle
+++ b/samples/client/petstore/java/resttemplate/build.gradle
@@ -99,6 +99,7 @@ ext {
spring_web_version = "4.3.7.RELEASE"
jodatime_version = "2.9.4"
junit_version = "4.12"
+ jackson_threeten_version = "2.6.4"
}
dependencies {
@@ -108,7 +109,6 @@ dependencies {
compile "com.fasterxml.jackson.core:jackson-annotations:$jackson_version"
compile "com.fasterxml.jackson.core:jackson-databind:$jackson_version"
compile "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:$jackson_version"
- compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:$jackson_version"
- compile "joda-time:joda-time:$jodatime_version"
+ compile "com.github.joschi.jackson:jackson-datatype-threetenbp:$jackson_threeten_version"
testCompile "junit:junit:$junit_version"
}
diff --git a/samples/client/petstore/java/resttemplate/pom.xml b/samples/client/petstore/java/resttemplate/pom.xml
index f5b77cc1e71..16f6a0a9c01 100644
--- a/samples/client/petstore/java/resttemplate/pom.xml
+++ b/samples/client/petstore/java/resttemplate/pom.xml
@@ -213,14 +213,9 @@
${jackson-version}
- com.fasterxml.jackson.datatype
- jackson-datatype-joda
- ${jackson-version}
-
-
- joda-time
- joda-time
- ${jodatime-version}
+ com.github.joschi.jackson
+ jackson-datatype-threetenbp
+ ${jackson-threetenbp-version}
@@ -236,7 +231,7 @@
1.5.8
4.3.7.RELEASE
2.8.8
- 2.9.4
+ 2.6.4
1.0.0
4.12
diff --git a/samples/client/petstore/java/resttemplate/src/main/java/io/swagger/client/ApiClient.java b/samples/client/petstore/java/resttemplate/src/main/java/io/swagger/client/ApiClient.java
index 04565c0efe4..d8d84aedfb5 100644
--- a/samples/client/petstore/java/resttemplate/src/main/java/io/swagger/client/ApiClient.java
+++ b/samples/client/petstore/java/resttemplate/src/main/java/io/swagger/client/ApiClient.java
@@ -24,6 +24,11 @@ import org.springframework.util.StringUtils;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
+import org.threeten.bp.*;
+import com.fasterxml.jackson.datatype.threetenbp.ThreeTenModule;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter;
+import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.BufferedReader;
import java.io.IOException;
@@ -303,6 +308,12 @@ public class ApiClient {
*/
public ApiClient setDateFormat(DateFormat dateFormat) {
this.dateFormat = dateFormat;
+ for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
+ if(converter instanceof AbstractJackson2HttpMessageConverter){
+ ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
+ mapper.setDateFormat(dateFormat);
+ }
+ }
return this;
}
@@ -551,6 +562,16 @@ public class ApiClient {
*/
protected RestTemplate buildRestTemplate() {
RestTemplate restTemplate = new RestTemplate();
+ for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
+ if(converter instanceof AbstractJackson2HttpMessageConverter){
+ ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
+ ThreeTenModule module = new ThreeTenModule();
+ module.addDeserializer(Instant.class, CustomInstantDeserializer.INSTANT);
+ module.addDeserializer(OffsetDateTime.class, CustomInstantDeserializer.OFFSET_DATE_TIME);
+ module.addDeserializer(ZonedDateTime.class, CustomInstantDeserializer.ZONED_DATE_TIME);
+ mapper.registerModule(module);
+ }
+ }
// This allows us to read the response more than once - Necessary for debugging.
restTemplate.setRequestFactory(new BufferingClientHttpRequestFactory(restTemplate.getRequestFactory()));
return restTemplate;
diff --git a/samples/client/petstore/java/resttemplate/src/test/java/io/swagger/client/api/FakeApiTest.java b/samples/client/petstore/java/resttemplate/src/test/java/io/swagger/client/api/FakeApiTest.java
index 0f9ac02c9fc..65b341a3c52 100644
--- a/samples/client/petstore/java/resttemplate/src/test/java/io/swagger/client/api/FakeApiTest.java
+++ b/samples/client/petstore/java/resttemplate/src/test/java/io/swagger/client/api/FakeApiTest.java
@@ -1,8 +1,25 @@
+/*
+ * Swagger Petstore
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ * Contact: apiteam@swagger.io
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+
package io.swagger.client.api;
import java.math.BigDecimal;
-import java.util.Date;
+import io.swagger.client.model.Client;
+import org.threeten.bp.LocalDate;
+import org.threeten.bp.OffsetDateTime;
+import io.swagger.client.model.OuterComposite;
import org.junit.Test;
+import org.junit.Ignore;
import java.util.ArrayList;
import java.util.HashMap;
@@ -12,32 +29,157 @@ import java.util.Map;
/**
* API tests for FakeApi
*/
+@Ignore
public class FakeApiTest {
private final FakeApi api = new FakeApi();
+ /**
+ *
+ *
+ * Test serialization of outer boolean types
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void fakeOuterBooleanSerializeTest() {
+ Boolean body = null;
+ Boolean response = api.fakeOuterBooleanSerialize(body);
+
+ // TODO: test validations
+ }
+
+ /**
+ *
+ *
+ * Test serialization of object with outer number type
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void fakeOuterCompositeSerializeTest() {
+ OuterComposite body = null;
+ OuterComposite response = api.fakeOuterCompositeSerialize(body);
+
+ // TODO: test validations
+ }
+
+ /**
+ *
+ *
+ * Test serialization of outer number types
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void fakeOuterNumberSerializeTest() {
+ BigDecimal body = null;
+ BigDecimal response = api.fakeOuterNumberSerialize(body);
+
+ // TODO: test validations
+ }
+
+ /**
+ *
+ *
+ * Test serialization of outer string types
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void fakeOuterStringSerializeTest() {
+ String body = null;
+ String response = api.fakeOuterStringSerialize(body);
+
+ // TODO: test validations
+ }
+
+ /**
+ * To test \"client\" model
+ *
+ * To test \"client\" model
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void testClientModelTest() {
+ Client body = null;
+ Client response = api.testClientModel(body);
+
+ // TODO: test validations
+ }
+
/**
* Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
*
* Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
*
+ * @throws ApiException
+ * if the Api call fails
*/
@Test
public void testEndpointParametersTest() {
BigDecimal number = null;
Double _double = null;
- String string = null;
+ String patternWithoutDelimiter = null;
byte[] _byte = null;
Integer integer = null;
Integer int32 = null;
Long int64 = null;
Float _float = null;
+ String string = null;
byte[] binary = null;
- Date date = null;
- Date dateTime = null;
+ LocalDate date = null;
+ OffsetDateTime dateTime = null;
String password = null;
- // api.testEndpointParameters(number, _double, string, _byte, integer, int32, int64, _float, binary, date, dateTime, password);
+ String paramCallback = null;
+ api.testEndpointParameters(number, _double, patternWithoutDelimiter, _byte, integer, int32, int64, _float, string, binary, date, dateTime, password, paramCallback);
+
+ // TODO: test validations
+ }
+
+ /**
+ * To test enum parameters
+ *
+ * To test enum parameters
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void testEnumParametersTest() {
+ List enumFormStringArray = null;
+ String enumFormString = null;
+ List enumHeaderStringArray = null;
+ String enumHeaderString = null;
+ List enumQueryStringArray = null;
+ String enumQueryString = null;
+ Integer enumQueryInteger = null;
+ Double enumQueryDouble = null;
+ api.testEnumParameters(enumFormStringArray, enumFormString, enumHeaderStringArray, enumHeaderString, enumQueryStringArray, enumQueryString, enumQueryInteger, enumQueryDouble);
+
+ // TODO: test validations
+ }
+
+ /**
+ * test json serialization of form data
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void testJsonFormDataTest() {
+ String param = null;
+ String param2 = null;
+ api.testJsonFormData(param, param2);
// TODO: test validations
}
diff --git a/samples/client/petstore/java/resttemplate/src/test/java/io/swagger/client/api/PetApiTest.java b/samples/client/petstore/java/resttemplate/src/test/java/io/swagger/client/api/PetApiTest.java
index 04b6c04ed28..fb1bb2810f6 100644
--- a/samples/client/petstore/java/resttemplate/src/test/java/io/swagger/client/api/PetApiTest.java
+++ b/samples/client/petstore/java/resttemplate/src/test/java/io/swagger/client/api/PetApiTest.java
@@ -2,8 +2,8 @@ package io.swagger.client.api;
import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.databind.*;
-import com.fasterxml.jackson.datatype.joda.*;
+import com.fasterxml.jackson.datatype.threetenbp.ThreeTenModule;
import io.swagger.TestUtils;
import io.swagger.client.*;
@@ -22,6 +22,9 @@ import java.util.Map;
import org.junit.*;
import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.client.RestClientException;
+import org.threeten.bp.Instant;
+import org.threeten.bp.OffsetDateTime;
+import org.threeten.bp.ZonedDateTime;
import static org.junit.Assert.*;
@@ -160,32 +163,33 @@ public class PetApiTest {
assertTrue(found);
}
- @Test
- public void testFindPetsByTags() throws Exception {
- Pet pet = createRandomPet();
- pet.setName("monster");
- pet.setStatus(Pet.StatusEnum.AVAILABLE);
-
- List tags = new ArrayList();
- Tag tag1 = new Tag();
- tag1.setName("friendly");
- tags.add(tag1);
- pet.setTags(tags);
-
- api.updatePet(pet);
-
- List pets = api.findPetsByTags(Arrays.asList(new String[]{"friendly"}));
- assertNotNull(pets);
-
- boolean found = false;
- for (Pet fetched : pets) {
- if (fetched.getId().equals(pet.getId())) {
- found = true;
- break;
- }
- }
- assertTrue(found);
- }
+// this API is deprecated
+// @Test
+// public void testFindPetsByTags() throws Exception {
+// Pet pet = createRandomPet();
+// pet.setName("monster");
+// pet.setStatus(Pet.StatusEnum.AVAILABLE);
+//
+// List tags = new ArrayList();
+// Tag tag1 = new Tag();
+// tag1.setName("friendly");
+// tags.add(tag1);
+// pet.setTags(tags);
+//
+// api.updatePet(pet);
+//
+// List pets = api.findPetsByTags(Arrays.asList(new String[]{"friendly"}));
+// assertNotNull(pets);
+//
+// boolean found = false;
+// for (Pet fetched : pets) {
+// if (fetched.getId().equals(pet.getId())) {
+// found = true;
+// break;
+// }
+// }
+// assertTrue(found);
+// }
@Test
public void testUpdatePetWithForm() throws Exception {
@@ -303,7 +307,11 @@ public class PetApiTest {
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
mapper.enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
mapper.enable(DeserializationFeature.READ_ENUMS_USING_TO_STRING);
- mapper.registerModule(new JodaModule());
+ ThreeTenModule module = new ThreeTenModule();
+ module.addDeserializer(Instant.class, CustomInstantDeserializer.INSTANT);
+ module.addDeserializer(OffsetDateTime.class, CustomInstantDeserializer.OFFSET_DATE_TIME);
+ module.addDeserializer(ZonedDateTime.class, CustomInstantDeserializer.ZONED_DATE_TIME);
+ mapper.registerModule(module);
return mapper;
}
}
diff --git a/samples/client/petstore/java/resttemplate/src/test/java/io/swagger/client/api/StoreApiTest.java b/samples/client/petstore/java/resttemplate/src/test/java/io/swagger/client/api/StoreApiTest.java
index d1bdd46250a..16b9531dea8 100644
--- a/samples/client/petstore/java/resttemplate/src/test/java/io/swagger/client/api/StoreApiTest.java
+++ b/samples/client/petstore/java/resttemplate/src/test/java/io/swagger/client/api/StoreApiTest.java
@@ -11,10 +11,9 @@ import java.lang.reflect.Field;
import java.util.Map;
import java.text.SimpleDateFormat;
-import org.joda.time.DateTime;
-import org.joda.time.DateTimeZone;
import org.junit.*;
import org.springframework.web.client.RestClientException;
+import org.threeten.bp.OffsetDateTime;
import static org.junit.Assert.*;
@@ -61,7 +60,7 @@ public class StoreApiTest {
assertEquals(order.getId(), fetched.getId());
assertEquals(order.getPetId(), fetched.getPetId());
assertEquals(order.getQuantity(), fetched.getQuantity());
- assertEquals(order.getShipDate().withZone(DateTimeZone.UTC), fetched.getShipDate().withZone(DateTimeZone.UTC));
+ assertTrue(order.getShipDate().isEqual(fetched.getShipDate()));
}
@Test
@@ -86,7 +85,7 @@ public class StoreApiTest {
Order order = new Order();
order.setPetId(new Long(200));
order.setQuantity(new Integer(13));
- order.setShipDate(DateTime.now());
+ order.setShipDate(OffsetDateTime.now().withNano(123000000));
order.setStatus(Order.StatusEnum.PLACED);
order.setComplete(true);