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.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;
}
}

@ -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);
}