/*
* 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.web.bean;
import org.akaza.openclinica.bean.extract.DatasetBean;
import org.akaza.openclinica.i18n.util.ResourceBundleProvider;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
/**
* @author thickerson
*
*
*/
public class DatasetRow extends EntityBeanRow {
public static final int COL_DATASETNAME = 0;
public static final int COL_DATASETDESC = 1;
public static final int COL_DATASETOWNER = 2;
public static final int COL_DATASETCREATEDDATE = 3;
public static final int COL_STATUS = 4;
public SimpleDateFormat sdf = new SimpleDateFormat(ResourceBundleProvider.getFormatBundle().getString("date_format_string"));
// TODO l10n dates, tbh
@Override
protected int compareColumn(Object row, int sortingColumn) {
if (!row.getClass().equals(DatasetRow.class)) {
return 0;
}
DatasetBean thisAccount = (DatasetBean) bean;
DatasetBean argAccount = (DatasetBean) ((DatasetRow) row).bean;
int answer = 0;
switch (sortingColumn) {
case COL_DATASETNAME:
answer = thisAccount.getName().toLowerCase().compareTo(argAccount.getName().toLowerCase());
break;
case COL_DATASETDESC:
answer = thisAccount.getDescription().toLowerCase().compareTo(argAccount.getDescription().toLowerCase());
break;
case COL_DATASETOWNER:
answer = thisAccount.getOwner().getName().toLowerCase().compareTo(argAccount.getOwner().getName().toLowerCase());
break;
case COL_STATUS:
answer = thisAccount.getStatus().compareTo(argAccount.getStatus());
break;
case COL_DATASETCREATEDDATE:
answer = thisAccount.getCreatedDate().compareTo(argAccount.getCreatedDate());
break;
}
return answer;
}
@Override
public String getSearchString() {
DatasetBean thisAccount = (DatasetBean) bean;
return thisAccount.getName() + " " + thisAccount.getDescription() + " " + thisAccount.getOwner().getName() + " "
+ sdf.format(thisAccount.getCreatedDate());
}
public static ArrayList generateRowsFromBeans(ArrayList beans) {
ArrayList answer = new ArrayList();
Class[] parameters = null;
Object[] arguments = null;
for (int i = 0; i < beans.size(); i++) {
try {
DatasetRow row = new DatasetRow();
row.setBean((DatasetBean) beans.get(i));
answer.add(row);
} catch (Exception e) {
}
}
return answer;
}
public static ArrayList generateRowFromBean(DatasetBean db) {
ArrayList answer = new ArrayList();
DatasetRow row = new DatasetRow();
row.setBean(db);
answer.add(row);
return answer;
}
@Override
public ArrayList generatRowsFromBeans(ArrayList beans) {
return DatasetRow.generateRowsFromBeans(beans);
}
}