diff --git a/pom.xml b/pom.xml index 9722a75970..c118b9c84e 100644 --- a/pom.xml +++ b/pom.xml @@ -24,11 +24,6 @@ <name>Spring Maven MILESTONE Repository</name> <url>http://repo.springsource.org/libs-milestone</url> </repository> - <repository> - <id>spring-roo-repository</id> - <name>Spring Roo Repository</name> - <url>http://spring-roo-repository.springsource.org/release</url> - </repository> </repositories> <dependencies> <!-- WICKET DEPENDENCIES --> diff --git a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/SupervisorServiceImpl.java b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/SupervisorServiceImpl.java index df56d6fb63..9041daecb2 100644 --- a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/SupervisorServiceImpl.java +++ b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/SupervisorServiceImpl.java @@ -27,8 +27,8 @@ public class SupervisorServiceImpl extends AbstractQueryService<Employee, Long> } @Override - public List<Employee> findAllEmployees() { - return supervisorRepo.findAll(); + public List<Employee> findAllEmployees(org.springframework.data.domain.Sort orders) { + return supervisorRepo.findAll(orders); } } diff --git a/src/main/java/se/su/dsv/scipro/springdata/services/SupervisorService.java b/src/main/java/se/su/dsv/scipro/springdata/services/SupervisorService.java index 6189a4c8ba..439d9e1c97 100644 --- a/src/main/java/se/su/dsv/scipro/springdata/services/SupervisorService.java +++ b/src/main/java/se/su/dsv/scipro/springdata/services/SupervisorService.java @@ -8,5 +8,5 @@ import java.util.List; * date: 2012 03 26 */ public interface SupervisorService extends CrudService<Employee,Long>, QueryService<Employee, Long> { - public List<Employee> findAllEmployees(); + public List<Employee> findAllEmployees(org.springframework.data.domain.Sort orders); } diff --git a/src/test/java/se/su/dsv/scipro/springdata/TestSupervisor.java b/src/test/java/se/su/dsv/scipro/springdata/TestSupervisor.java index fcc16afbf2..11b6ffa01f 100644 --- a/src/test/java/se/su/dsv/scipro/springdata/TestSupervisor.java +++ b/src/test/java/se/su/dsv/scipro/springdata/TestSupervisor.java @@ -5,15 +5,19 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; import org.springframework.test.annotation.Rollback; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.transaction.annotation.Transactional; import se.su.dsv.scipro.data.dao.interfaces.UserDao; -import se.su.dsv.scipro.data.dao.interfaces.UsernameDao; import se.su.dsv.scipro.data.dataobjects.Employee; import se.su.dsv.scipro.data.dataobjects.User; -import se.su.dsv.scipro.data.dataobjects.Username; +import se.su.dsv.scipro.match.Weights; +import se.su.dsv.scipro.match.dao.interfaces.KeywordDao; +import se.su.dsv.scipro.match.dao.interfaces.KeywordTypeDao; +import se.su.dsv.scipro.match.dataobject.Keyword; +import se.su.dsv.scipro.match.dataobject.KeywordType; import se.su.dsv.scipro.springdata.services.SupervisorService; import java.util.ArrayList; @@ -24,6 +28,7 @@ import static org.junit.Assert.*; @ContextConfiguration(inheritLocations = false, locations = { "classpath:test-applicationContext.xml" }) + public class TestSupervisor { @Autowired @@ -32,11 +37,57 @@ public class TestSupervisor { @Autowired private UserDao userDao; + @Autowired + private KeywordDao keywordDao; + + @Autowired + private KeywordTypeDao keywordTypeDao; + + private KeywordType keywordTypeArea; + private KeywordType keywordTypeWord; + private Weights weights; + @SuppressWarnings("EmptyMethod") @Before public void startTransaction() throws Exception { + keywordTypeArea = keywordTypeDao.save(new KeywordType("Area")); + keywordTypeWord = keywordTypeDao.save(new KeywordType("Word")); + weights = createWeights(); } + private Weights createWeights() { + Weights weights = new Weights(); + weights.setKeywordPoints(3); // "Word" + "Unit"?? + weights.setResearchAreaPoints(5); // "Area" + weights.setPreferredSupervisorPoints(10); + return weights; + } + + private Employee getEmployee(final String firstName, final String lastName, final String email) { + User user = new User(); + user.setFirstName(firstName); + user.setLastName(lastName); + user.setEmailAddress(email); + user = userDao.save(user); + assertNotNull(user); + Employee employee = new Employee(); + employee.setUser(user); + return supervisorService.save(employee); + } + + + private Keyword createKeyword(final KeywordType keyWordType , final String keyWordName, final boolean deleted) { + Keyword keyword = keywordDao.getKeywordByNameAndType(keyWordName, keyWordType); + if(keyword == null) { + keyword = new Keyword(); + keyword.setType(keyWordType); + keyword.setKeyword(keyWordName); + keyword.setDeleted(deleted); + return keywordDao.save(keyword); + } else { + return keyword; + } + } /** * Test for implementing a supervisorService with Spring Data @@ -44,18 +95,69 @@ public class TestSupervisor { @Test @Transactional @Rollback - public void findAllSupervisorsWithSpringData() { + public void findSupervisorLastName() { List<Employee> employeeList = new ArrayList<Employee>(); - User davidH = new User(); - davidH.setFirstName("David"); - davidH.setLastName("Hallberg"); - davidH.setEmailAddress("dhallb@dsv.su.se"); - davidH = userDao.save(davidH); + Employee larsson = getEmployee("Ken", "Larsson", "kenlars@dsv.su.se"); + Employee hallberg = getEmployee("David", "Hallberg", "dhallb@dsv.su.se"); + Employee tholerus = getEmployee("Torgny", "Tholerus", "torgny@dsv.su.se"); + Employee moattar = getEmployee("Golrokh", "Moattar", "goli@dsv.su.se"); + Employee friis = getEmployee("Fredrik", "Friis", "fre-fri@dsv.su.se"); + Employee herder = getEmployee("Niklas", "Herder", "herder@dsv.su.se"); + Sort sortOrder = new Sort("user.lastName"); + employeeList.addAll(supervisorService.findAllEmployees(sortOrder)); + assertFalse(employeeList.isEmpty()); + assertTrue(employeeList.get(0).equals(friis)); + assertTrue(employeeList.get(5).equals(tholerus)); + } - Employee supervisor = new Employee(); - supervisor.setUser(davidH); - supervisorService.save(supervisor); - // employeeList.addAll(supervisorService.findAllEmployees()); - // assertTrue(employeeList.size() == 1); + /** + * Test for implementing a supervisorService with Spring Data + */ + @Test + @Transactional + @Rollback + public void findSupervisorFirstName() { + List<Employee> employeeList = new ArrayList<Employee>(); + Employee larsson = getEmployee("Ken", "Larsson", "kenlars@dsv.su.se"); + Employee hallberg = getEmployee("David", "Hallberg", "dhallb@dsv.su.se"); + Employee tholerus = getEmployee("Torgny", "Tholerus", "torgny@dsv.su.se"); + Employee moattar = getEmployee("Golrokh", "Moattar", "goli@dsv.su.se"); + Employee friis = getEmployee("Fredrik", "Friis", "fre-fri@dsv.su.se"); + Employee herder = getEmployee("Niklas", "Herder", "herder@dsv.su.se"); + Sort sortOrder = new Sort("user.firstName"); + employeeList.addAll(supervisorService.findAllEmployees(sortOrder)); + assertFalse(employeeList.isEmpty()); + assertTrue(employeeList.get(0).equals(hallberg)); + assertTrue(employeeList.get(5).equals(tholerus)); + } + + /** + * Test for implementing a supervisorService with Spring Data + */ + @Test + @Transactional + @Rollback + public void findSupervisorKeywords() { + List<Employee> employeeList = new ArrayList<Employee>(); + Employee larsson = getEmployee("Ken", "Larsson", "kenlars@dsv.su.se"); + Employee hallberg = getEmployee("David", "Hallberg", "dhallb@dsv.su.se"); + Employee tholerus = getEmployee("Torgny", "Tholerus", "torgny@dsv.su.se"); + Employee herder = getEmployee("Niklas", "Herder", "herder@dsv.su.se"); + Employee moattar = getEmployee("Golrokh", "Moattar", "goli@dsv.su.se"); + Employee friis = getEmployee("Fredrik", "Friis", "fre-fri@dsv.su.se"); + + + + Keyword keyword = createKeyword(keywordTypeWord, "JUnit", false); + herder.getKeywords().getAll().add(keyword); + keyword = createKeyword(keywordTypeWord, "Maven", false); + herder.getKeywords().getAll().add(keyword); + herder = supervisorService.save(herder); + + /* Sort sortOrder = new Sort("keywords.getAll().size"); + employeeList.addAll(supervisorService.findAllEmployees(sortOrder)); + assertFalse(employeeList.isEmpty()); + assertTrue(employeeList.get(0).equals(herder));*/ +//assertTrue(employeeList.get(5).equals(tholerus)); } }