diff --git a/pom.xml b/pom.xml index 0162ad5..83dc2b5 100644 --- a/pom.xml +++ b/pom.xml @@ -112,5 +112,11 @@ ${version.dependency.javaee} provided + + + org.projectlombok + lombok + 1.16.6 + diff --git a/src/main/java/com/cortez/samples/javaee7angular/data/Person.java b/src/main/java/com/cortez/samples/javaee7angular/data/Person.java index a88f350..6317535 100644 --- a/src/main/java/com/cortez/samples/javaee7angular/data/Person.java +++ b/src/main/java/com/cortez/samples/javaee7angular/data/Person.java @@ -1,69 +1,36 @@ package com.cortez.samples.javaee7angular.data; -import javax.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.SequenceGenerator; /** * Simple entity. * * @author Roberto Cortez */ +@Getter +@Setter +@EqualsAndHashCode(of = {"id"}) +@NoArgsConstructor +@AllArgsConstructor(staticName = "of") +@Builder @Entity public class Person { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "id") @SequenceGenerator(name = "id", sequenceName = "id") private Long id; - private String name; - private String description; - private String imageUrl; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getImageUrl() { - return imageUrl; - } - - public void setImageUrl(String link) { - this.imageUrl = link; - } - - @Override - public boolean equals(Object o) { - if (this == o) { return true; } - if (o == null || getClass() != o.getClass()) { return false; } - - Person person = (Person) o; - - return id.equals(person.id); - } - - @Override - public int hashCode() { - return id.hashCode(); - } } diff --git a/src/main/java/com/cortez/samples/javaee7angular/rest/PersonResource.java b/src/main/java/com/cortez/samples/javaee7angular/rest/PersonResource.java index 7af10e9..f8534a8 100644 --- a/src/main/java/com/cortez/samples/javaee7angular/rest/PersonResource.java +++ b/src/main/java/com/cortez/samples/javaee7angular/rest/PersonResource.java @@ -2,6 +2,7 @@ import com.cortez.samples.javaee7angular.data.Person; import com.cortez.samples.javaee7angular.pagination.PaginatedListWrapper; +import lombok.extern.java.Log; import javax.ejb.Stateless; import javax.persistence.EntityManager; @@ -22,6 +23,7 @@ @Path("persons") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) +@Log public class PersonResource extends Application { @PersistenceContext private EntityManager entityManager; @@ -77,12 +79,14 @@ public Person getPerson(@PathParam("id") Long id) { @POST public Person savePerson(Person person) { + log.info("Saving person: " + person.getName()); + if (person.getId() == null) { - Person personToSave = new Person(); - personToSave.setName(person.getName()); - personToSave.setDescription(person.getDescription()); - personToSave.setImageUrl(person.getImageUrl()); - entityManager.persist(person); + entityManager.persist(Person.builder() + .name(person.getName()) + .description(person.getDescription()) + .imageUrl(person.getImageUrl()) + .build()); } else { Person personToUpdate = getPerson(person.getId()); personToUpdate.setName(person.getName());