/*
* 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.admin.AuditEventBean;
import java.util.ArrayList;
/**
* @author thickerson
*
*/
public class AuditEventRow extends EntityBeanRow {
public static final int AUDIT_DATE = 0;
public static final int AUDIT_ACTION = 1;
public static final int AUDIT_ENTITY = 2;
// public static final int AUDIT_STUDY = 3;
// TODO MAKE CUSTOMIZED ROWS FOR EACH ONE, TBH
// this one will be for user, and therefore not have the user
// column, tbh
public static final int AUDIT_STUDY_NAME = 3;
public static final int AUDIT_SUBJECT_NAME = 4;
public static final int AUDIT_CHANGES = 5;
public static final int AUDIT_OTHER_INFO = 6;
@Override
protected int compareColumn(Object row, int sortingColumn) {
if (!row.getClass().equals(AuditEventRow.class)) {
return 0;
}
AuditEventBean thisBean = (AuditEventBean) bean;
AuditEventBean argBean = (AuditEventBean) ((AuditEventRow) row).bean;
int answer = 0;
switch (sortingColumn) {
case AUDIT_DATE:
answer = // thisBean.getAuditDate().compareTo(argBean.getAuditDate());
compareDate(thisBean.getAuditDate(), argBean.getAuditDate());
break;
case AUDIT_ACTION:
answer = thisBean.getReasonForChange().toLowerCase().compareTo(argBean.getReasonForChange().toLowerCase());
break;
case AUDIT_ENTITY:
answer = thisBean.getAuditTable().toLowerCase().compareTo(argBean.getAuditTable().toLowerCase());
break;
case AUDIT_STUDY_NAME:
answer = new Integer(thisBean.getStudyName()).compareTo(new Integer(argBean.getStudyName()));
break;
case AUDIT_SUBJECT_NAME:
answer = new Integer(thisBean.getSubjectName()).compareTo(new Integer(argBean.getSubjectName()));
break;
case AUDIT_CHANGES:
// LEAVE THIS BLANK?
// answer = thisCRF.getUpdater().getName().toLowerCase().compareTo(
// argCRF.getUpdater().getName().toLowerCase());
break;
case AUDIT_OTHER_INFO:
// LEAVE THIS BLANK?
// answer = thisCRF.getStatus().compareTo(argCRF.getStatus());
break;
}
return answer;
}
@Override
public String getSearchString() {
AuditEventBean thisBean = (AuditEventBean) bean;
return thisBean.getAuditTable() + " " + thisBean.getEntityId();// ?
}
@Override
public ArrayList generatRowsFromBeans(ArrayList beans) {
return AuditEventRow.generateRowsFromBeans(beans);
}
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 {
AuditEventRow row = new AuditEventRow();
row.setBean((AuditEventBean) beans.get(i));
answer.add(row);
} catch (Exception e) {
}
}
return answer;
}
}