From 8c31ab8bef928c13953934867fe7495eadcddb8f Mon Sep 17 00:00:00 2001 From: Rustam Date: Sun, 1 Jun 2025 14:59:24 +0530 Subject: [PATCH] Added Lombok support and used constructor injection in services --- pom.xml | 7 +++ .../samples/petclinic/model/BaseEntity.java | 18 ++++-- .../samples/petclinic/model/NamedEntity.java | 27 +++++---- .../samples/petclinic/model/Person.java | 20 ++----- .../samples/petclinic/owner/Owner.java | 60 +++++++------------ .../samples/petclinic/owner/Pet.java | 25 +++----- .../samples/petclinic/owner/Visit.java | 23 +++---- 7 files changed, 77 insertions(+), 103 deletions(-) diff --git a/pom.xml b/pom.xml index 27fb9a6bd..ae13a7702 100644 --- a/pom.xml +++ b/pom.xml @@ -61,6 +61,13 @@ org.springframework.boot spring-boot-starter-validation + + + + org.projectlombok + lombok + 1.18.32 + provided org.springframework.boot diff --git a/src/main/java/org/springframework/samples/petclinic/model/BaseEntity.java b/src/main/java/org/springframework/samples/petclinic/model/BaseEntity.java index 3038bce3a..b9b8a9a8a 100644 --- a/src/main/java/org/springframework/samples/petclinic/model/BaseEntity.java +++ b/src/main/java/org/springframework/samples/petclinic/model/BaseEntity.java @@ -21,6 +21,9 @@ import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.MappedSuperclass; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; /** * Simple JavaBean domain object with an id property. Used as a base class for objects @@ -30,19 +33,22 @@ import jakarta.persistence.MappedSuperclass; * @author Juergen Hoeller */ @MappedSuperclass +@Data +@Getter +@Setter public class BaseEntity implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; - public Integer getId() { - return id; - } + // public Integer getId() { + // return id; + // } - public void setId(Integer id) { - this.id = id; - } + // public void setId(Integer id) { + // this.id = id; + // } public boolean isNew() { return this.id == null; diff --git a/src/main/java/org/springframework/samples/petclinic/model/NamedEntity.java b/src/main/java/org/springframework/samples/petclinic/model/NamedEntity.java index 012e8c4be..ec214b5fc 100644 --- a/src/main/java/org/springframework/samples/petclinic/model/NamedEntity.java +++ b/src/main/java/org/springframework/samples/petclinic/model/NamedEntity.java @@ -18,6 +18,10 @@ package org.springframework.samples.petclinic.model; import jakarta.persistence.Column; import jakarta.persistence.MappedSuperclass; import jakarta.validation.constraints.NotBlank; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; /** * Simple JavaBean domain object adds a name property to BaseEntity. Used as @@ -28,23 +32,26 @@ import jakarta.validation.constraints.NotBlank; * @author Wick Dynex */ @MappedSuperclass +@Setter +@Getter +@ToString public class NamedEntity extends BaseEntity { @Column(name = "name") @NotBlank private String name; - public String getName() { - return this.name; - } + // public String getName() { + // return this.name; + // } - public void setName(String name) { - this.name = name; - } + // public void setName(String name) { + // this.name = name; + // } - @Override - public String toString() { - return this.getName(); - } + // @Override + // public String toString() { + // return this.getName(); + // } } diff --git a/src/main/java/org/springframework/samples/petclinic/model/Person.java b/src/main/java/org/springframework/samples/petclinic/model/Person.java index 7c3d81a84..871672f70 100644 --- a/src/main/java/org/springframework/samples/petclinic/model/Person.java +++ b/src/main/java/org/springframework/samples/petclinic/model/Person.java @@ -18,6 +18,8 @@ package org.springframework.samples.petclinic.model; import jakarta.persistence.Column; import jakarta.persistence.MappedSuperclass; import jakarta.validation.constraints.NotBlank; +import lombok.Getter; +import lombok.Setter; /** * Simple JavaBean domain object representing an person. @@ -25,6 +27,8 @@ import jakarta.validation.constraints.NotBlank; * @author Ken Krebs */ @MappedSuperclass +@Getter +@Setter public class Person extends BaseEntity { @Column(name = "first_name") @@ -35,20 +39,4 @@ public class Person extends BaseEntity { @NotBlank private String lastName; - public String getFirstName() { - return this.firstName; - } - - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - public String getLastName() { - return this.lastName; - } - - public void setLastName(String lastName) { - this.lastName = lastName; - } - } diff --git a/src/main/java/org/springframework/samples/petclinic/owner/Owner.java b/src/main/java/org/springframework/samples/petclinic/owner/Owner.java index c5ae067dc..e6fa84807 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/Owner.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/Owner.java @@ -31,6 +31,11 @@ import jakarta.persistence.OneToMany; import jakarta.persistence.OrderBy; import jakarta.persistence.Table; import jakarta.validation.constraints.Pattern; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; import jakarta.validation.constraints.NotBlank; /** @@ -45,6 +50,11 @@ import jakarta.validation.constraints.NotBlank; */ @Entity @Table(name = "owners") +@Getter +@Setter +@ToString +@NoArgsConstructor +@AllArgsConstructor public class Owner extends Person { @Column(name = "address") @@ -65,34 +75,6 @@ public class Owner extends Person { @OrderBy("name") private final List pets = new ArrayList<>(); - public String getAddress() { - return this.address; - } - - public void setAddress(String address) { - this.address = address; - } - - public String getCity() { - return this.city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getTelephone() { - return this.telephone; - } - - public void setTelephone(String telephone) { - this.telephone = telephone; - } - - public List getPets() { - return this.pets; - } - public void addPet(Pet pet) { if (pet.isNew()) { getPets().add(pet); @@ -143,17 +125,17 @@ public class Owner extends Person { return null; } - @Override - public String toString() { - return new ToStringCreator(this).append("id", this.getId()) - .append("new", this.isNew()) - .append("lastName", this.getLastName()) - .append("firstName", this.getFirstName()) - .append("address", this.address) - .append("city", this.city) - .append("telephone", this.telephone) - .toString(); - } + // @Override + // public String toString() { + // return new ToStringCreator(this).append("id", this.getId()) + // .append("new", this.isNew()) + // .append("lastName", this.getLastName()) + // .append("firstName", this.getFirstName()) + // .append("address", this.address) + // .append("city", this.city) + // .append("telephone", this.telephone) + // .toString(); + // } /** * Adds the given {@link Visit} to the {@link Pet} with the given identifier. diff --git a/src/main/java/org/springframework/samples/petclinic/owner/Pet.java b/src/main/java/org/springframework/samples/petclinic/owner/Pet.java index 1fdc77cec..4f31ba0d4 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/Pet.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/Pet.java @@ -32,6 +32,11 @@ import jakarta.persistence.ManyToOne; import jakarta.persistence.OneToMany; import jakarta.persistence.OrderBy; import jakarta.persistence.Table; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; /** * Simple business object representing a pet. @@ -43,6 +48,10 @@ import jakarta.persistence.Table; */ @Entity @Table(name = "pets") +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor public class Pet extends NamedEntity { @Column(name = "birth_date") @@ -58,22 +67,6 @@ public class Pet extends NamedEntity { @OrderBy("date ASC") private final Set visits = new LinkedHashSet<>(); - public void setBirthDate(LocalDate birthDate) { - this.birthDate = birthDate; - } - - public LocalDate getBirthDate() { - return this.birthDate; - } - - public PetType getType() { - return this.type; - } - - public void setType(PetType type) { - this.type = type; - } - public Collection getVisits() { return this.visits; } diff --git a/src/main/java/org/springframework/samples/petclinic/owner/Visit.java b/src/main/java/org/springframework/samples/petclinic/owner/Visit.java index 35569bdaa..a310dd453 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/Visit.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/Visit.java @@ -24,6 +24,10 @@ import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Table; import jakarta.validation.constraints.NotBlank; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; /** * Simple JavaBean domain object representing a visit. @@ -33,6 +37,9 @@ import jakarta.validation.constraints.NotBlank; */ @Entity @Table(name = "visits") +@Getter +@Setter +@AllArgsConstructor public class Visit extends BaseEntity { @Column(name = "visit_date") @@ -49,20 +56,4 @@ public class Visit extends BaseEntity { this.date = LocalDate.now(); } - public LocalDate getDate() { - return this.date; - } - - public void setDate(LocalDate date) { - this.date = date; - } - - public String getDescription() { - return this.description; - } - - public void setDescription(String description) { - this.description = description; - } - }