added save method to crudservice and a projectclassservice
This commit is contained in:
parent
ad3d05427d
commit
f4ae72c27d
src
main/java/se/su/dsv/scipro/springdata
serviceimpls
services
test/java/se/su/dsv/scipro/springdata
@ -19,7 +19,19 @@ public class AbstractServiceImpl<T, ID extends Serializable> implements CrudServ
|
||||
this.repository = repository1;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* Saves a given entity. Use the returned instance for further operations as
|
||||
* the save operation might have changed the entity instance completely.
|
||||
*
|
||||
* @param entity
|
||||
* @return the saved entity
|
||||
*/
|
||||
@Override
|
||||
public T save(T entity) {
|
||||
return repository.save(entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrives an entity by its primary key.
|
||||
*
|
||||
* @param id
|
||||
|
@ -0,0 +1,32 @@
|
||||
package se.su.dsv.scipro.springdata.serviceimpls;
|
||||
|
||||
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 se.su.dsv.scipro.data.dataobjects.ProjectClass;
|
||||
import se.su.dsv.scipro.springdata.repos.ProjectClassRepo;
|
||||
import se.su.dsv.scipro.springdata.services.ProjectClassService;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @author: fred-fri
|
||||
* date: 2012 03 26
|
||||
*/
|
||||
@Service ( "projectClassService" )
|
||||
@Transactional ( readOnly = true )
|
||||
public class ProjectClassServiceImpl extends AbstractQueryService<ProjectClass, Long> implements ProjectClassService {
|
||||
|
||||
@Resource
|
||||
private ProjectClassRepo projectClassRepo;
|
||||
|
||||
@Autowired
|
||||
public ProjectClassServiceImpl(
|
||||
@Qualifier("projectClassRepo")
|
||||
ProjectClassRepo projectClassRepo) {
|
||||
super(projectClassRepo, projectClassRepo);
|
||||
System.out.println("BLA BLA");
|
||||
}
|
||||
|
||||
}
|
@ -8,6 +8,15 @@ package se.su.dsv.scipro.springdata.services;
|
||||
*/
|
||||
public abstract interface CrudService<T, ID> {
|
||||
|
||||
/**
|
||||
* Saves a given entity. Use the returned instance for further operations as
|
||||
* the save operation might have changed the entity instance completely.
|
||||
*
|
||||
* @param entity
|
||||
* @return the saved entity
|
||||
*/
|
||||
T save(T entity);
|
||||
|
||||
/**
|
||||
* Retrives an entity by its primary key.
|
||||
*
|
||||
|
@ -0,0 +1,13 @@
|
||||
package se.su.dsv.scipro.springdata.services;
|
||||
|
||||
import se.su.dsv.scipro.data.dataobjects.ProjectClass;
|
||||
|
||||
/**
|
||||
* @author: fred-fri
|
||||
* date: 2012 03 26
|
||||
*/
|
||||
public interface ProjectClassService extends CrudService<ProjectClass,Long>, QueryService<ProjectClass, Long> {
|
||||
|
||||
//nothing here yet
|
||||
|
||||
}
|
@ -12,20 +12,18 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.RoleDao;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.UserDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.*;
|
||||
import se.su.dsv.scipro.data.dataobjects.Employee;
|
||||
import se.su.dsv.scipro.data.dataobjects.ProjectClass;
|
||||
import se.su.dsv.scipro.data.dataobjects.User;
|
||||
import se.su.dsv.scipro.match.dao.interfaces.MatchDao;
|
||||
import se.su.dsv.scipro.match.dataobject.ApplicationPeriod;
|
||||
import se.su.dsv.scipro.match.dataobject.Match;
|
||||
import se.su.dsv.scipro.match.dataobject.ProjectIdea;
|
||||
import se.su.dsv.scipro.match.facade.ApplicationPeriodFacade;
|
||||
import se.su.dsv.scipro.springdata.repos.ProjectClassRepo;
|
||||
import se.su.dsv.scipro.springdata.repos.ProjectIdeaRepo;
|
||||
import se.su.dsv.scipro.springdata.services.ProjectClassService;
|
||||
import se.su.dsv.scipro.springdata.services.ProjectIdeaService;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.Locale;
|
||||
import java.util.Set;
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ -36,79 +34,31 @@ public class TestProjectIdea {
|
||||
|
||||
@Autowired
|
||||
private UserDao userDao;
|
||||
|
||||
@Autowired
|
||||
private ProjectIdeaRepo projectIdeaRepo;
|
||||
|
||||
@Autowired
|
||||
private ProjectIdeaService projectIdeaService;
|
||||
|
||||
@Autowired
|
||||
private ProjectClassRepo projectClassRepo;
|
||||
|
||||
private ProjectClassService projectClassService;
|
||||
@Autowired
|
||||
private RoleDao roleDao;
|
||||
|
||||
@Autowired
|
||||
private ApplicationPeriodFacade applicationPeriodFacade;
|
||||
|
||||
@Autowired
|
||||
private MatchDao matchDao;
|
||||
|
||||
private User student1;
|
||||
|
||||
private ProjectIdea projectIdea1;
|
||||
private ProjectIdea projectIdea2;
|
||||
|
||||
private Student student1Author;
|
||||
|
||||
private Student student2Author;
|
||||
|
||||
private ProjectIdea projectIdea3;
|
||||
|
||||
SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
|
||||
|
||||
private Date date12Maj2010;
|
||||
|
||||
private Date date14Maj2010;
|
||||
|
||||
private Date date15Jun2010;
|
||||
|
||||
private Date date18Aug2010;
|
||||
|
||||
private User employee1;
|
||||
|
||||
private Employee employee1Role;
|
||||
|
||||
private ProjectClass bachelor;
|
||||
|
||||
private ProjectClass master;
|
||||
|
||||
@Before
|
||||
public void startTransaction() throws Exception {
|
||||
student1 = new User();
|
||||
student1 = userDao.save(student1);
|
||||
|
||||
Role student1Role = new Student();
|
||||
student1Role.setUser(student1);
|
||||
student1Role = roleDao.save(student1Role);
|
||||
student1Author = (Student) student1Role;
|
||||
bachelor = new ProjectClass(ProjectClass.BACHELOR, "Bachelor", "Bachelor degree thesis project");
|
||||
bachelor = projectClassService.save(bachelor);
|
||||
|
||||
User student2 = new User();
|
||||
student2 = userDao.save(student2);
|
||||
|
||||
Role student2Role = new Student();
|
||||
student2Role.setUser(student2);
|
||||
student2Role = roleDao.save(student2Role);
|
||||
student2Author = (Student) student2Role;
|
||||
|
||||
bachelor = new ProjectClass(ProjectClass.BACHELOR, "Bachelor",
|
||||
"Bachelor degree thesis project");
|
||||
bachelor = projectClassRepo.save(bachelor); //shouldnt this be provided by the service class?
|
||||
|
||||
master = new ProjectClass(ProjectClass.MASTER, "Master",
|
||||
"Master degree thesis project");
|
||||
master = projectClassRepo.save(master); //shouldnt this be provided by the service class?
|
||||
master = new ProjectClass(ProjectClass.MASTER, "Master", "Master degree thesis project");
|
||||
master = projectClassService.save(master);
|
||||
|
||||
Set<ProjectClass> projectClassSet = new HashSet<ProjectClass>();
|
||||
projectClassSet.add(bachelor);
|
||||
@ -116,29 +66,9 @@ public class TestProjectIdea {
|
||||
ApplicationPeriod applicationPeriod = applicationPeriodFacade.createApplicationPeriod(projectClassSet, "name1");
|
||||
|
||||
projectIdea1 = new ProjectIdea();
|
||||
projectIdea1.setTitle("Project idea 1");
|
||||
projectIdea1.getAuthors().add(student1Author);
|
||||
projectIdea1.setProjectClass(bachelor);
|
||||
projectIdea1.setApplicationPeriod(applicationPeriod);
|
||||
projectIdea1 = projectIdeaRepo.save(projectIdea1); //shouldnt this be provided by the service class?
|
||||
|
||||
projectIdea2 = new ProjectIdea();
|
||||
projectIdea2.setTitle("Idea 2");
|
||||
projectIdea2.getAuthors().add(student1Author);
|
||||
projectIdea2.setProjectClass(master);
|
||||
projectIdea2.setApplicationPeriod(applicationPeriod);
|
||||
projectIdea2 = projectIdeaRepo.save(projectIdea2); //shouldnt this be provided by the service class?
|
||||
|
||||
projectIdea3 = new ProjectIdea();
|
||||
projectIdea3.setTitle("A Project 2");
|
||||
projectIdea3.setProjectClass(bachelor);
|
||||
projectIdea3.setApplicationPeriod(applicationPeriod);
|
||||
projectIdea3 = projectIdeaRepo.save(projectIdea3); //shouldnt this be provided by the service class?
|
||||
|
||||
date12Maj2010 = date.parse("2010-05-12");
|
||||
date14Maj2010 = date.parse("2010-05-14");
|
||||
date15Jun2010 = date.parse("2010-06-15");
|
||||
date18Aug2010 = date.parse("2010-08-18");
|
||||
projectIdea1 = projectIdeaService.save(projectIdea1);
|
||||
|
||||
employee1 = new User();
|
||||
employee1 = userDao.save(employee1);
|
||||
@ -255,9 +185,6 @@ public class TestProjectIdea {
|
||||
Assert.assertEquals(l, projectIdeaService.countProjectIdeaByMatchStatusAndProjectClass(Match.Status.UNMATCHED, master));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* The tests below are all found in the test class for the original ProjectIdeaDao, (class TestProjectIdeaDao.java)
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user