Skip to content

Commit 2bacc62

Browse files
committed
fix: arrange mistakes and fix properties
relates to: #93
1 parent 752a86b commit 2bacc62

Some content is hidden

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

50 files changed

+765
-391
lines changed

api/src/main/java/hirez/api/Division.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public enum Division {
2727
Diamond_III,
2828
Diamond_II,
2929
Diamond_I,
30-
Master,
30+
Master_I,
3131
Grandmaster;
3232

3333
private final String value =

api/src/main/java/hirez/api/Endpoint.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package hirez.api;
22

3-
import com.fasterxml.jackson.databind.JsonNode;
43
import com.fasterxml.jackson.databind.ObjectMapper;
54
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
65
import hirez.api.object.*;
@@ -76,8 +75,15 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
7675

7776
protected final <T> Single<T> call(Class<T> type, String method, String... argv) {
7877
return get(type, configuration.createUrl(method, argv)).flatMap(r -> Single.create(sink -> {
79-
if (type.isAssignableFrom(ReturnedMessage.class)) {
80-
ReturnedMessage rm = (type.isArray()) ? ((ReturnedMessage[]) r)[0] : (ReturnedMessage) r;
78+
ReturnedMessage rm = null;
79+
if (r instanceof ReturnedMessage[] && ((ReturnedMessage[]) r).length > 0) {
80+
rm = ((ReturnedMessage[]) r)[0];
81+
}
82+
if (r instanceof ReturnedMessage) {
83+
rm = (ReturnedMessage) r;
84+
}
85+
86+
if (rm != null) {
8187
if (rm.getReturnedMessage() != null) {
8288
if (method.equalsIgnoreCase("createsession")) {
8389
if (rm.getReturnedMessage().equals("Approved")) {
@@ -145,12 +151,12 @@ public final Single<Ping> ping() {
145151
.map(Ping::new);
146152
}
147153

148-
public final Single<DataUsage> getDataUsed() {
154+
public Single<DataUsage> getDataUsed() {
149155
return testAndCall(DataUsage[].class, "getdataused")
150156
.map(d -> d[0]);
151157
}
152158

153-
public final Flowable<HiRezServer> getHiRezServerStatus() {
159+
public Flowable<HiRezServer> getHiRezServerStatus() {
154160
return testAndCall(HiRezServer[].class, "gethirezserverstatus")
155161
.flattenAsFlowable(Arrays::asList);
156162
}
Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,31 @@
11
package hirez.api.object;
22

3+
import com.fasterxml.jackson.annotation.JsonAlias;
34
import com.fasterxml.jackson.annotation.JsonProperty;
5+
import hirez.api.object.adapters.DurationTime;
46
import hirez.api.object.interfaces.ReturnedMessage;
57
import lombok.Data;
68

9+
import java.time.Duration;
10+
import java.time.temporal.ChronoUnit;
11+
712
@Data
813
public class DataUsage implements ReturnedMessage {
14+
@JsonAlias("Active_Sessions")
915
private final int activeSessions;
16+
@JsonAlias("Concurrent_Sessions")
1017
private final int concurrentSessions;
18+
@JsonAlias("Request_Limit_Daily")
1119
private final long requestLimitDaily;
12-
@JsonProperty("ret_msg")
13-
private final String returnedMessage;
20+
@JsonAlias("Session_Cap")
1421
private final int sessionCap;
15-
private final long sessionTimeLimit;
22+
@DurationTime(ChronoUnit.MINUTES)
23+
@JsonAlias("Session_Time_Limit")
24+
private final Duration sessionTimeLimit;
25+
@JsonAlias("Total_Requests_Today")
1626
private final long totalRequestsToday;
27+
@JsonAlias("Total_Sessions_Today")
1728
private final long totalSessionsToday;
29+
@JsonProperty("ret_msg")
30+
private final String returnedMessage;
1831
}

api/src/main/java/hirez/api/object/HiRezServer.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,15 @@
55
import hirez.api.object.interfaces.ReturnedMessage;
66
import lombok.Data;
77

8+
import javax.annotation.Nullable;
89
import java.util.Date;
910

1011
@Data
1112
public class HiRezServer implements ReturnedMessage {
12-
@DateTimeFormat("yyyy-MM-dd hh:mm:ss.SSS")
13+
@Nullable
14+
@DateTimeFormat("yyyy-MM-dd H:mm:ss.SSS")
1315
private final Date entryDatetime;
16+
private final String environment;
1417
private final boolean limitedAccess;
1518
private final String platform;
1619
@JsonProperty("ret_msg")

api/src/main/java/hirez/api/object/LeagueSeason.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,4 @@ public class LeagueSeason implements ReturnedMessage {
1414
private final String returnedMessage;
1515
private final int round;
1616
private final int season;
17-
1817
}
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
11
package hirez.api.object;
22

3+
import com.fasterxml.jackson.annotation.JsonProperty;
34
import hirez.api.object.adapters.DateTimeFormat;
45
import lombok.Data;
56

67
import java.util.Date;
78

89
@Data
910
public class MergedAccount {
10-
@DateTimeFormat("M/dd/yyyy h:mm:ssa")
11+
@JsonProperty("merge_datetime")
12+
@DateTimeFormat("MMM dd yyyy h:mma")
1113
private final Date mergeDatetime;
14+
@JsonProperty("playerId")
1215
private final long playerId;
16+
@JsonProperty("portalId")
1317
private final int portalId;
1418
}

api/src/main/java/hirez/api/object/PatchInfo.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package hirez.api.object;
22

33
import com.fasterxml.jackson.annotation.JsonAlias;
4+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
45
import com.fasterxml.jackson.annotation.JsonProperty;
56
import hirez.api.object.interfaces.ReturnedMessage;
67
import lombok.Data;
78

89
@Data
10+
@JsonIgnoreProperties(ignoreUnknown = true)
911
public class PatchInfo implements ReturnedMessage {
1012
@JsonProperty("ret_msg")
1113
private final String returnedMessage;
Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,26 @@
11
package hirez.api.object;
22

3+
import com.fasterxml.jackson.annotation.JsonAlias;
34
import com.fasterxml.jackson.annotation.JsonProperty;
5+
import hirez.api.object.adapters.TextToBoolean;
46
import hirez.api.object.interfaces.ReturnedMessage;
57
import lombok.Data;
8+
import lombok.experimental.Accessors;
69

710
@Data
811
public class PlayerQuery implements ReturnedMessage {
9-
private final long id;
12+
@JsonAlias("Name")
1013
private final String name;
14+
@JsonProperty("hz_player_name")
15+
private final String hiRezPlayerName;
16+
@JsonAlias("player_id")
17+
private final long id;
18+
@JsonProperty("portal_id")
19+
private final int portalId;
20+
@TextToBoolean
21+
@Accessors(fluent = true)
22+
@JsonProperty("privacy_flag")
23+
private final boolean isPrivate;
1124
@JsonProperty("ret_msg")
1225
private final String returnedMessage;
13-
private final long steamId;
1426
}

api/src/main/java/hirez/api/object/PlayerStatus.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
@Data
99
public class PlayerStatus implements ReturnedMessage {
10-
@JsonProperty("Match")
10+
@JsonAlias("Match")
1111
private final long matchId;
1212
private final int matchQueueId;
1313
private final String personalStatusMessage;
@@ -17,5 +17,4 @@ public class PlayerStatus implements ReturnedMessage {
1717
private final int statusId;
1818
@JsonAlias("status")
1919
private final String statusString;
20-
2120
}

api/src/main/java/hirez/api/object/adapters/DateTimeDeserializer.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,35 @@
11
package hirez.api.object.adapters;
22

3-
import com.fasterxml.jackson.core.JsonParseException;
43
import com.fasterxml.jackson.core.JsonParser;
54
import com.fasterxml.jackson.core.JsonProcessingException;
5+
import com.fasterxml.jackson.core.JsonToken;
66
import com.fasterxml.jackson.databind.BeanProperty;
77
import com.fasterxml.jackson.databind.DeserializationContext;
88
import com.fasterxml.jackson.databind.JsonDeserializer;
99
import com.fasterxml.jackson.databind.JsonMappingException;
1010
import com.fasterxml.jackson.databind.deser.ContextualDeserializer;
1111

1212
import java.io.IOException;
13-
import java.text.ParseException;
14-
import java.text.SimpleDateFormat;
13+
import java.time.Instant;
14+
import java.time.ZoneId;
1515
import java.time.ZoneOffset;
16+
import java.time.format.DateTimeFormatter;
1617
import java.util.Date;
17-
import java.util.TimeZone;
18+
import java.util.Locale;
1819

1920
public class DateTimeDeserializer extends JsonDeserializer<Date> implements ContextualDeserializer {
2021

2122
private DateTimeFormat annotationDTF;
2223

2324
@Override
2425
public Date deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
25-
SimpleDateFormat sdf = new SimpleDateFormat(annotationDTF.value());
26-
sdf.setTimeZone(TimeZone.getTimeZone(ZoneOffset.UTC));
27-
28-
try {
29-
return sdf.parse(p.getText());
30-
} catch (ParseException e) {
31-
throw new JsonParseException(p, "Cannot parse to Date format!", e);
32-
}
26+
if (p.hasToken(JsonToken.VALUE_NULL)) return null;
27+
String text = p.getText();
28+
if (text.isEmpty()) return null;
29+
30+
return Date.from(DateTimeFormatter.ofPattern(annotationDTF.value(), Locale.US)
31+
.withZone(ZoneId.from(ZoneOffset.UTC))
32+
.parse(text, Instant::from));
3333
}
3434

3535
@Override

0 commit comments

Comments
 (0)