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