Skip to content

Commit c0a485d

Browse files
handle different Date formats
1 parent 84eaf1a commit c0a485d

File tree

83 files changed

+393
-313
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+393
-313
lines changed

gitlab4j-models/src/main/java/org/gitlab4j/api/models/AbstractEpic.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77

88
import org.gitlab4j.models.utils.JacksonJson;
99
import org.gitlab4j.models.utils.JacksonJsonEnumHelper;
10+
import org.gitlab4j.models.utils.MultiDateFormatDeserializer;
1011

1112
import com.fasterxml.jackson.annotation.*;
13+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
1214
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
1315

1416
public class AbstractEpic<E extends AbstractEpic<E>> extends AbstractMinimalEpic<E> implements Serializable {
@@ -104,21 +106,21 @@ public String toString() {
104106
* The date when the epic was created.
105107
*/
106108
@JsonProperty("created_at")
107-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
109+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
108110
private Date createdAt;
109111

110112
/**
111113
* The date when the epic was last updated.
112114
*/
113115
@JsonProperty("updated_at")
114-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
116+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
115117
private Date updatedAt;
116118

117119
/**
118120
* The date when the epic was closed.
119121
*/
120122
@JsonProperty("closed_at")
121-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
123+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
122124
private Date closedAt;
123125

124126
/**

gitlab4j-models/src/main/java/org/gitlab4j/api/models/AbstractIssue.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@
66

77
import org.gitlab4j.models.Constants.IssueState;
88
import org.gitlab4j.models.utils.JacksonJson;
9+
import org.gitlab4j.models.utils.MultiDateFormatDeserializer;
910

10-
import com.fasterxml.jackson.annotation.JsonFormat;
1111
import com.fasterxml.jackson.annotation.JsonIgnore;
1212
import com.fasterxml.jackson.annotation.JsonProperty;
13+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
1314
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
1415
import com.fasterxml.jackson.databind.node.IntNode;
1516
import com.fasterxml.jackson.databind.node.LongNode;
@@ -75,21 +76,21 @@ public String toString() {
7576
* The date when the issue was created.
7677
*/
7778
@JsonProperty("created_at")
78-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
79+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
7980
private Date createdAt;
8081

8182
/**
8283
* The date when the issue was last updated.
8384
*/
8485
@JsonProperty("updated_at")
85-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
86+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
8687
private Date updatedAt;
8788

8889
/**
8990
* The date when the issue was closed.
9091
*/
9192
@JsonProperty("closed_at")
92-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
93+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
9394
private Date closedAt;
9495

9596
/**

gitlab4j-models/src/main/java/org/gitlab4j/api/models/AbstractUser.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44
import java.util.Date;
55

66
import org.gitlab4j.models.utils.JacksonJson;
7+
import org.gitlab4j.models.utils.MultiDateFormatDeserializer;
78

8-
import com.fasterxml.jackson.annotation.JsonFormat;
99
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
1010
import com.fasterxml.jackson.annotation.JsonProperty;
11+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
1112

1213
@JsonIgnoreProperties(ignoreUnknown = true)
1314
public abstract class AbstractUser<U extends AbstractUser<U>> implements Serializable {
@@ -23,7 +24,7 @@ public abstract class AbstractUser<U extends AbstractUser<U>> implements Seriali
2324
* The date when the user was created.
2425
*/
2526
@JsonProperty("created_at")
26-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
27+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
2728
private Date createdAt;
2829

2930
/**

gitlab4j-models/src/main/java/org/gitlab4j/api/models/AccessRequest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33
import java.util.Date;
44

5-
import com.fasterxml.jackson.annotation.JsonFormat;
5+
import org.gitlab4j.models.utils.MultiDateFormatDeserializer;
6+
67
import com.fasterxml.jackson.annotation.JsonProperty;
8+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
79

810
public class AccessRequest extends AbstractUser<AccessRequest> {
911
private static final long serialVersionUID = 1L;
@@ -12,7 +14,7 @@ public class AccessRequest extends AbstractUser<AccessRequest> {
1214
* The date when the access request was made.
1315
*/
1416
@JsonProperty("requested_at")
15-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
17+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
1618
private Date requestedAt;
1719

1820
/**

gitlab4j-models/src/main/java/org/gitlab4j/api/models/ApplicationSettings.java

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,17 @@
22

33
import java.io.Serializable;
44
import java.lang.reflect.Array;
5-
import java.util.ArrayList;
6-
import java.util.Date;
7-
import java.util.HashMap;
8-
import java.util.List;
9-
import java.util.Map;
5+
import java.util.*;
106

117
import org.gitlab4j.models.utils.JacksonJson;
8+
import org.gitlab4j.models.utils.MultiDateFormatDeserializer;
129

13-
import com.fasterxml.jackson.annotation.JsonFormat;
1410
import com.fasterxml.jackson.annotation.JsonIgnore;
1511
import com.fasterxml.jackson.annotation.JsonProperty;
1612
import com.fasterxml.jackson.databind.JsonNode;
1713
import com.fasterxml.jackson.databind.ObjectMapper;
18-
import com.fasterxml.jackson.databind.node.ArrayNode;
19-
import com.fasterxml.jackson.databind.node.BooleanNode;
20-
import com.fasterxml.jackson.databind.node.DoubleNode;
21-
import com.fasterxml.jackson.databind.node.FloatNode;
22-
import com.fasterxml.jackson.databind.node.IntNode;
23-
import com.fasterxml.jackson.databind.node.NullNode;
24-
import com.fasterxml.jackson.databind.node.ObjectNode;
25-
import com.fasterxml.jackson.databind.node.TextNode;
14+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
15+
import com.fasterxml.jackson.databind.node.*;
2616

2717
public class ApplicationSettings implements Serializable {
2818
private static final long serialVersionUID = 1L;
@@ -37,14 +27,14 @@ public class ApplicationSettings implements Serializable {
3727
* The date when the application settings were created.
3828
*/
3929
@JsonProperty("created_at")
40-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
30+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
4131
private Date createdAt;
4232

4333
/**
4434
* The date when the application settings were last updated.
4535
*/
4636
@JsonProperty("updated_at")
47-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
37+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
4838
private Date updatedAt;
4939

5040
/**

gitlab4j-models/src/main/java/org/gitlab4j/api/models/AuditEvent.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44
import java.util.Date;
55

66
import org.gitlab4j.models.utils.JacksonJson;
7+
import org.gitlab4j.models.utils.MultiDateFormatDeserializer;
78

8-
import com.fasterxml.jackson.annotation.JsonFormat;
99
import com.fasterxml.jackson.annotation.JsonProperty;
10+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
1011

1112
public class AuditEvent implements Serializable {
1213
private static final long serialVersionUID = 1L;
@@ -45,7 +46,7 @@ public class AuditEvent implements Serializable {
4546
* The creation date of the audit event.
4647
*/
4748
@JsonProperty("created_at")
48-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
49+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
4950
private Date createdAt;
5051

5152
public Long getId() {

gitlab4j-models/src/main/java/org/gitlab4j/api/models/AwardEmoji.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55

66
import org.gitlab4j.models.utils.JacksonJson;
77
import org.gitlab4j.models.utils.JacksonJsonEnumHelper;
8+
import org.gitlab4j.models.utils.MultiDateFormatDeserializer;
89

910
import com.fasterxml.jackson.annotation.JsonCreator;
10-
import com.fasterxml.jackson.annotation.JsonFormat;
1111
import com.fasterxml.jackson.annotation.JsonProperty;
1212
import com.fasterxml.jackson.annotation.JsonValue;
13+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
1314

1415
public class AwardEmoji implements Serializable {
1516
private static final long serialVersionUID = 1L;
@@ -61,14 +62,14 @@ public String toString() {
6162
* The date when the award emoji was created.
6263
*/
6364
@JsonProperty("created_at")
64-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
65+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
6566
private Date createdAt;
6667

6768
/**
6869
* The date when the award emoji was last updated.
6970
*/
7071
@JsonProperty("updated_at")
71-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
72+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
7273
private Date updatedAt;
7374

7475
/**

gitlab4j-models/src/main/java/org/gitlab4j/api/models/Bridge.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44
import java.util.Date;
55

66
import org.gitlab4j.models.utils.JacksonJson;
7+
import org.gitlab4j.models.utils.MultiDateFormatDeserializer;
78

8-
import com.fasterxml.jackson.annotation.JsonFormat;
99
import com.fasterxml.jackson.annotation.JsonProperty;
10+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
1011

1112
public class Bridge implements Serializable {
1213
private static final long serialVersionUID = 1L;
@@ -27,28 +28,28 @@ public class Bridge implements Serializable {
2728
* The creation date of the bridge.
2829
*/
2930
@JsonProperty("created_at")
30-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
31+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
3132
private Date createdAt;
3233

3334
/**
3435
* The start date of the bridge.
3536
*/
3637
@JsonProperty("started_at")
37-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
38+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
3839
private Date startedAt;
3940

4041
/**
4142
* The finish date of the bridge.
4243
*/
4344
@JsonProperty("finished_at")
44-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
45+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
4546
private Date finishedAt;
4647

4748
/**
4849
* The date the bridge was erased.
4950
*/
5051
@JsonProperty("erased_at")
51-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
52+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
5253
private Date erasedAt;
5354

5455
/**

gitlab4j-models/src/main/java/org/gitlab4j/api/models/Build.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
import java.util.Date;
44

55
import org.gitlab4j.models.utils.JacksonJson;
6+
import org.gitlab4j.models.utils.MultiDateFormatDeserializer;
67

7-
import com.fasterxml.jackson.annotation.JsonFormat;
88
import com.fasterxml.jackson.annotation.JsonProperty;
9+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
910

1011
/**
1112
* @author Yaris van Thiel
@@ -25,15 +26,15 @@ public class Build {
2526
private BuildStatus status;
2627

2728
@JsonProperty("created_at")
28-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
29+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
2930
private Date createdAt;
3031

3132
@JsonProperty("started_at")
32-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
33+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
3334
private Date startedAt;
3435

3536
@JsonProperty("finished_at")
36-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
37+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
3738
private Date finishedAt;
3839

3940
@JsonProperty("duration")

gitlab4j-models/src/main/java/org/gitlab4j/api/models/ChangelogPayload.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@
66
import org.gitlab4j.models.GitLabForm;
77
import org.gitlab4j.models.utils.ISO8601;
88
import org.gitlab4j.models.utils.JacksonJson;
9+
import org.gitlab4j.models.utils.MultiDateFormatDeserializer;
910

10-
import com.fasterxml.jackson.annotation.JsonFormat;
1111
import com.fasterxml.jackson.annotation.JsonIgnore;
1212
import com.fasterxml.jackson.annotation.JsonProperty;
13+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
1314

1415
public class ChangelogPayload implements Serializable {
1516
private static final long serialVersionUID = 1L;
@@ -36,7 +37,7 @@ public class ChangelogPayload implements Serializable {
3637
* The date associated with the changelog.
3738
*/
3839
@JsonProperty("date")
39-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
40+
@JsonDeserialize(using = MultiDateFormatDeserializer.class)
4041
private Date date;
4142

4243
/**

0 commit comments

Comments
 (0)