diff --git a/pom.xml b/pom.xml index d98e1bf..b0678d2 100644 --- a/pom.xml +++ b/pom.xml @@ -40,6 +40,11 @@ spring-boot-starter-test test + + org.modelmapper + modelmapper + 2.4.5 + diff --git a/src/main/java/com/singlestone/contacts/controller/ContactController.java b/src/main/java/com/singlestone/contacts/controller/ContactController.java index 207ced1..4006c96 100644 --- a/src/main/java/com/singlestone/contacts/controller/ContactController.java +++ b/src/main/java/com/singlestone/contacts/controller/ContactController.java @@ -3,8 +3,11 @@ package com.singlestone.contacts.controller; import com.singlestone.contacts.model.CallListEntry; import com.singlestone.contacts.model.Contact; import com.singlestone.contacts.model.Phone; +import com.singlestone.contacts.model.dto.ContactDTO; import com.singlestone.contacts.repository.ContactRepository; import com.singlestone.contacts.repository.PhoneRepository; +import com.singlestone.contacts.service.ContactService; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; import org.springframework.http.HttpStatus; @@ -19,15 +22,15 @@ import java.util.Optional; public class ContactController { @Autowired - private ContactRepository contactRepository; + private ContactService contactService; @Autowired private PhoneRepository phoneRepository; //Get All Contacts @GetMapping("/contacts") - public List getAllContacts() { - return contactRepository.findAll(); + public List getAllContacts() { + return contactService.getAllContacts(); } //Create a new contact @@ -76,4 +79,4 @@ public class ContactController { Sort sortByFirst = Sort.by("contact.name.first").ascending(); return phoneRepository.findByType(Phone.Type.home, sortByLast.and(sortByFirst)); } -} \ No newline at end of file +} diff --git a/src/main/java/com/singlestone/contacts/model/Contact.java b/src/main/java/com/singlestone/contacts/model/Contact.java index e73a42f..c337b3b 100644 --- a/src/main/java/com/singlestone/contacts/model/Contact.java +++ b/src/main/java/com/singlestone/contacts/model/Contact.java @@ -11,7 +11,7 @@ public class Contact { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") - private Long id; + private long id; @Embedded private Name name; diff --git a/src/main/java/com/singlestone/contacts/model/Phone.java b/src/main/java/com/singlestone/contacts/model/Phone.java index 6ed3145..1095df2 100644 --- a/src/main/java/com/singlestone/contacts/model/Phone.java +++ b/src/main/java/com/singlestone/contacts/model/Phone.java @@ -61,8 +61,8 @@ public class Phone { } public enum Type { - home, - work, - mobile + HOME, + WORK, + MOBILE } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index c1186dd..602ede4 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -9,5 +9,6 @@ spring.jpa.show-sql=true spring.datasource.url=jdbc:h2:mem:contactsdb spring.data.jpa.repositories.bootstrap-mode=default spring.jpa.properties.hibernate.format_sql=true +spring.jpa.defer-datasource-initialization=true logging.level.org.hibernate.type=trace -server.error.include-message=always \ No newline at end of file +server.error.include-message=always