/* * 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 java.util.HashMap; 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.slf4j.Logger; import org.slf4j.LoggerFactory; /** * A base class for elements in ODM XML file * * @author ywang (May, 2009) */ public class OdmUnit { protected DataSource ds; protected DatasetBean dataset; protected OdmStudyBase studyBase; protected ODMBean odmBean; // contains all item_ids which have codelist with null value(s) protected static HashMap<String, String> nullValueMap = new HashMap<String, String>(); private String parentMetaDataVersionOid; private String parentOdmStudyOid; // ODM Study element OID // 0: one Study Element; 1: one parent study and its sites private int category; protected final Logger logger = LoggerFactory.getLogger(getClass().getName()); public OdmUnit() { } public OdmUnit(DataSource ds, StudyBean study, int category) { this.ds = ds; this.dataset = new DatasetBean(); this.studyBase = new OdmStudyBase(this.ds, study); this.odmBean = new ODMBean(); nullValueMap = initialNullValueMap(); parentMetaDataVersionOid = ""; parentOdmStudyOid = ""; this.category = category; } public OdmUnit(DataSource ds, DatasetBean dataset, ODMBean odmBean, StudyBean study, int category) { this.ds = ds; this.dataset = dataset.getId()>0 ? dataset : new DatasetBean(); this.studyBase = new OdmStudyBase(this.ds, study); this.odmBean = odmBean; nullValueMap = initialNullValueMap(); parentMetaDataVersionOid = ""; parentOdmStudyOid = ""; this.category = category; } private HashMap<String, String> initialNullValueMap() { HashMap<String, String> map = new HashMap<String, String>(); map.put("UNK", ".U"); map.put("NA", ".A"); map.put("NI", ".I"); map.put("NASK", ".K"); map.put("NAV", ".V"); map.put("PINF", ".P"); map.put("NINF", ".N"); map.put("MSK", ".M"); map.put("ASKU", ".S"); map.put("OTH", ".O"); map.put("NP", ".X"); map.put("NPE", ".E"); return map; } public DataSource getDataSource() { return ds; } public void setDataSource(DataSource ds) { this.ds = ds; } public DatasetBean getDataset() { return dataset; } public void setDataset(DatasetBean dataset) { this.dataset = dataset; } public ODMBean getOdmBean() { return odmBean; } public void setOdmBean(ODMBean odmBean) { this.odmBean = odmBean; } public static HashMap<String, String> getNullValueMap() { return nullValueMap; } public static void setNullValueMap(HashMap<String, String> nullValueMap) { OdmUnit.nullValueMap = nullValueMap; } public OdmStudyBase getStudyBase() { return studyBase; } public void setStudyBase(OdmStudyBase studyBase) { this.studyBase = studyBase; } public String getParentMetaDataVersionOid() { return parentMetaDataVersionOid; } public void setParentMetaDataVersionOid(String parentMetaDataVersionOid) { this.parentMetaDataVersionOid = parentMetaDataVersionOid; } public String getParentOdmStudyOid() { return parentOdmStudyOid; } public void setParentOdmStudyOid(String parentOdmStudyOid) { this.parentOdmStudyOid = parentOdmStudyOid; } public int getCategory() { return category; } public void setCategory(int category) { this.category = category; } }