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 51ad32555a..df81dc809d 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 @@ -46,7 +46,6 @@ public class AdminSupervisorKeywordPanel extends Panel { TextField<String> supervisorField = new TextField<String>("supervisorField", new Model<String>()); setUpTable(dialog, tableContainer, params); setUpFiltering(tableContainer, params, supervisorField); -//addSortLink("numberOfRegulars", "keywords.size()", tableContainer, params); } private void setUpFiltering(WebMarkupContainer tableContainer, SupervisorDaoParams params, TextField<String> supervisorField) { @@ -64,38 +63,32 @@ public class AdminSupervisorKeywordPanel extends Panel { add(dialog.setOutputMarkupId(true)); } - private void addSortLink(String markup, final String sortField, final WebMarkupContainer allContainer, final SupervisorDaoParams params) { - final AjaxLink<Void> sortLink = new AjaxLink<Void>(markup + "SortLink") { - - private static final long serialVersionUID = -8463105615994034854L; - - @Override - public void onClick(AjaxRequestTarget target) { - if (params.getDirection().equals(Sort.ASCENDING)) { - params.setSortOn(sortField, Sort.DESCENDING); - } else { - params.setSortOn(sortField, Sort.ASCENDING); - } - target.addComponent(allContainer); - } - }; - allContainer.add(sortLink); + private org.springframework.data.domain.Sort getSortOrder(final StringBuffer nameSortDirection, final String orderBy) { + org.springframework.data.domain.Sort sortOrder; + if(nameSortDirection.toString().equals("ASC")) { + sortOrder = new org.springframework.data.domain.Sort(org.springframework.data.domain.Sort.Direction.DESC, orderBy); + nameSortDirection.delete(0, nameSortDirection.length()-1); + nameSortDirection.append("DESC"); + } else { + sortOrder = new org.springframework.data.domain.Sort(org.springframework.data.domain.Sort.Direction.ASC, orderBy); + nameSortDirection.delete(0, nameSortDirection.length()-1); + nameSortDirection.append("ASC"); + } + return sortOrder; } - + private void setUpTable(final Dialog dialog, final WebMarkupContainer tableContainer, final SupervisorDaoParams params) { - final StringBuffer definedSortOrder = new StringBuffer(); - definedSortOrder.append("user.firstName"); - final StringBuffer definedSortDirection = new StringBuffer(); - definedSortDirection.append("ASC"); - - + final StringBuffer nameSortDirection = new StringBuffer(); + nameSortDirection.append("ASC"); + final StringBuffer keywordsSortDirection = new StringBuffer(); + keywordsSortDirection.append("ASC"); final ListView<Employee> dataView = new ListView<Employee>("supervisorList", new LoadableDetachableModel<List<Employee>>() { private static final long serialVersionUID = -2395796971679213814L; @Override protected List<Employee> load() { - return supervisorService.findAllEmployees(new org.springframework.data.domain.Sort(definedSortOrder.toString())); + return supervisorService.findAllEmployees(new org.springframework.data.domain.Sort(org.springframework.data.domain.Sort.Direction.ASC, "user.lastName")); } }) { @@ -115,9 +108,7 @@ public class AdminSupervisorKeywordPanel extends Panel { public void onClick(AjaxRequestTarget target) { target.addComponent(dialog); dialog.replace(new SupervisorKeywordDetailsPanel("dialogContent", supervisor) { - private static final long serialVersionUID = -7272997720134543477L; - @Override public void onCloseButton(AjaxRequestTarget target) { dialog.close(target); @@ -137,17 +128,7 @@ public class AdminSupervisorKeywordPanel extends Panel { private static final long serialVersionUID = -6459164267551936706L; @Override public void onClick(AjaxRequestTarget target) { - org.springframework.data.domain.Sort sortOrder; - if(definedSortDirection.toString().equals("ASC")) { - sortOrder = new org.springframework.data.domain.Sort(org.springframework.data.domain.Sort.Direction.DESC, "user.lastName"); - definedSortDirection.delete(0, definedSortDirection.length()-1); - definedSortDirection.append("DESC"); - } else { - sortOrder = new org.springframework.data.domain.Sort(org.springframework.data.domain.Sort.Direction.ASC, "user.lastName"); - definedSortDirection.delete(0, definedSortDirection.length()-1); - definedSortDirection.append("ASC"); - } - dataView.setDefaultModelObject(supervisorService.findAllEmployees(sortOrder)); + dataView.setDefaultModelObject(supervisorService.findAllEmployees(getSortOrder(nameSortDirection,"user.lastName"))); target.addComponent(tableContainer); } }; @@ -159,11 +140,7 @@ public class AdminSupervisorKeywordPanel extends Panel { @Override public void onClick(AjaxRequestTarget target) { - if(params.getDirection().equals(Sort.ASCENDING)) { - params.setSortOn("keywords.size", Sort.DESCENDING); - } else { - params.setSortOn("keywords.size", Sort.ASCENDING); - } + dataView.setDefaultModelObject(supervisorService.findAllEmployees(getSortOrder(keywordsSortDirection,"keywords.getCollection().size"))); target.addComponent(tableContainer); } };