aboutsummaryrefslogtreecommitdiff
path: root/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/AbstractDao.java
diff options
context:
space:
mode:
Diffstat (limited to 'subsonic-main/src/main/java/net/sourceforge/subsonic/dao/AbstractDao.java')
-rw-r--r--subsonic-main/src/main/java/net/sourceforge/subsonic/dao/AbstractDao.java127
1 files changed, 0 insertions, 127 deletions
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/AbstractDao.java b/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/AbstractDao.java
deleted file mode 100644
index de17f4d4..00000000
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/AbstractDao.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- This file is part of Subsonic.
-
- Subsonic is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- Subsonic is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
-
- Copyright 2009 (C) Sindre Mehus
- */
-package net.sourceforge.subsonic.dao;
-
-import java.util.Date;
-import java.util.List;
-
-import org.springframework.jdbc.core.*;
-
-import net.sourceforge.subsonic.Logger;
-
-/**
- * Abstract superclass for all DAO's.
- *
- * @author Sindre Mehus
- */
-public class AbstractDao {
- private static final Logger LOG = Logger.getLogger(AbstractDao.class);
-
- private DaoHelper daoHelper;
-
- /**
- * Returns a JDBC template for performing database operations.
- * @return A JDBC template.
- */
- public JdbcTemplate getJdbcTemplate() {
- return daoHelper.getJdbcTemplate();
- }
-
- protected String questionMarks(String columns) {
- int count = columns.split(", ").length;
- StringBuilder builder = new StringBuilder();
- for (int i = 0; i < count; i++) {
- builder.append('?');
- if (i < count - 1) {
- builder.append(", ");
- }
- }
- return builder.toString();
- }
-
- protected String prefix(String columns, String prefix) {
- StringBuilder builder = new StringBuilder();
- for (String s : columns.split(", ")) {
- builder.append(prefix).append(".").append(s).append(",");
- }
- if (builder.length() > 0) {
- builder.setLength(builder.length() - 1);
- }
- return builder.toString();
- }
-
- protected int update(String sql, Object... args) {
- long t = System.nanoTime();
- int result = getJdbcTemplate().update(sql, args);
- log(sql, t);
- return result;
- }
-
- private void log(String sql, long startTimeNano) {
-// long micros = (System.nanoTime() - startTimeNano) / 1000L;
-// LOG.debug(micros + " " + sql);
- }
-
- protected <T> List<T> query(String sql, RowMapper rowMapper, Object... args) {
- long t = System.nanoTime();
- List<T> result = getJdbcTemplate().query(sql, args, rowMapper);
- log(sql, t);
- return result;
- }
-
- protected List<String> queryForStrings(String sql, Object... args) {
- long t = System.nanoTime();
- List<String> result = getJdbcTemplate().queryForList(sql, args, String.class);
- log(sql, t);
- return result;
- }
-
- protected Integer queryForInt(String sql, Integer defaultValue, Object... args) {
- long t = System.nanoTime();
- List<Integer> list = getJdbcTemplate().queryForList(sql, args, Integer.class);
- Integer result = list.isEmpty() ? defaultValue : list.get(0) == null ? defaultValue : list.get(0);
- log(sql, t);
- return result;
- }
-
- protected Date queryForDate(String sql, Date defaultValue, Object... args) {
- long t = System.nanoTime();
- List<Date> list = getJdbcTemplate().queryForList(sql, args, Date.class);
- Date result = list.isEmpty() ? defaultValue : list.get(0) == null ? defaultValue : list.get(0);
- log(sql, t);
- return result;
- }
-
- protected Long queryForLong(String sql, Long defaultValue, Object... args) {
- long t = System.nanoTime();
- List<Long> list = getJdbcTemplate().queryForList(sql, args, Long.class);
- Long result = list.isEmpty() ? defaultValue : list.get(0) == null ? defaultValue : list.get(0);
- log(sql, t);
- return result;
- }
-
- protected <T> T queryOne(String sql, RowMapper rowMapper, Object... args) {
- List<T> list = query(sql, rowMapper, args);
- return list.isEmpty() ? null : list.get(0);
- }
-
- public void setDaoHelper(DaoHelper daoHelper) {
- this.daoHelper = daoHelper;
- }
-}