package edu.harvard.i2b2.crc.loader.ejb; import edu.harvard.i2b2.common.exception.I2B2Exception; import edu.harvard.i2b2.crc.loader.dao.IUploaderDAOFactory; /** * Abstract loader classs. Individual dimension loader class should implement * load method. * * @author rk903 * */ public abstract class AbstractDimensionLoader { protected String inputLoadFile = null; protected String inputLoadFileFormat = null; protected String outputXmlFileName = null; protected String stagingTableName = null; protected String sourceSystemCd = null; protected String encounterSource = null; protected IUploaderDAOFactory uploaderDaoFactory = null; private int uploadId = 0; public void setStagingTableName(String stagingTableName) { this.stagingTableName = stagingTableName; } public String getStagingTableName() { return stagingTableName; } public String getOutputXmlFileName() { return outputXmlFileName; } public void setOutputXmlFileName(String outputXmlFileName) { this.outputXmlFileName = outputXmlFileName; } public int getUploadId() { return uploadId; } public void setUploadId(int uploadId) { this.uploadId = uploadId; } public String getInputLoadFile() { return inputLoadFile; } public void setInputLoadFile(String inputLoadFile) { this.inputLoadFile = inputLoadFile; } public String getInputLoadFileFormat() { return inputLoadFileFormat; } public void setInputLoadFileFormat(String inputLoadFileFormat) { this.inputLoadFileFormat = inputLoadFileFormat; } public String getSourceSystemCd() { return sourceSystemCd; } public void setSourceSystemCd(String sourceSystemCd) { this.sourceSystemCd = sourceSystemCd; } public String getEncounterSource() { return encounterSource; } public void setEncounterSource(String encounterSource) { this.encounterSource = encounterSource; } /** * Implement load method. The values needed for load are set thru instance * variable. * * @throws I2B2Exception */ public abstract void load() throws I2B2Exception; public abstract void setStartStatus(); public abstract void createTempTable() throws I2B2Exception; public abstract int loadTempTable() throws I2B2Exception; public abstract int mergeTempTable() throws I2B2Exception; // public abstract void backupAndClearTable() throws I2B2Exception; // public abstract int updateSetStatus(int totalRecords, int updatedRecords, // Exception exception) throws I2B2Exception; public IUploaderDAOFactory getUploaderDaoFactory() { return uploaderDaoFactory; } public void setUploaderDaoFactory(IUploaderDAOFactory uploaderDaoFactory) { this.uploaderDaoFactory = uploaderDaoFactory; } }