package edu.harvard.i2b2.crc.dao.setfinder; import java.util.List; import edu.harvard.i2b2.common.exception.I2B2DAOException; import edu.harvard.i2b2.common.exception.I2B2Exception; import edu.harvard.i2b2.crc.datavo.db.QtQueryMaster; import edu.harvard.i2b2.crc.datavo.i2b2message.SecurityType; import edu.harvard.i2b2.crc.datavo.setfinder.query.FindByChildType; import edu.harvard.i2b2.crc.datavo.setfinder.query.UserRequestType; public interface IQueryMasterDao { /** * Function to create query master By default sets delete flag to false * * @param queryMaster * @return query master id */ public String createQueryMaster(QtQueryMaster queryMaster, String i2b2RequestXml, String pmXml); /** * Write query sql for the master id * * @param masterId * @param generatedSql */ public void updateQueryAfterRun(String masterId, String generatedSql, String masterType); /** * Returns list of query master by user id * * @param userId * @return List<QtQueryMaster> */ @SuppressWarnings("unchecked") public List<QtQueryMaster> getQueryMasterByUserId(String userId, int fetchSize); /** * Returns list of query master by find search * * @param groupId * @return List<QtQueryMaster> * @throws I2B2Exception */ @SuppressWarnings("unchecked") public List<QtQueryMaster> getQueryMasterByNameInfo(SecurityType userRequestType, FindByChildType find) throws I2B2Exception; /** * Returns list of query master by group id * * @param groupId * @return List<QtQueryMaster> */ @SuppressWarnings("unchecked") public List<QtQueryMaster> getQueryMasterByGroupId(String groupId, int fetchSize); /** * Find Query master by id * * @param masterId * @return QtQueryMaster */ public QtQueryMaster getQueryDefinition(String masterId); /** * Find query by name * @param queryName * @return */ public List<QtQueryMaster> getQueryByName(String queryName); /** * Function to rename query master * * @param masterId * @param queryNewName * @throws I2B2DAOException */ public void renameQuery(String masterId, String queryNewName) throws I2B2DAOException; /** * Function to delete query using user and master id This function will not * delete permanently, it will set delete flag field in query master, query * instance and result instance to true * * @param masterId * @throws I2B2DAOException */ @SuppressWarnings("unchecked") public void deleteQuery(String masterId) throws I2B2DAOException; }