added service methods

This commit is contained in:
Fredrik Friis 2012-04-12 13:46:28 +09:00
parent cfe7e42f65
commit 5d1c34515a
2 changed files with 26 additions and 2 deletions
src/main/java/se/su/dsv/scipro/springdata

@ -5,10 +5,14 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import se.su.dsv.scipro.data.dataobjects.CheckList; 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.repos.ChecklistRepo;
import se.su.dsv.scipro.springdata.services.ChecklistService; import se.su.dsv.scipro.springdata.services.ChecklistService;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
/** /**
* @author: fred-fri * @author: fred-fri
@ -28,5 +32,22 @@ public class ChecklistServiceImpl extends AbstractQueryService<CheckList, Long>
super(checklistRepo, checklistRepo); super(checklistRepo, checklistRepo);
System.out.println("BLA BLA"); 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;
}
} }

@ -1,6 +1,7 @@
package se.su.dsv.scipro.springdata.services; package se.su.dsv.scipro.springdata.services;
import se.su.dsv.scipro.data.dataobjects.CheckList; import se.su.dsv.scipro.data.dataobjects.CheckList;
import se.su.dsv.scipro.data.dataobjects.User;
/** /**
* @author: fred-fri * @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> { 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);
} }