From 5d1c34515a6530c2780ff210cdb067ebd2121edb Mon Sep 17 00:00:00 2001 From: Fredrik Friis <fred-fri@dsv.su.se> Date: Thu, 12 Apr 2012 13:46:28 +0900 Subject: [PATCH] added service methods --- .../serviceimpls/ChecklistServiceImpl.java | 21 +++++++++++++++++++ .../springdata/services/ChecklistService.java | 7 +++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistServiceImpl.java b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistServiceImpl.java index df5718698f..b1d5fc0de3 100644 --- a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistServiceImpl.java +++ b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistServiceImpl.java @@ -5,10 +5,14 @@ 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.CheckList; +import se.su.dsv.scipro.data.dataobjects.CheckListAnswer; +import se.su.dsv.scipro.data.dataobjects.CheckListQuestion; +import se.su.dsv.scipro.data.dataobjects.User; import se.su.dsv.scipro.springdata.repos.ChecklistRepo; import se.su.dsv.scipro.springdata.services.ChecklistService; import javax.annotation.Resource; +import java.util.Date; /** * @author: fred-fri @@ -28,5 +32,22 @@ public class ChecklistServiceImpl extends AbstractQueryService<CheckList, Long> super(checklistRepo, checklistRepo); System.out.println("BLA BLA"); } + + @Override + public CheckList updateUserLastOpenDate(CheckList checklist, User user) { + checklist.getUserLastOpenDate().put(user, new Date()); + return checklistRepo.save(checklist); + } + @Override + public boolean hasChangedSinceUserLastOpenDate(CheckList checklist, User user) { + for (CheckListQuestion clq : checklist.getQuestions()){ + for (CheckListAnswer cla : clq.getAnswers()){ + if (cla.getLastModified().after(checklist.getUserLastOpenDate().get(user))){ + return true; + } + } + } + return false; + } } diff --git a/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistService.java b/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistService.java index 6fd17981eb..9213a4ef15 100644 --- a/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistService.java +++ b/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistService.java @@ -1,6 +1,7 @@ package se.su.dsv.scipro.springdata.services; import se.su.dsv.scipro.data.dataobjects.CheckList; +import se.su.dsv.scipro.data.dataobjects.User; /** * @author: fred-fri @@ -8,6 +9,8 @@ import se.su.dsv.scipro.data.dataobjects.CheckList; */ public interface ChecklistService extends CrudService<CheckList, Long>, QueryService<CheckList, Long> { - //nothing here yet - + public CheckList updateUserLastOpenDate(CheckList checklist, User user); + + public boolean hasChangedSinceUserLastOpenDate(CheckList checklist, User user); + }