/**
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific language governing rights and limitations under
* the License.
*
* The Original Code is OpenELIS code.
*
* Copyright (C) The Minnesota Department of Health. All Rights Reserved.
*/
package us.mn.state.health.lims.reports.valueholder.resultsreport;
import java.util.Comparator;
import us.mn.state.health.lims.common.util.StringUtil;
/**
* @author benzd1 bugzilla 2264
*
*/
public class ResultsReportTestComparator implements Comparable {
String name;
// You can put the default sorting capability here
public int compareTo(Object obj) {
ResultsReportTest test = (ResultsReportTest)obj;
return this.name.compareTo(test.getTestDescription());
}
public static final Comparator NAME_COMPARATOR =
new Comparator() {
public int compare(Object a, Object b) {
ResultsReportTest test_a = (ResultsReportTest)a;
ResultsReportTest test_b = (ResultsReportTest)b;
//bugzilla 2184: handle null sort value
String aValue = "";
if (test_a != null && test_a.getTestDescription() != null) {
aValue = test_a.getTestDescription();
}
String bValue = "";
if (test_b != null && test_b.getTestDescription() != null) {
bValue = test_b.getTestDescription();
}
return (aValue.toLowerCase().compareTo(bValue.toLowerCase()));
}
};
//bugzilla 1856
public static final Comparator SORT_ORDER_COMPARATOR =
new Comparator() {
public int compare(Object a, Object b) {
ResultsReportTest test_a = (ResultsReportTest)a;
ResultsReportTest test_b = (ResultsReportTest)b;
String aValue = test_a.getAnalysis().getTest().getSortOrder();
String bValue = test_b.getAnalysis().getTest().getSortOrder();
if (StringUtil.isNullorNill(aValue)) {
aValue = "0";
}
if (StringUtil.isNullorNill(bValue)) {
bValue = "0";
}
return (aValue.compareTo(bValue));
}
};
}