From 69f4dab38e2afc1bf2d2203e2bf1e93a83404864 Mon Sep 17 00:00:00 2001 From: Hammy Date: Sat, 5 Jun 2021 20:14:45 +0100 Subject: [PATCH] Update POJO's to better reflect API The getWaifu endpoint disappointingly diverts from the API reference. Therefore changes to field names have been applied --- .../goudham/me/api/entity/series/Series.java | 30 ++++----- .../goudham/me/api/entity/waifu/Waifu.java | 65 ++++++++++++------- 2 files changed, 56 insertions(+), 39 deletions(-) diff --git a/src/main/java/org/goudham/me/api/entity/series/Series.java b/src/main/java/org/goudham/me/api/entity/series/Series.java index 632a182..38dc544 100644 --- a/src/main/java/org/goudham/me/api/entity/series/Series.java +++ b/src/main/java/org/goudham/me/api/entity/series/Series.java @@ -2,10 +2,7 @@ package org.goudham.me.api.entity.series; import javax.annotation.processing.Generated; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonPropertyDescription; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.annotation.*; import org.goudham.me.api.entity.Studio; import org.goudham.me.api.entity.waifu.Waifu; @@ -20,12 +17,13 @@ import java.util.Objects; *
  • {@link String name}
  • *
  • {@link String originalName}
  • *
  • {@link String romajiName}
  • + *
  • {@link String description}
  • *
  • {@link String slug}
  • *
  • {@link String releaseDate}
  • *
  • {@link String airingStart}
  • *
  • {@link String airingEnd}
  • *
  • {@link Integer episodeCount}
  • - *
  • {@link String image}
  • + *
  • {@link String displayPicture}
  • *
  • {@link String url}
  • *
  • {@link Studio}
  • *
  • {@link Integer id}
  • @@ -43,7 +41,7 @@ import java.util.Objects; "airing_start", "airing_end", "episode_count", - "image", + "display_picture", "url", "studio", "id" @@ -95,6 +93,7 @@ public class Series { * */ @JsonProperty("release_date") + @JsonAlias("release") @JsonPropertyDescription("Original works release date (") private String releaseDate; @@ -126,9 +125,10 @@ public class Series { * URL of the display picture * */ - @JsonProperty("image") + @JsonProperty("display_picture") + @JsonAlias("image") @JsonPropertyDescription("URL of the display picture") - private String image; + private String displayPicture; /** * URL of the {@link Series} @@ -243,13 +243,13 @@ public class Series { } @JsonProperty("image") - public String getImage() { - return image; + public String getDisplayPicture() { + return displayPicture; } @JsonProperty("image") - public void setImage(String image) { - this.image = image; + public void setDisplayPicture(String displayPicture) { + this.displayPicture = displayPicture; } @JsonProperty("url") @@ -287,12 +287,12 @@ public class Series { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Series series = (Series) o; - return Objects.equals(name, series.name) && Objects.equals(originalName, series.originalName) && Objects.equals(romajiName, series.romajiName) && Objects.equals(description, series.description) && Objects.equals(slug, series.slug) && Objects.equals(releaseDate, series.releaseDate) && Objects.equals(airingStart, series.airingStart) && Objects.equals(airingEnd, series.airingEnd) && Objects.equals(episodeCount, series.episodeCount) && Objects.equals(image, series.image) && Objects.equals(url, series.url) && Objects.equals(studio, series.studio) && Objects.equals(id, series.id); + return Objects.equals(name, series.name) && Objects.equals(originalName, series.originalName) && Objects.equals(romajiName, series.romajiName) && Objects.equals(description, series.description) && Objects.equals(slug, series.slug) && Objects.equals(releaseDate, series.releaseDate) && Objects.equals(airingStart, series.airingStart) && Objects.equals(airingEnd, series.airingEnd) && Objects.equals(episodeCount, series.episodeCount) && Objects.equals(displayPicture, series.displayPicture) && Objects.equals(url, series.url) && Objects.equals(studio, series.studio) && Objects.equals(id, series.id); } @Override public int hashCode() { - return Objects.hash(name, originalName, romajiName, description, slug, releaseDate, airingStart, airingEnd, episodeCount, image, url, studio, id); + return Objects.hash(name, originalName, romajiName, description, slug, releaseDate, airingStart, airingEnd, episodeCount, displayPicture, url, studio, id); } @Override @@ -307,7 +307,7 @@ public class Series { ", airingStart='" + airingStart + '\'' + ", airingEnd='" + airingEnd + '\'' + ", episodeCount=" + episodeCount + - ", image='" + image + '\'' + + ", image='" + displayPicture + '\'' + ", url='" + url + '\'' + ", studio=" + studio + ", id=" + id + diff --git a/src/main/java/org/goudham/me/api/entity/waifu/Waifu.java b/src/main/java/org/goudham/me/api/entity/waifu/Waifu.java index 716fd07..e80b849 100644 --- a/src/main/java/org/goudham/me/api/entity/waifu/Waifu.java +++ b/src/main/java/org/goudham/me/api/entity/waifu/Waifu.java @@ -6,13 +6,9 @@ import java.util.Map; import java.util.Objects; import javax.annotation.processing.Generated; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonPropertyDescription; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.*; import org.goudham.me.api.entity.series.Series; +import org.goudham.me.api.entity.user.Creator; /** @@ -23,9 +19,10 @@ import org.goudham.me.api.entity.series.Series; * * @@ -56,9 +53,10 @@ import org.goudham.me.api.entity.series.Series; @JsonPropertyOrder({ "id", "slug", - "creator_id", + "creator", "name", "original_name", + "romaji_name", "display_picture", "description", "weight", @@ -84,6 +82,7 @@ import org.goudham.me.api.entity.series.Series; "series" }) @Generated("jsonschema2pojo") +@JsonIgnoreProperties(ignoreUnknown = true) public class Waifu { /** * {@link Waifu} ID @@ -105,9 +104,9 @@ public class Waifu { * ID of the user who created this {@link Waifu} * */ - @JsonProperty("creator_id") - @JsonPropertyDescription("ID of the user who created this Waifu") - private Integer creatorId; + @JsonProperty("creator") + @JsonPropertyDescription("User who created this Waifu") + private Creator creator; /** * Full name, in English. @@ -125,6 +124,14 @@ public class Waifu { @JsonPropertyDescription("Name in the original language (\u65e5\u672c\u8a9e)") private String originalName; + /** + * If this character has a romaji name, we'll put it here. + * + */ + @JsonProperty("romaji_name") + @JsonPropertyDescription("if this character has a romaji name, we'll put it here. ") + private String romajiName; + /** * URL of the display picture * @@ -299,7 +306,7 @@ public class Waifu { */ @JsonProperty("appearances") @JsonPropertyDescription("An array of series or works that this character appears in") - private List appearances = null; + private List appearances; /** * {@link Series} @@ -330,14 +337,14 @@ public class Waifu { this.slug = slug; } - @JsonProperty("creator_id") - public Integer getCreatorId() { - return creatorId; + @JsonProperty("creator") + public Creator getCreator() { + return creator; } - @JsonProperty("creator_id") - public void setCreatorId(Integer creatorId) { - this.creatorId = creatorId; + @JsonProperty("creator") + public void setCreator(Creator creator) { + this.creator = creator; } @JsonProperty("name") @@ -360,6 +367,16 @@ public class Waifu { this.originalName = originalName; } + @JsonProperty("romaji_name") + public String getRomajiName() { + return romajiName; + } + + @JsonProperty("romaji_name") + public void setRomajiName(String romajiName) { + this.romajiName = romajiName; + } + @JsonProperty("display_picture") public String getDisplayPicture() { return displayPicture; @@ -571,12 +588,12 @@ public class Waifu { } @JsonProperty("appearances") - public List getAppearances() { + public List getAppearances() { return appearances; } @JsonProperty("appearances") - public void setAppearances(List appearances) { + public void setAppearances(List appearances) { this.appearances = appearances; } @@ -595,12 +612,12 @@ public class Waifu { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Waifu waifu = (Waifu) o; - return Objects.equals(id, waifu.id) && Objects.equals(slug, waifu.slug) && Objects.equals(creatorId, waifu.creatorId) && Objects.equals(name, waifu.name) && Objects.equals(originalName, waifu.originalName) && Objects.equals(displayPicture, waifu.displayPicture) && Objects.equals(description, waifu.description) && Objects.equals(weight, waifu.weight) && Objects.equals(height, waifu.height) && Objects.equals(bust, waifu.bust) && Objects.equals(hip, waifu.hip) && Objects.equals(waist, waifu.waist) && bloodType == waifu.bloodType && Objects.equals(origin, waifu.origin) && Objects.equals(age, waifu.age) && Objects.equals(birthdayMonth, waifu.birthdayMonth) && Objects.equals(birthdayDay, waifu.birthdayDay) && Objects.equals(birthdayYear, waifu.birthdayYear) && Objects.equals(likes, waifu.likes) && Objects.equals(trash, waifu.trash) && Objects.equals(url, waifu.url) && Objects.equals(husbando, waifu.husbando) && Objects.equals(nsfw, waifu.nsfw) && Objects.equals(popularityRank, waifu.popularityRank) && Objects.equals(likeRank, waifu.likeRank) && Objects.equals(trashRank, waifu.trashRank) && Objects.equals(appearances, waifu.appearances) && Objects.equals(series, waifu.series); + return Objects.equals(id, waifu.id) && Objects.equals(slug, waifu.slug) && Objects.equals(creator, waifu.creator) && Objects.equals(name, waifu.name) && Objects.equals(originalName, waifu.originalName) && Objects.equals(displayPicture, waifu.displayPicture) && Objects.equals(description, waifu.description) && Objects.equals(weight, waifu.weight) && Objects.equals(height, waifu.height) && Objects.equals(bust, waifu.bust) && Objects.equals(hip, waifu.hip) && Objects.equals(waist, waifu.waist) && bloodType == waifu.bloodType && Objects.equals(origin, waifu.origin) && Objects.equals(age, waifu.age) && Objects.equals(birthdayMonth, waifu.birthdayMonth) && Objects.equals(birthdayDay, waifu.birthdayDay) && Objects.equals(birthdayYear, waifu.birthdayYear) && Objects.equals(likes, waifu.likes) && Objects.equals(trash, waifu.trash) && Objects.equals(url, waifu.url) && Objects.equals(husbando, waifu.husbando) && Objects.equals(nsfw, waifu.nsfw) && Objects.equals(popularityRank, waifu.popularityRank) && Objects.equals(likeRank, waifu.likeRank) && Objects.equals(trashRank, waifu.trashRank) && Objects.equals(appearances, waifu.appearances) && Objects.equals(series, waifu.series); } @Override public int hashCode() { - return Objects.hash(id, slug, creatorId, name, originalName, displayPicture, description, weight, height, bust, hip, waist, bloodType, origin, age, birthdayMonth, birthdayDay, birthdayYear, likes, trash, url, husbando, nsfw, popularityRank, likeRank, trashRank, appearances, series); + return Objects.hash(id, slug, creator, name, originalName, displayPicture, description, weight, height, bust, hip, waist, bloodType, origin, age, birthdayMonth, birthdayDay, birthdayYear, likes, trash, url, husbando, nsfw, popularityRank, likeRank, trashRank, appearances, series); } @Override @@ -608,7 +625,7 @@ public class Waifu { return "Waifu{" + "id=" + id + ", slug='" + slug + '\'' + - ", creatorId=" + creatorId + + ", creatorId=" + creator + ", name='" + name + '\'' + ", originalName='" + originalName + '\'' + ", displayPicture='" + displayPicture + '\'' +