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());