added service class for first meetings to use when authors cancel their idea selections and a first meeting is already added

This commit is contained in:
Emil Siverhall 2012-08-02 15:53:47 +02:00
parent cb0387472a
commit 4ec937ea2a
2 changed files with 52 additions and 0 deletions
src/main/java/se/su/dsv/scipro/springdata

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

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