/*
* OpenClinica is distributed under the
* GNU Lesser General Public License (GNU LGPL).
* For details see: http://www.openclinica.org/license
* copyright 2003-2005 Akaza Research
*/
package org.akaza.openclinica.service.managestudy;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.akaza.openclinica.core.util.Pair;
import org.jmesa.limit.Sort;
import org.jmesa.limit.SortSet;
/**
* @author Doug Rodrigues (douglas.rodrigues@openclinica.com)
*
*/
public class ViewNotesSortCriteria {
private static final Map<String, String> SORT_BY_TABLE_COLUMN = new HashMap<String, String>();
static {
SORT_BY_TABLE_COLUMN.put("studySubject.label", "label");
SORT_BY_TABLE_COLUMN.put("discrepancyNoteBean.createdDate", "date_created");
SORT_BY_TABLE_COLUMN.put("days", "days");
SORT_BY_TABLE_COLUMN.put("age", "age");
}
private final Map<String, String> sorters = new HashMap<String, String>();
public static ViewNotesSortCriteria buildFilterCriteria(List<Pair<String,String>> sorts) {
ViewNotesSortCriteria criteria = new ViewNotesSortCriteria();
for (Pair<String,String> p: sorts) {
String
sortField = SORT_BY_TABLE_COLUMN.get(p.getFirst()),
sortOrder = p.getSecond();
if (sortField != null) {
criteria.getSorters().put(sortField, sortOrder);
}
}
return criteria;
}
public static ViewNotesSortCriteria buildFilterCriteria(SortSet sortSet) {
ViewNotesSortCriteria criteria = new ViewNotesSortCriteria();
for (Sort sort : sortSet.getSorts()) {
String sortField = SORT_BY_TABLE_COLUMN.get(sort.getProperty());
criteria.getSorters().put(sortField, sort.getOrder().name());
}
return criteria;
}
public Map<String, String> getSorters() {
return sorters;
}
}