|
1 | 1 | package com.afrozaar.wordpress.wpapi.v2; |
2 | 2 |
|
3 | | -import static com.afrozaar.wordpress.wpapi.v2.util.FieldExtractor.extractField; |
4 | | -import static com.afrozaar.wordpress.wpapi.v2.util.Tuples.tuple; |
5 | | -import static java.lang.String.format; |
6 | | -import static java.net.URLDecoder.decode; |
7 | | -import static java.util.Objects.isNull; |
8 | | -import static java.util.Objects.nonNull; |
9 | | -import static java.util.Optional.ofNullable; |
10 | | - |
11 | 3 | import com.afrozaar.wordpress.wpapi.v2.api.Contexts; |
12 | | -import com.afrozaar.wordpress.wpapi.v2.exception.ExceptionCodes; |
13 | | -import com.afrozaar.wordpress.wpapi.v2.exception.InvalidParameterException; |
14 | | -import com.afrozaar.wordpress.wpapi.v2.exception.PageNotFoundException; |
15 | | -import com.afrozaar.wordpress.wpapi.v2.exception.ParsedRestException; |
16 | | -import com.afrozaar.wordpress.wpapi.v2.exception.PostCreateException; |
17 | | -import com.afrozaar.wordpress.wpapi.v2.exception.PostNotFoundException; |
18 | | -import com.afrozaar.wordpress.wpapi.v2.exception.TermNotFoundException; |
19 | | -import com.afrozaar.wordpress.wpapi.v2.exception.UserEmailAlreadyExistsException; |
20 | | -import com.afrozaar.wordpress.wpapi.v2.exception.UserNotFoundException; |
21 | | -import com.afrozaar.wordpress.wpapi.v2.exception.UsernameAlreadyExistsException; |
22 | | -import com.afrozaar.wordpress.wpapi.v2.exception.WpApiParsedException; |
23 | | -import com.afrozaar.wordpress.wpapi.v2.model.DeleteResponse; |
24 | | -import com.afrozaar.wordpress.wpapi.v2.model.Link; |
25 | | -import com.afrozaar.wordpress.wpapi.v2.model.Media; |
26 | | -import com.afrozaar.wordpress.wpapi.v2.model.Page; |
27 | | -import com.afrozaar.wordpress.wpapi.v2.model.Post; |
28 | | -import com.afrozaar.wordpress.wpapi.v2.model.PostMeta; |
29 | | -import com.afrozaar.wordpress.wpapi.v2.model.PostStatus; |
30 | | -import com.afrozaar.wordpress.wpapi.v2.model.RenderableField; |
31 | | -import com.afrozaar.wordpress.wpapi.v2.model.Taxonomy; |
32 | | -import com.afrozaar.wordpress.wpapi.v2.model.Term; |
33 | | -import com.afrozaar.wordpress.wpapi.v2.model.User; |
| 4 | +import com.afrozaar.wordpress.wpapi.v2.exception.*; |
| 5 | +import com.afrozaar.wordpress.wpapi.v2.model.*; |
34 | 6 | import com.afrozaar.wordpress.wpapi.v2.request.Request; |
35 | 7 | import com.afrozaar.wordpress.wpapi.v2.request.SearchRequest; |
36 | 8 | import com.afrozaar.wordpress.wpapi.v2.response.CustomRenderableParser; |
37 | 9 | import com.afrozaar.wordpress.wpapi.v2.response.PagedResponse; |
38 | 10 | import com.afrozaar.wordpress.wpapi.v2.util.AuthUtil; |
39 | 11 | import com.afrozaar.wordpress.wpapi.v2.util.MavenProperties; |
40 | 12 | import com.afrozaar.wordpress.wpapi.v2.util.Tuples.Tuple2; |
41 | | - |
| 13 | +import com.fasterxml.jackson.annotation.JsonProperty; |
| 14 | +import com.fasterxml.jackson.databind.DeserializationFeature; |
| 15 | +import com.fasterxml.jackson.databind.JsonMappingException; |
| 16 | +import com.fasterxml.jackson.databind.ObjectMapper; |
42 | 17 | import com.google.common.base.Preconditions; |
43 | 18 | import com.google.common.collect.ImmutableMap; |
44 | | - |
| 19 | +import org.apache.commons.beanutils.BeanUtils; |
| 20 | +import org.assertj.core.util.VisibleForTesting; |
| 21 | +import org.slf4j.Logger; |
| 22 | +import org.slf4j.LoggerFactory; |
45 | 23 | import org.springframework.core.io.Resource; |
46 | | -import org.springframework.http.HttpHeaders; |
47 | | -import org.springframework.http.HttpMethod; |
48 | | -import org.springframework.http.MediaType; |
49 | | -import org.springframework.http.RequestEntity; |
50 | | -import org.springframework.http.ResponseEntity; |
| 24 | +import org.springframework.http.*; |
51 | 25 | import org.springframework.http.client.ClientHttpRequestFactory; |
52 | 26 | import org.springframework.http.converter.ByteArrayHttpMessageConverter; |
53 | 27 | import org.springframework.http.converter.HttpMessageConverter; |
|
66 | 40 | import org.springframework.web.util.UriComponents; |
67 | 41 | import org.springframework.web.util.UriComponentsBuilder; |
68 | 42 |
|
69 | | -import com.fasterxml.jackson.annotation.JsonProperty; |
70 | | -import com.fasterxml.jackson.databind.DeserializationFeature; |
71 | | -import com.fasterxml.jackson.databind.JsonMappingException; |
72 | | -import com.fasterxml.jackson.databind.ObjectMapper; |
73 | | -import org.apache.commons.beanutils.BeanUtils; |
74 | | -import org.assertj.core.util.VisibleForTesting; |
75 | | -import org.slf4j.Logger; |
76 | | -import org.slf4j.LoggerFactory; |
77 | | - |
78 | 43 | import javax.annotation.Nullable; |
79 | 44 | import javax.xml.transform.Source; |
80 | | - |
81 | 45 | import java.lang.reflect.InvocationTargetException; |
82 | 46 | import java.net.URI; |
83 | 47 | import java.net.URLDecoder; |
84 | | -import java.util.ArrayList; |
85 | | -import java.util.Arrays; |
86 | | -import java.util.Collections; |
87 | | -import java.util.List; |
88 | | -import java.util.Map; |
89 | | -import java.util.Objects; |
90 | | -import java.util.Optional; |
91 | | -import java.util.Properties; |
| 48 | +import java.util.*; |
92 | 49 | import java.util.function.BiConsumer; |
93 | 50 | import java.util.function.BiFunction; |
94 | 51 | import java.util.function.Function; |
95 | 52 | import java.util.function.Predicate; |
96 | 53 | import java.util.stream.Collectors; |
97 | 54 | import java.util.stream.Stream; |
98 | 55 |
|
| 56 | +import static com.afrozaar.wordpress.wpapi.v2.util.FieldExtractor.extractField; |
| 57 | +import static com.afrozaar.wordpress.wpapi.v2.util.Tuples.tuple; |
| 58 | +import static java.lang.String.format; |
| 59 | +import static java.net.URLDecoder.decode; |
| 60 | +import static java.util.Objects.isNull; |
| 61 | +import static java.util.Objects.nonNull; |
| 62 | +import static java.util.Optional.ofNullable; |
| 63 | + |
99 | 64 | public class Client implements Wordpress { |
100 | 65 | private static final String DEFAULT_CONTEXT = "/wp-json/wp/v2"; |
101 | 66 | private static final Logger LOG = LoggerFactory.getLogger(Client.class); |
@@ -148,7 +113,9 @@ public Client(String context, String baseUrl, String username, String password, |
148 | 113 | this.debug = debug; |
149 | 114 | this.permalinkEndpoint = usePermalinkEndpoint; |
150 | 115 |
|
151 | | - final ObjectMapper emptyArrayAsNullObjectMapper = Jackson2ObjectMapperBuilder.json().featuresToEnable(DeserializationFeature.ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT).build(); |
| 116 | + final ObjectMapper emptyArrayAsNullObjectMapper = Jackson2ObjectMapperBuilder.json() |
| 117 | + .featuresToEnable(DeserializationFeature.ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT) |
| 118 | + .featuresToEnable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY).build(); |
152 | 119 |
|
153 | 120 | List<HttpMessageConverter<?>> messageConverters = new ArrayList<>(); |
154 | 121 | messageConverters.add(new ByteArrayHttpMessageConverter()); |
|
0 commit comments