/* * 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.DisplayStudyBean; import java.util.ArrayList; /** * A class for displaying study object in show table class * * @author Jun Xu */ public class DisplayStudyRow extends EntityBeanRow { // columns: public static final int COL_NAME = 0; public static final int COL_UNIQUEIDENTIFIER = 1; public static final int COL_OID = 2; public static final int COL_PRINCIPAL_INVESTIGATOR = 3; public static final int COL_FACILITY_NAME = 4; public static final int COL_DATE_CREATED = 5; public static final int COL_STATUS = 6; /* * (non-Javadoc) * * @see * org.akaza.openclinica.core.EntityBeanRow#compareColumn(java.lang.Object, * int) */ @Override protected int compareColumn(Object row, int sortingColumn) { if (!row.getClass().equals(DisplayStudyRow.class)) { return 0; } DisplayStudyBean thisStudy = (DisplayStudyBean) bean; DisplayStudyBean argStudy = (DisplayStudyBean) ((DisplayStudyRow) row).bean; int answer = 0; switch (sortingColumn) { case COL_NAME: answer = thisStudy.getParent().getName().toLowerCase().compareTo(argStudy.getParent().getName().toLowerCase()); break; case COL_OID: answer = thisStudy.getParent().getOid().toLowerCase().compareTo(argStudy.getParent().getOid().toLowerCase()); break; case COL_UNIQUEIDENTIFIER: answer = thisStudy.getParent().getIdentifier().toLowerCase().compareTo(argStudy.getParent().getIdentifier().toLowerCase()); break; case COL_PRINCIPAL_INVESTIGATOR: answer = thisStudy.getParent().getPrincipalInvestigator().toLowerCase().compareTo(argStudy.getParent().getPrincipalInvestigator().toLowerCase()); break; case COL_FACILITY_NAME: answer = thisStudy.getParent().getFacilityName().toLowerCase().compareTo(argStudy.getParent().getFacilityName().toLowerCase()); break; case COL_DATE_CREATED: answer = compareDate(thisStudy.getParent().getCreatedDate(), argStudy.getParent().getCreatedDate()); break; case COL_STATUS: answer = thisStudy.getParent().getStatus().compareTo(argStudy.getParent().getStatus()); break; } return answer; } @Override public String getSearchString() { DisplayStudyBean thisStudy = (DisplayStudyBean) bean; return thisStudy.getParent().getName() + " " + thisStudy.getParent().getIdentifier() + " " + thisStudy.getParent().getPrincipalInvestigator() + " " + thisStudy.getParent().getFacilityName() + " " + thisStudy.getParent().getOid() + " " + thisStudy.getParent().getKeywords().replace(',', ' ') + " " + thisStudy.getParent().getSummary(); } /* * (non-Javadoc) * * @see * org.akaza.openclinica.core.EntityBeanRow#generatRowsFromBeans(java.util * .ArrayList) */ @Override public ArrayList generatRowsFromBeans(ArrayList beans) { return DisplayStudyRow.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 { DisplayStudyRow row = new DisplayStudyRow(); row.setBean((DisplayStudyBean) beans.get(i)); answer.add(row); } catch (Exception e) { } } return answer; } }