From a8dbb0a675b9cad09996b7f49e0a09e7fa9ae82b Mon Sep 17 00:00:00 2001 From: fred-fri <fred-fri@dsv.su.se> Date: Fri, 11 May 2012 13:37:43 +0900 Subject: [PATCH] moved new checklist template stuff into service method --- .../checklist/CheckListTemplateDataPanel.java | 8 +------ .../ChecklistTemplateServiceImpl.java | 22 +++++++++++++++++++ .../services/ChecklistTemplateService.java | 1 + 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.java b/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.java index f30ede3cc3..728af96614 100644 --- a/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.java +++ b/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.java @@ -53,13 +53,7 @@ public abstract class CheckListTemplateDataPanel extends Panel { newLink = new AjaxLink<Void>("newLink") { @Override public void onClick(AjaxRequestTarget target) { - CheckListTemplate clt = new CheckListTemplate("New checklist template (change this to real name)", SciProSession.get().getUser()); - clt.setCategories(new ArrayList<ChecklistCategory>()); - ArrayList<String> questionList = new ArrayList<String>(); - questionList.add(new String("Example question (remove this and add relevant questions)")); - clt.setQuestions(questionList); - clt.setTemplateNumber(safeLongToInt(checklistTemplateService.count() + 1)); - cltdp.onClick(new Model<CheckListTemplate>(clt), target); + cltdp.onClick(new Model<CheckListTemplate>(checklistTemplateService.prepareNewTemplate()), target); } }; newLink.setVisible(adminPrivileges); diff --git a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistTemplateServiceImpl.java b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistTemplateServiceImpl.java index fb42b2cebd..646171725c 100644 --- a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistTemplateServiceImpl.java +++ b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistTemplateServiceImpl.java @@ -7,13 +7,16 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import se.su.dsv.scipro.SciProSession; import se.su.dsv.scipro.data.dataobjects.CheckListTemplate; +import se.su.dsv.scipro.data.dataobjects.ChecklistCategory; import se.su.dsv.scipro.data.dataobjects.QCheckListTemplate; import se.su.dsv.scipro.springdata.repos.ChecklistTemplateRepo; import se.su.dsv.scipro.springdata.services.ChecklistTemplateService; import javax.annotation.Resource; +import java.util.ArrayList; /** * @author: fred-fri @@ -93,6 +96,17 @@ public class ChecklistTemplateServiceImpl extends AbstractQueryService<CheckList } } + @Override + public CheckListTemplate prepareNewTemplate() { + CheckListTemplate clt = new CheckListTemplate("New checklist template (change this to real name)", SciProSession.get().getUser()); + clt.setCategories(new ArrayList<ChecklistCategory>()); + ArrayList<String> questionList = new ArrayList<String>(); + questionList.add(new String("Example question (remove this and add relevant questions)")); + clt.setQuestions(questionList); + clt.setTemplateNumber(safeLongToInt(checklistTemplateRepo.count() + 1)); + return clt; + } + private BooleanExpression filterStringIsCreatorName(String filterString){ return QCheckListTemplate.checkListTemplate.creator.firstName.contains(filterString).or(QCheckListTemplate.checkListTemplate.creator.lastName.contains(filterString)); } @@ -100,4 +114,12 @@ public class ChecklistTemplateServiceImpl extends AbstractQueryService<CheckList private BooleanExpression filterStringIsChecklistTemplateName(String filterString){ return QCheckListTemplate.checkListTemplate.name.contains(filterString); } + + public static int safeLongToInt(long l) { + if (l < Integer.MIN_VALUE || l > Integer.MAX_VALUE) { + throw new IllegalArgumentException + (l + " cannot be cast to int without changing its value."); + } + return (int) l; + } } diff --git a/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistTemplateService.java b/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistTemplateService.java index 91b506aee9..e8c4562b68 100644 --- a/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistTemplateService.java +++ b/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistTemplateService.java @@ -15,4 +15,5 @@ public interface ChecklistTemplateService extends CrudService<CheckListTemplate, Long count(String filterString); void upChecklistTemplate(CheckListTemplate checkListTemplate); void downChecklistTemplate(CheckListTemplate checkListTemplate); + CheckListTemplate prepareNewTemplate(); }