From 4ec937ea2a0d7b3fa7476a479d56644c737495a5 Mon Sep 17 00:00:00 2001 From: Emil Siverhall <emil-siv@dsv.su.se> Date: Thu, 2 Aug 2012 15:53:47 +0200 Subject: [PATCH] added service class for first meetings to use when authors cancel their idea selections and a first meeting is already added --- .../serviceimpls/FirstMeetingServiceImpl.java | 42 +++++++++++++++++++ .../services/FirstMeetingService.java | 10 +++++ 2 files changed, 52 insertions(+) create mode 100644 src/main/java/se/su/dsv/scipro/springdata/serviceimpls/FirstMeetingServiceImpl.java create mode 100644 src/main/java/se/su/dsv/scipro/springdata/services/FirstMeetingService.java diff --git a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/FirstMeetingServiceImpl.java b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/FirstMeetingServiceImpl.java new file mode 100644 index 0000000000..7e774c92f5 --- /dev/null +++ b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/FirstMeetingServiceImpl.java @@ -0,0 +1,42 @@ +package se.su.dsv.scipro.springdata.serviceimpls; + +import javax.annotation.Resource; + +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 com.mysema.query.types.expr.BooleanExpression; + +import se.su.dsv.scipro.match.dataobject.FirstMeeting; +import se.su.dsv.scipro.match.dataobject.QFirstMeeting; +import se.su.dsv.scipro.match.dataobject.SupervisorIdea; +import se.su.dsv.scipro.springdata.repos.FirstMeetingRepo; +import se.su.dsv.scipro.springdata.services.FirstMeetingService; + + +@Service ( "firstMeetingService" ) +@Transactional ( readOnly = true ) +public class FirstMeetingServiceImpl extends AbstractQueryService<FirstMeeting, Long> implements FirstMeetingService { + + @Resource + private FirstMeetingRepo firstMeetingRepo; + + @Autowired + public FirstMeetingServiceImpl( + @Qualifier("firstMeetingRepo") + FirstMeetingRepo firstMeetingRepo) { + super(firstMeetingRepo, firstMeetingRepo); + System.out.println("FirstMeetingServiceImpl instantiating..."); + } + + @Override + public FirstMeeting getMeetingByIdea(SupervisorIdea idea) { + return firstMeetingRepo.findOne(byIdea(idea)); + } + + public BooleanExpression byIdea(SupervisorIdea idea) { + return QFirstMeeting.firstMeeting.supervisorIdea.eq(idea); + } +} diff --git a/src/main/java/se/su/dsv/scipro/springdata/services/FirstMeetingService.java b/src/main/java/se/su/dsv/scipro/springdata/services/FirstMeetingService.java new file mode 100644 index 0000000000..ccc671a8c7 --- /dev/null +++ b/src/main/java/se/su/dsv/scipro/springdata/services/FirstMeetingService.java @@ -0,0 +1,10 @@ +package se.su.dsv.scipro.springdata.services; + +import se.su.dsv.scipro.match.dataobject.FirstMeeting; +import se.su.dsv.scipro.match.dataobject.SupervisorIdea; + + +public interface FirstMeetingService extends GenericService<FirstMeeting, Long>, QueryService<FirstMeeting, Long> { + + FirstMeeting getMeetingByIdea(SupervisorIdea idea); +}