Skip to content

Commit

Permalink
Fixed a serialization bug auditing a comic scraping [#559]
Browse files Browse the repository at this point in the history
  • Loading branch information
mcpierce committed Mar 1, 2021
1 parent 58ff7ca commit 7098eab
Show file tree
Hide file tree
Showing 10 changed files with 50 additions and 33 deletions.
Expand Up @@ -18,11 +18,8 @@

package org.comixedproject.model.comic;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonView;
import java.io.File;
import java.util.*;
import javax.persistence.*;
Expand Down Expand Up @@ -55,6 +52,7 @@
@Table(name = "comics")
@Log4j2
@NoArgsConstructor
@JsonIdentityInfo(generator = ObjectIdGenerators.UUIDGenerator.class, property = "@id")
public class Comic {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down
Expand Up @@ -18,8 +18,10 @@

package org.comixedproject.model.comic;

import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonView;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import javax.persistence.*;
import lombok.Getter;
import lombok.NoArgsConstructor;
Expand All @@ -34,6 +36,7 @@
@Entity
@Table(name = "comic_file_details")
@NoArgsConstructor
@JsonIdentityInfo(generator = ObjectIdGenerators.UUIDGenerator.class, property = "@id")
public class ComicFileDetails {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down
Expand Up @@ -18,10 +18,13 @@

package org.comixedproject.model.comic;

import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonView;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import javax.persistence.*;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.comixedproject.views.View;

Expand All @@ -32,6 +35,8 @@
*/
@Entity
@Table(name = "comic_file_entries")
@JsonIdentityInfo(generator = ObjectIdGenerators.UUIDGenerator.class, property = "@id")
@NoArgsConstructor
public class ComicFileEntry {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down Expand Up @@ -71,6 +76,4 @@ public class ComicFileEntry {
@Getter
@Setter
private String fileType;

public ComicFileEntry() {}
}
Expand Up @@ -18,9 +18,12 @@

package org.comixedproject.model.comic;

import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonView;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import javax.persistence.*;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.comixedproject.views.View.ComicListView;
import org.comixedproject.views.View.PageList;
import org.springframework.stereotype.Component;
Expand All @@ -34,6 +37,8 @@
@Component
@Entity
@Table(name = "comic_formats")
@JsonIdentityInfo(generator = ObjectIdGenerators.UUIDGenerator.class, property = "@id")
@NoArgsConstructor
public class ComicFormat {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down
Expand Up @@ -18,12 +18,9 @@

package org.comixedproject.model.comic;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonView;
import com.fasterxml.jackson.annotation.*;
import javax.persistence.*;
import lombok.Getter;
import lombok.Setter;
import lombok.*;
import org.comixedproject.views.View.ComicListView;

/**
Expand All @@ -33,37 +30,35 @@
*/
@Entity
@Table(name = "comic_credits")
@JsonIdentityInfo(generator = ObjectIdGenerators.UUIDGenerator.class, property = "@id")
@NoArgsConstructor
@RequiredArgsConstructor
public class Credit {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonView(ComicListView.class)
private Long id;

@ManyToOne
@JoinColumn(name = "comic_id")
@JsonIgnore
@Getter
@NonNull
private Comic comic;

@Column(name = "name")
@JsonProperty("name")
@JsonView(ComicListView.class)
@Getter
@Setter
@NonNull
private String name;

@Column(name = "role")
@JsonProperty("role")
@JsonView(ComicListView.class)
@Getter
@Setter
@NonNull
private String role;

@ManyToOne
@JoinColumn(name = "comic_id")
@JsonIgnore
@Getter
private Comic comic;

public Credit() {}

public Credit(final Comic comic, final String name, final String role) {
this.comic = comic;
this.name = name;
this.role = role;
}
}
Expand Up @@ -17,8 +17,10 @@

package org.comixedproject.model.comic;

import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonView;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import javax.persistence.*;
import lombok.Getter;
import lombok.NoArgsConstructor;
Expand All @@ -36,6 +38,7 @@
@Table(name = "pages")
@Log4j2
@NoArgsConstructor
@JsonIdentityInfo(generator = ObjectIdGenerators.UUIDGenerator.class, property = "@id")
public class Page {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down
Expand Up @@ -18,9 +18,12 @@

package org.comixedproject.model.comic;

import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonView;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import javax.persistence.*;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.comixedproject.views.View.ComicListView;
import org.comixedproject.views.View.PageList;

Expand All @@ -32,6 +35,8 @@
*/
@Entity
@Table(name = "page_types")
@JsonIdentityInfo(generator = ObjectIdGenerators.UUIDGenerator.class, property = "@id")
@NoArgsConstructor
public class PageType {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand All @@ -42,6 +47,4 @@ public class PageType {
@JsonView({ComicListView.class, PageList.class})
@Getter
private String name;

public PageType() {}
}
Expand Up @@ -18,9 +18,12 @@

package org.comixedproject.model.comic;

import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonView;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import javax.persistence.*;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.comixedproject.views.View.ComicListView;
import org.comixedproject.views.View.PageList;
import org.springframework.stereotype.Component;
Expand All @@ -35,6 +38,8 @@
@Component
@Entity
@Table(name = "scan_types")
@JsonIdentityInfo(generator = ObjectIdGenerators.UUIDGenerator.class, property = "@id")
@NoArgsConstructor
public class ScanType {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down
Expand Up @@ -18,15 +18,14 @@

package org.comixedproject.model.library;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonView;
import com.fasterxml.jackson.annotation.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import javax.persistence.*;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.comixedproject.model.comic.Comic;
import org.comixedproject.model.user.ComiXedUser;
Expand All @@ -39,6 +38,8 @@
*/
@Entity
@Table(name = "reading_lists")
@JsonIdentityInfo(generator = ObjectIdGenerators.UUIDGenerator.class, property = "@id")
@NoArgsConstructor
public class ReadingList {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down
Expand Up @@ -18,12 +18,11 @@

package org.comixedproject.model.user;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonView;
import com.fasterxml.jackson.annotation.*;
import java.util.Date;
import javax.persistence.*;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.comixedproject.model.comic.Comic;
import org.comixedproject.views.View;
Expand All @@ -35,6 +34,8 @@
*/
@Entity
@Table(name = "user_last_read_dates")
@JsonIdentityInfo(generator = ObjectIdGenerators.UUIDGenerator.class, property = "@id")
@NoArgsConstructor
public class LastReadDate {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down

0 comments on commit 7098eab

Please sign in to comment.