diff --git a/src/main/java/se/su/dsv/scipro/admin/panels/match/AdminSupervisorKeywordPanel.java b/src/main/java/se/su/dsv/scipro/admin/panels/match/AdminSupervisorKeywordPanel.java index ae129484c3..035c5b66ef 100644 --- a/src/main/java/se/su/dsv/scipro/admin/panels/match/AdminSupervisorKeywordPanel.java +++ b/src/main/java/se/su/dsv/scipro/admin/panels/match/AdminSupervisorKeywordPanel.java @@ -48,7 +48,6 @@ public class AdminSupervisorKeywordPanel extends Panel { StringBuffer supervisorName = new StringBuffer(); add(new FilterForm(tableContainer, supervisorField, supervisorName)); setUpTable(dialog, tableContainer, supervisorName); - } private void setUpDialog(Dialog dialog) { @@ -65,12 +64,12 @@ public class AdminSupervisorKeywordPanel extends Panel { if(!supervisorName.toString().isEmpty()) { String addToSearch = "true"; } - if ((sortDirection.toString().isEmpty() && !orderBy.equals("keywords.all.size")) || sortDirection.toString().equals("ASC")) { + if ((sortDirection.toString().isEmpty() && !orderBy.equals("keywords.all.size")) || sortDirection.toString().equalsIgnoreCase("asc")) { sortDirection.delete(0, sortDirection.length()); - sortDirection.append("DESC"); + sortDirection.append("desc"); } else { sortDirection.delete(0, sortDirection.length()); - sortDirection.append("ASC"); + sortDirection.append("asc"); } orderBy__.delete(0, orderBy__.length()); orderBy__.append(orderBy); @@ -90,6 +89,29 @@ if(!supervisorName.toString().isEmpty()) { return employeeList; } + private void loadEmployeeList(List<Employee> employeeList, StringBuffer orderBy, StringBuffer sortDirection) { + KeywordType keywordType = keywordTypeDao.findByType(KeywordTypeDao.TYPE.REGULAR); + if(orderBy.toString().equals("keywords.all.size")) { + keywordType = keywordTypeDao.findByType(KeywordTypeDao.TYPE.REGULAR); + } else if (orderBy.toString().equals("areas.all.size")) { + keywordType = keywordTypeDao.findByType(KeywordTypeDao.TYPE.RESEARCH_AREA); + } + + if(sortDirection.toString().equalsIgnoreCase("asc")) { + for(Employee employee : supervisorService.findSupervisorBySQL(keywordType.getName(), "asc")) { + if(!employeeList.contains(employee)) { + employeeList.add(employee); + } + } + } else { + for(Employee employee : supervisorService.findSupervisorBySQL(keywordType.getName(), "desc")) { + if(!employeeList.contains(employee)) { + employeeList.add(employee); + } + } + } + } + private void setUpTable(final Dialog dialog, final WebMarkupContainer tableContainer, final StringBuffer supervisorName) { final StringBuffer sortDirection = new StringBuffer(); final StringBuffer orderBy = new StringBuffer(); @@ -100,38 +122,17 @@ if(!supervisorName.toString().isEmpty()) { @Override protected List<Employee> load() { List<Employee> employeeList = new ArrayList<Employee>(); - org.springframework.data.domain.Sort sorter; - if(!orderBy.toString().equals("areas.all.size") && !orderBy.toString().equals("keywords.all.size")) { - if (sortDirection.toString().isEmpty() || sortDirection.toString().equals("ASC")) { + org.springframework.data.domain.Sort sorter; + if (sortDirection.toString().isEmpty() || sortDirection.toString().equalsIgnoreCase("asc")) { sorter = new org.springframework.data.domain.Sort(org.springframework.data.domain.Sort.Direction.ASC, "user.lastName"); employeeList.addAll(supervisorService.findAllEmployees(sorter)); } else { sorter = new org.springframework.data.domain.Sort(org.springframework.data.domain.Sort.Direction.DESC, "user.lastName"); employeeList.addAll(supervisorService.findAllEmployees(sorter)); } - } - KeywordType keywordType = keywordTypeDao.findByType(KeywordTypeDao.TYPE.REGULAR); - if(orderBy.toString().equals("keywords.all.size") || orderBy.toString().equals("areas.all.size")) { - if(orderBy.toString().equals("keywords.all.size")) { - keywordType = keywordTypeDao.findByType(KeywordTypeDao.TYPE.REGULAR); - } else if (orderBy.toString().equals("areas.all.size")) { - keywordType = keywordTypeDao.findByType(KeywordTypeDao.TYPE.RESEARCH_AREA); - } - - if(sortDirection.toString().equals("ASC")) { - for(Employee employee : supervisorService.findSupervisorBySQL(keywordType.getName(), "asc")) { - if(!employeeList.contains(employee)) { - employeeList.add(employee); - } - } - } else { - for(Employee employee : supervisorService.findSupervisorBySQL(keywordType.getName(), "desc")) { - if(!employeeList.contains(employee)) { - employeeList.add(employee); - } - } - } + } else { + loadEmployeeList(employeeList, orderBy, sortDirection); } if(supervisorName.toString().isEmpty()) { return employeeList;