From c87d110ea09ee1f781b3be2bea3f29dfcf249fb0 Mon Sep 17 00:00:00 2001 From: PauMAVA Date: Tue, 20 Feb 2024 15:56:06 +0100 Subject: [PATCH 1/4] Implement Pet, Cat, Dog and fix entity model --- EntitiesModel.puml | 8 ++-- .../cat/udl/eps/softarch/demo/domain/Cat.java | 23 ++++++++++ .../cat/udl/eps/softarch/demo/domain/Dog.java | 22 ++++++++++ .../cat/udl/eps/softarch/demo/domain/Pet.java | 42 +++++++++++++++++++ 4 files changed, 91 insertions(+), 4 deletions(-) create mode 100644 src/main/java/cat/udl/eps/softarch/demo/domain/Cat.java create mode 100644 src/main/java/cat/udl/eps/softarch/demo/domain/Dog.java create mode 100644 src/main/java/cat/udl/eps/softarch/demo/domain/Pet.java diff --git a/EntitiesModel.puml b/EntitiesModel.puml index 1daee45..e84c9a5 100644 --- a/EntitiesModel.puml +++ b/EntitiesModel.puml @@ -11,14 +11,14 @@ class User extends UriEntity implements UserDetails { class UriEntity { uri : String } -abstract class Pet{ +abstract class Pet extends UriEntity { id: Integer name: String - dateOfBirth: String + dateOfBirth: Date isAdopted: Boolean colour: String size: Integer - chip: Integer + chip: String sex: String race: String dangerous: Boolean @@ -31,7 +31,7 @@ class Cat extends Pet { meowingLevel: Integer } -class Shelter { +class Shelter extends UriEntity { id: Integer name: String email: String diff --git a/src/main/java/cat/udl/eps/softarch/demo/domain/Cat.java b/src/main/java/cat/udl/eps/softarch/demo/domain/Cat.java new file mode 100644 index 0000000..08791b7 --- /dev/null +++ b/src/main/java/cat/udl/eps/softarch/demo/domain/Cat.java @@ -0,0 +1,23 @@ +package cat.udl.eps.softarch.demo.domain; + +import jakarta.persistence.Entity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +@Entity +@Data +@EqualsAndHashCode(callSuper = false) +@NoArgsConstructor +@AllArgsConstructor +public class Cat extends Pet { + + private Integer meowingLevel; + + @Override + public Long getId() { + return super.getId(); + } + +} diff --git a/src/main/java/cat/udl/eps/softarch/demo/domain/Dog.java b/src/main/java/cat/udl/eps/softarch/demo/domain/Dog.java new file mode 100644 index 0000000..953470f --- /dev/null +++ b/src/main/java/cat/udl/eps/softarch/demo/domain/Dog.java @@ -0,0 +1,22 @@ +package cat.udl.eps.softarch.demo.domain; + +import jakarta.persistence.Entity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +@Entity +@Data +@EqualsAndHashCode(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +public class Dog extends Pet { + + private Integer barkingLevel; + + @Override + public Long getId() { + return super.getId(); + } +} diff --git a/src/main/java/cat/udl/eps/softarch/demo/domain/Pet.java b/src/main/java/cat/udl/eps/softarch/demo/domain/Pet.java new file mode 100644 index 0000000..f2251b3 --- /dev/null +++ b/src/main/java/cat/udl/eps/softarch/demo/domain/Pet.java @@ -0,0 +1,42 @@ +package cat.udl.eps.softarch.demo.domain; + +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.validation.constraints.NotBlank; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.time.LocalDate; + +@Entity +@Data +@EqualsAndHashCode(callSuper = false) +@NoArgsConstructor +@AllArgsConstructor +public abstract class Pet extends UriEntity { + + @Id + private Long id; + + @NotBlank + private String name; + + private LocalDate dateOfBirth; + + private boolean isAdopted; + + private String colour; + + private Integer size; + + private String chip; + + private String sex; + + private String race; + + private boolean dangerous; + +} From e75bce02693bc805de03394ae809757739fdc381 Mon Sep 17 00:00:00 2001 From: PauMAVA Date: Tue, 20 Feb 2024 16:03:10 +0100 Subject: [PATCH 2/4] Change ID type to String and update PUML accordingly --- EntitiesModel.puml | 10 +++++----- .../java/cat/udl/eps/softarch/demo/domain/Cat.java | 2 +- .../java/cat/udl/eps/softarch/demo/domain/Dog.java | 2 +- .../java/cat/udl/eps/softarch/demo/domain/Pet.java | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/EntitiesModel.puml b/EntitiesModel.puml index e84c9a5..9fc20c9 100644 --- a/EntitiesModel.puml +++ b/EntitiesModel.puml @@ -12,7 +12,7 @@ class UriEntity { uri : String } abstract class Pet extends UriEntity { - id: Integer + id: String name: String dateOfBirth: Date isAdopted: Boolean @@ -42,7 +42,7 @@ class Shelter extends UriEntity { } class Location { - id: Integer + id: String address: String latitude: Float longitude: Float @@ -57,7 +57,7 @@ class ShelterCertificate { } class Schedule { - id: Integer + id: String startTime: Time endTime: Time } @@ -67,12 +67,12 @@ class Adoptions { } class Role { - id: Integer + id: String name: String } class Permission { - id: Integer + id: String name: String } diff --git a/src/main/java/cat/udl/eps/softarch/demo/domain/Cat.java b/src/main/java/cat/udl/eps/softarch/demo/domain/Cat.java index 08791b7..2c99da4 100644 --- a/src/main/java/cat/udl/eps/softarch/demo/domain/Cat.java +++ b/src/main/java/cat/udl/eps/softarch/demo/domain/Cat.java @@ -16,7 +16,7 @@ public class Cat extends Pet { private Integer meowingLevel; @Override - public Long getId() { + public String getId() { return super.getId(); } diff --git a/src/main/java/cat/udl/eps/softarch/demo/domain/Dog.java b/src/main/java/cat/udl/eps/softarch/demo/domain/Dog.java index 953470f..62b58f8 100644 --- a/src/main/java/cat/udl/eps/softarch/demo/domain/Dog.java +++ b/src/main/java/cat/udl/eps/softarch/demo/domain/Dog.java @@ -16,7 +16,7 @@ public class Dog extends Pet { private Integer barkingLevel; @Override - public Long getId() { + public String getId() { return super.getId(); } } diff --git a/src/main/java/cat/udl/eps/softarch/demo/domain/Pet.java b/src/main/java/cat/udl/eps/softarch/demo/domain/Pet.java index f2251b3..16ad470 100644 --- a/src/main/java/cat/udl/eps/softarch/demo/domain/Pet.java +++ b/src/main/java/cat/udl/eps/softarch/demo/domain/Pet.java @@ -18,7 +18,7 @@ public abstract class Pet extends UriEntity { @Id - private Long id; + private String id; @NotBlank private String name; From 0ae6cf406d55175d106ab89f75baaba82a342f4c Mon Sep 17 00:00:00 2001 From: PauMAVA Date: Tue, 20 Feb 2024 16:04:48 +0100 Subject: [PATCH 3/4] Make cat call super on equals and hash code --- src/main/java/cat/udl/eps/softarch/demo/domain/Cat.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/cat/udl/eps/softarch/demo/domain/Cat.java b/src/main/java/cat/udl/eps/softarch/demo/domain/Cat.java index 2c99da4..b4b0204 100644 --- a/src/main/java/cat/udl/eps/softarch/demo/domain/Cat.java +++ b/src/main/java/cat/udl/eps/softarch/demo/domain/Cat.java @@ -8,7 +8,7 @@ @Entity @Data -@EqualsAndHashCode(callSuper = false) +@EqualsAndHashCode(callSuper = true) @NoArgsConstructor @AllArgsConstructor public class Cat extends Pet { From d415c3746146411380bbd5d975c1f361d34d2f4b Mon Sep 17 00:00:00 2001 From: PauMAVA Date: Tue, 20 Feb 2024 16:28:48 +0100 Subject: [PATCH 4/4] Change id to Long --- EntitiesModel.puml | 14 +++++++------- .../java/cat/udl/eps/softarch/demo/domain/Cat.java | 2 +- .../java/cat/udl/eps/softarch/demo/domain/Dog.java | 2 +- .../java/cat/udl/eps/softarch/demo/domain/Pet.java | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/EntitiesModel.puml b/EntitiesModel.puml index 9fc20c9..77586b9 100644 --- a/EntitiesModel.puml +++ b/EntitiesModel.puml @@ -12,7 +12,7 @@ class UriEntity { uri : String } abstract class Pet extends UriEntity { - id: String + id: Long name: String dateOfBirth: Date isAdopted: Boolean @@ -32,7 +32,7 @@ class Cat extends Pet { } class Shelter extends UriEntity { - id: Integer + id: Long name: String email: String mobile : String @@ -42,7 +42,7 @@ class Shelter extends UriEntity { } class Location { - id: String + id: Long address: String latitude: Float longitude: Float @@ -52,12 +52,12 @@ class Location { } class ShelterCertificate { - id: String + id: Long expirationDate: DateTime } class Schedule { - id: String + id: Long startTime: Time endTime: Time } @@ -67,12 +67,12 @@ class Adoptions { } class Role { - id: String + id: Long name: String } class Permission { - id: String + id: Long name: String } diff --git a/src/main/java/cat/udl/eps/softarch/demo/domain/Cat.java b/src/main/java/cat/udl/eps/softarch/demo/domain/Cat.java index b4b0204..1954d04 100644 --- a/src/main/java/cat/udl/eps/softarch/demo/domain/Cat.java +++ b/src/main/java/cat/udl/eps/softarch/demo/domain/Cat.java @@ -16,7 +16,7 @@ public class Cat extends Pet { private Integer meowingLevel; @Override - public String getId() { + public Long getId() { return super.getId(); } diff --git a/src/main/java/cat/udl/eps/softarch/demo/domain/Dog.java b/src/main/java/cat/udl/eps/softarch/demo/domain/Dog.java index 62b58f8..953470f 100644 --- a/src/main/java/cat/udl/eps/softarch/demo/domain/Dog.java +++ b/src/main/java/cat/udl/eps/softarch/demo/domain/Dog.java @@ -16,7 +16,7 @@ public class Dog extends Pet { private Integer barkingLevel; @Override - public String getId() { + public Long getId() { return super.getId(); } } diff --git a/src/main/java/cat/udl/eps/softarch/demo/domain/Pet.java b/src/main/java/cat/udl/eps/softarch/demo/domain/Pet.java index 16ad470..7f48754 100644 --- a/src/main/java/cat/udl/eps/softarch/demo/domain/Pet.java +++ b/src/main/java/cat/udl/eps/softarch/demo/domain/Pet.java @@ -15,10 +15,10 @@ @EqualsAndHashCode(callSuper = false) @NoArgsConstructor @AllArgsConstructor -public abstract class Pet extends UriEntity { +public abstract class Pet extends UriEntity { @Id - private String id; + private Long id; @NotBlank private String name;