@Override
	public AdminTbl getTableForUrl(String urlNm) {
		log.debug("get table for url name = " + urlNm);
		Connection conn = null;
		PreparedStatement statement = null;
		ResultSet rs = null;
		AdminTbl tbl = new AdminTbl();
		
		StringBuilder sql = new StringBuilder();
		sql.append(" select tbl_nm, tbl_type, dspl_nm, short_desc, view_ind, view_nm, lang_ind, lang_col_nm, sort_ind, url_nm, surrogate_key_nm");
		sql.append(", instr_add, instr_edit, instr_del");
		sql.append(" from admin_tbl");
		sql.append(" where url_nm = ?");
		
		try {
			conn = DataSource.getInstance().getConnection();
			statement = conn.prepareStatement(sql.toString());
			statement.setString(1, urlNm);
			log.debug(sql.toString());
			rs = statement.executeQuery();
			
			if (rs.next()) {
				tbl.setTblNm(rs.getString("tbl_nm"));
				tbl.setTblType(rs.getString("tbl_type"));
				tbl.setDsplNm(rs.getString("dspl_nm"));
				tbl.setShortDesc(rs.getString("short_desc"));
				tbl.setViewInd(rs.getString("view_ind"));
				tbl.setViewNm(rs.getString("view_nm"));
				tbl.setLangInd(rs.getString("lang_ind"));
				tbl.setLangColNm(rs.getString("lang_col_nm"));
				tbl.setSortInd(rs.getString("sort_ind"));
				tbl.setUrlNm(rs.getString("url_nm"));
				tbl.setSurrogateKeyNm(rs.getString("surrogate_key_nm"));
				tbl.setInstrAdd(rs.getString("instr_add"));
				tbl.setInstrEdit(rs.getString("instr_edit"));
				tbl.setInstrDel(rs.getString("instr_del"));
			}
			
		} catch (Exception e) {
			log.error("failed to get table for url name = " + urlNm, e);
		} finally {
			if (rs != null) {
				try { rs.close(); } catch (Exception e) {}
			}
			
			if (statement != null) {
				try { statement.close(); } catch (Exception e) {}
			}
			
			if (conn != null) {
				try { conn.close(); } catch (Exception e) {}
			}
		}
		
		return tbl;
	}