Skip to content

Commit 931fd0e

Browse files
committed
Cater for sites who have overridden author field to return a string instead of userId
1 parent f654c98 commit 931fd0e

4 files changed

Lines changed: 23 additions & 16 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.afrozaar.wordpress</groupId>
66
<artifactId>wp-api-v2-client-java</artifactId>
7-
<version>4.13.0-SNAPSHOT</version>
7+
<version>4.14.0-SNAPSHOT</version>
88

99
<packaging>jar</packaging>
1010

src/main/java/com/afrozaar/wordpress/wpapi/v2/model/Post.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.afrozaar.wordpress.wpapi.v2.model;
22

3+
import com.afrozaar.wordpress.wpapi.v2.util.FieldExtractor;
34
import com.fasterxml.jackson.annotation.*;
45

56
import javax.annotation.Generated;
@@ -38,7 +39,7 @@
3839
public class Post {
3940

4041
@JsonProperty("author")
41-
private List<Number> author = new ArrayList<>();
42+
private String author;
4243
@JsonProperty("content")
4344
private Content content;
4445
@JsonProperty("status")
@@ -96,10 +97,14 @@ public void setCategoryIds(List<Long> categoryIds) {
9697
}
9798

9899
public Long getAuthor() {
99-
return author.size() > 0 ? author.get(0).longValue() : null;
100+
return FieldExtractor.getLongValue(author);
100101
}
101102

102-
public void setAuthor(List<Number> author) {
103+
public String getAuthorString() {
104+
return author;
105+
}
106+
107+
public void setAuthor(String author) {
103108
this.author = author;
104109
}
105110

src/main/java/com/afrozaar/wordpress/wpapi/v2/model/builder/PostBuilder.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,17 @@
11
package com.afrozaar.wordpress.wpapi.v2.model.builder;
22

3-
import static java.util.stream.Collectors.toList;
4-
5-
import com.afrozaar.wordpress.wpapi.v2.model.Content;
6-
import com.afrozaar.wordpress.wpapi.v2.model.Excerpt;
7-
import com.afrozaar.wordpress.wpapi.v2.model.Guid;
8-
import com.afrozaar.wordpress.wpapi.v2.model.Post;
9-
import com.afrozaar.wordpress.wpapi.v2.model.Term;
10-
import com.afrozaar.wordpress.wpapi.v2.model.Title;
3+
import com.afrozaar.wordpress.wpapi.v2.model.*;
114

125
import java.util.Arrays;
13-
import java.util.Collections;
146
import java.util.List;
157

8+
import static java.util.stream.Collectors.toList;
9+
1610
/**
1711
* @author johan
1812
*/
1913
public class PostBuilder {
20-
private Long author;
14+
private String author;
2115
private Long id;
2216
private Title title;
2317
private com.afrozaar.wordpress.wpapi.v2.model.Links Links;
@@ -44,7 +38,7 @@ public static PostBuilder aPost() {
4438
return new PostBuilder();
4539
}
4640

47-
public PostBuilder withAuthor(Long author) {
41+
public PostBuilder withAuthor(String author) {
4842
this.author = author;
4943
return this;
5044
}
@@ -184,7 +178,7 @@ public PostBuilder but() {
184178

185179
public Post build() {
186180
Post post = new Post();
187-
post.setAuthor(Collections.singletonList(author));
181+
post.setAuthor(author);
188182
post.setId(id);
189183
post.setTitle(title);
190184
post.setLinks(Links);

src/main/java/com/afrozaar/wordpress/wpapi/v2/util/FieldExtractor.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,12 @@ public static <T> Optional<String> extractField(Function<T, RenderableField> fun
2424
return Optional.ofNullable(func.apply(source))
2525
.map(RenderableField::getRendered);
2626
}
27+
28+
public static Long getLongValue(String field) {
29+
try {
30+
return Long.valueOf(field);
31+
} catch (Exception e) {
32+
return null;
33+
}
34+
}
2735
}

0 commit comments

Comments
 (0)