/* * Copyright (c) 2006-2007 Massachusetts General Hospital * All rights reserved. This program and the accompanying materials * are made available under the terms of the i2b2 Software License v1.0 * which accompanies this distribution. * * Contributors: * Rajesh Kuttan */ package edu.harvard.i2b2.crc.dao.setfinder; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import javax.sql.DataSource; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import edu.harvard.i2b2.crc.dao.CRCDAO; import edu.harvard.i2b2.crc.datavo.db.DataSourceLookup; import edu.harvard.i2b2.crc.datavo.db.QtQueryMaster; import edu.harvard.i2b2.crc.datavo.db.QtQueryResultType; /** * Class to manager persistance operation of QtQueryMaster $Id: * QueryResultTypeSpringDao.java,v 1.4 2008/05/07 21:38:56 rk903 Exp $ * * @author rkuttan * @see QtQueryMaster */ public class QueryResultTypeSpringDao extends CRCDAO implements IQueryResultTypeDao { JdbcTemplate jdbcTemplate = null; QtResultTypeRowMapper queryResultTypeMapper = new QtResultTypeRowMapper(); private DataSourceLookup dataSourceLookup = null; public QueryResultTypeSpringDao(DataSource dataSource, DataSourceLookup dataSourceLookup) { setDataSource(dataSource); setDbSchemaName(dataSourceLookup.getFullSchema()); jdbcTemplate = new JdbcTemplate(dataSource); this.dataSourceLookup = dataSourceLookup; } /** * Returns list of query master by user id * * @param userId * @return List<QtQueryMaster> */ @SuppressWarnings("unchecked") public QtQueryResultType getQueryResultTypeById(int resultTypeId) { String sql = "select * from " + getDbSchemaName() + "qt_query_result_type where result_type_id = ?"; QtQueryResultType queryResultType = (QtQueryResultType) jdbcTemplate .queryForObject(sql, new Object[] { resultTypeId }, queryResultTypeMapper); return queryResultType; } /** * Returns list of query master by user id * * @param userId * @return List<QtQueryMaster> */ @SuppressWarnings("unchecked") public List<QtQueryResultType> getQueryResultTypeByName(String resultName) { String sql = "select * from " + getDbSchemaName() + "qt_query_result_type where name = ?"; List<QtQueryResultType> queryResultType = jdbcTemplate.query(sql, new Object[] { resultName.toUpperCase() }, queryResultTypeMapper); return queryResultType; } @SuppressWarnings("unchecked") public List<QtQueryResultType> getAllQueryResultType() { String sql = "select * from " + getDbSchemaName() + "qt_query_result_type order by result_type_id"; List<QtQueryResultType> queryResultTypeList = jdbcTemplate.query(sql, queryResultTypeMapper); return queryResultTypeList; } private static class QtResultTypeRowMapper implements RowMapper { public Object mapRow(ResultSet rs, int rowNum) throws SQLException { QtQueryResultType queryResultType = new QtQueryResultType(); queryResultType.setResultTypeId(rs.getInt("RESULT_TYPE_ID")); queryResultType.setName(rs.getString("NAME")); queryResultType.setDescription(rs.getString("DESCRIPTION")); queryResultType.setDisplayType(rs.getString("DISPLAY_TYPE_ID")); queryResultType.setVisualAttributeType(rs .getString("VISUAL_ATTRIBUTE_TYPE_ID")); return queryResultType; } } }