/* * 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.logic.odmExport; import javax.sql.DataSource; import org.akaza.openclinica.bean.extract.DatasetBean; import org.akaza.openclinica.bean.managestudy.StudyBean; import org.akaza.openclinica.bean.odmbeans.ODMBean; import org.akaza.openclinica.bean.odmbeans.OdmAdminDataBean; import org.akaza.openclinica.dao.extract.OdmExtractDAO; /** * A class for ODM AdminData of one study. * * @author ywang (March, 2010) */ public class AdminDataUnit extends OdmUnit { private OdmAdminDataBean odmAdminData; public AdminDataUnit() { } public AdminDataUnit(DataSource ds, StudyBean study, int category) { super(ds, study, category); this.odmAdminData = new OdmAdminDataBean(); } public AdminDataUnit(DataSource ds, DatasetBean dataset, ODMBean odmBean, StudyBean study, int category) { super(ds, dataset, odmBean, study, category); this.odmAdminData = new OdmAdminDataBean(); } public void collectOdmAdminData() { StudyBean study = studyBase.getStudy(); String studyOID = study.getOid(); if (studyOID == null || studyOID.length() <= 0) { logger.info("Constructed studyOID using study_id because oc_oid is missing from the table - study."); studyOID = "" + study.getId(); } odmAdminData.setStudyOID(studyOID); OdmExtractDAO oedao = new OdmExtractDAO(this.ds); if (this.getCategory() == 1 && study.isSite(study.getParentStudyId())) { String mvoid = ""; if (this.dataset != null && this.dataset.getId() > 0) { mvoid = this.dataset.getODMMetaDataVersionOid(); } if (mvoid.length() > 0) { mvoid += "-" + studyOID; } else { mvoid = "v1.0.0" + "-" + studyOID; } odmAdminData.setMetaDataVersionOID(mvoid); } else { odmAdminData.setMetaDataVersionOID(this.dataset.getODMMetaDataVersionOid()); if (odmAdminData.getMetaDataVersionOID() == null || odmAdminData.getMetaDataVersionOID().length() <= 0) { odmAdminData.setMetaDataVersionOID("v1.0.0"); } } oedao.getAdminData(study, this.dataset, odmAdminData, this.odmBean.getODMVersion()); } public OdmAdminDataBean getOdmAdminData() { return odmAdminData; } public void setOdmAdminData(OdmAdminDataBean odmAdminData) { this.odmAdminData = odmAdminData; } }