From 2add49eec2752ae069431e6ae3f83a94d860946a Mon Sep 17 00:00:00 2001
From: Fredrik Friis <fred-fri@dsv.su.se>
Date: Mon, 16 Apr 2012 13:53:07 +0900
Subject: [PATCH] added checklistanswerrepo and service layer, switch from dao
 to new service in test, all good

---
 .../springdata/repos/ChecklistAnswerRepo.java | 17 ++++++++++
 .../ChecklistAnswerServiceImpl.java           | 32 +++++++++++++++++++
 .../services/ChecklistAnswerService.java      | 13 ++++++++
 .../dsv/scipro/springdata/TestChecklist.java  |  9 +++---
 4 files changed, 67 insertions(+), 4 deletions(-)
 create mode 100644 src/main/java/se/su/dsv/scipro/springdata/repos/ChecklistAnswerRepo.java
 create mode 100644 src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistAnswerServiceImpl.java
 create mode 100644 src/main/java/se/su/dsv/scipro/springdata/services/ChecklistAnswerService.java

diff --git a/src/main/java/se/su/dsv/scipro/springdata/repos/ChecklistAnswerRepo.java b/src/main/java/se/su/dsv/scipro/springdata/repos/ChecklistAnswerRepo.java
new file mode 100644
index 0000000000..faf6002b7b
--- /dev/null
+++ b/src/main/java/se/su/dsv/scipro/springdata/repos/ChecklistAnswerRepo.java
@@ -0,0 +1,17 @@
+package se.su.dsv.scipro.springdata.repos;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.querydsl.QueryDslPredicateExecutor;
+import org.springframework.transaction.annotation.Transactional;
+import se.su.dsv.scipro.data.dataobjects.CheckListAnswer;
+
+/**
+ * @author: fred-fri
+ * date: 2012 03 26
+ */
+@Transactional(readOnly = true)
+public interface ChecklistAnswerRepo extends JpaRepository<CheckListAnswer, Long>, QueryDslPredicateExecutor<CheckListAnswer> {
+
+    //nothing here yet
+
+}
diff --git a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistAnswerServiceImpl.java b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistAnswerServiceImpl.java
new file mode 100644
index 0000000000..9c66c0601d
--- /dev/null
+++ b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistAnswerServiceImpl.java
@@ -0,0 +1,32 @@
+package se.su.dsv.scipro.springdata.serviceimpls;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import se.su.dsv.scipro.data.dataobjects.CheckListAnswer;
+import se.su.dsv.scipro.springdata.repos.ChecklistAnswerRepo;
+import se.su.dsv.scipro.springdata.services.ChecklistAnswerService;
+
+import javax.annotation.Resource;
+
+/**
+ * @author: fred-fri
+ * date: 2012 03 26
+ */
+@Service ( "checkListAnswerService" )
+@Transactional ( readOnly = true )
+public class ChecklistAnswerServiceImpl extends AbstractQueryService<CheckListAnswer, Long> implements ChecklistAnswerService {
+
+	@Resource
+	private ChecklistAnswerRepo checklistAnswerRepo;
+
+	@Autowired
+	public ChecklistAnswerServiceImpl(
+            @Qualifier("checklistAnswerRepo")
+            ChecklistAnswerRepo checklistAnswerRepo) {
+		super(checklistAnswerRepo, checklistAnswerRepo);
+		System.out.println("BLA BLA");
+	}
+
+}
diff --git a/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistAnswerService.java b/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistAnswerService.java
new file mode 100644
index 0000000000..43b997f3be
--- /dev/null
+++ b/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistAnswerService.java
@@ -0,0 +1,13 @@
+package se.su.dsv.scipro.springdata.services;
+
+import se.su.dsv.scipro.data.dataobjects.CheckListAnswer;
+
+/**
+ * @author: fred-fri
+ * date: 2012 03 26
+ */
+public interface ChecklistAnswerService extends CrudService<CheckListAnswer, Long>, QueryService<CheckListAnswer, Long> {
+
+    //nothing here yet
+
+}
diff --git a/src/test/java/se/su/dsv/scipro/springdata/TestChecklist.java b/src/test/java/se/su/dsv/scipro/springdata/TestChecklist.java
index 57a87a1646..a2a2dbc12d 100644
--- a/src/test/java/se/su/dsv/scipro/springdata/TestChecklist.java
+++ b/src/test/java/se/su/dsv/scipro/springdata/TestChecklist.java
@@ -10,7 +10,6 @@ import org.springframework.test.annotation.Rollback;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.transaction.annotation.Transactional;
-import se.su.dsv.scipro.data.dao.interfaces.CheckListAnswerDao;
 import se.su.dsv.scipro.data.dataobjects.*;
 import se.su.dsv.scipro.data.enums.CheckListQuestionAnswer;
 import se.su.dsv.scipro.springdata.services.*;
@@ -40,8 +39,10 @@ public class TestChecklist {
     @Autowired
     private ChecklistQuestionService checklistQuestionService;
 
+//    @Autowired
+//    private CheckListAnswerDao checkListAnswerDao;
     @Autowired
-    private CheckListAnswerDao checkListAnswerDao;
+    private ChecklistAnswerService checklistAnswerService;
     
     private User employee1;
     private Employee employee1Role;
@@ -80,7 +81,7 @@ public class TestChecklist {
         checkListAnswer = new CheckListAnswer();
         checkListAnswer.setAnswer(CheckListQuestionAnswer.GREEN);
         checkListAnswer.setUser(employee1);
-        checkListAnswer = checkListAnswerDao.save(checkListAnswer);
+        checkListAnswer = checklistAnswerService.save(checkListAnswer);
         checkListAnswers.add(checkListAnswer);
 
         checkListQuestions = new ArrayList<CheckListQuestion>();
@@ -192,7 +193,7 @@ public class TestChecklist {
         }
         
         checkListAnswer.setLastModified(new Date());
-        checkListAnswerDao.save(checkListAnswer);
+        checklistAnswerService.save(checkListAnswer);
         
         Assert.assertTrue(checklistService.hasChangedSinceUserLastOpenDate(checkList, employee1));