aboutsummaryrefslogtreecommitdiff
path: root/subsonic-backend/src/main/java/net/sourceforge/subsonic/backend/dao/DaoHelper.java
diff options
context:
space:
mode:
authorScott Jackson <daneren2005@gmail.com>2013-07-27 14:33:25 -0700
committerScott Jackson <daneren2005@gmail.com>2013-07-27 14:33:38 -0700
commit4738428c2c205f42200386ae09b44b9ec07b9144 (patch)
treea6402978fe1b4655f90c3c8a181f4d246fbc5e89 /subsonic-backend/src/main/java/net/sourceforge/subsonic/backend/dao/DaoHelper.java
parent82ec8315f777c319f2372540098e21111019d629 (diff)
downloaddsub-4738428c2c205f42200386ae09b44b9ec07b9144.tar.gz
dsub-4738428c2c205f42200386ae09b44b9ec07b9144.tar.bz2
dsub-4738428c2c205f42200386ae09b44b9ec07b9144.zip
Move subsonic-android to root
Diffstat (limited to 'subsonic-backend/src/main/java/net/sourceforge/subsonic/backend/dao/DaoHelper.java')
-rw-r--r--subsonic-backend/src/main/java/net/sourceforge/subsonic/backend/dao/DaoHelper.java84
1 files changed, 0 insertions, 84 deletions
diff --git a/subsonic-backend/src/main/java/net/sourceforge/subsonic/backend/dao/DaoHelper.java b/subsonic-backend/src/main/java/net/sourceforge/subsonic/backend/dao/DaoHelper.java
deleted file mode 100644
index 2f5911f9..00000000
--- a/subsonic-backend/src/main/java/net/sourceforge/subsonic/backend/dao/DaoHelper.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package net.sourceforge.subsonic.backend.dao;
-
-import net.sourceforge.subsonic.backend.dao.schema.Schema;
-import net.sourceforge.subsonic.backend.dao.schema.Schema10;
-import net.sourceforge.subsonic.backend.dao.schema.Schema20;
-import net.sourceforge.subsonic.backend.Util;
-import org.apache.log4j.Logger;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.datasource.DriverManagerDataSource;
-
-import javax.sql.DataSource;
-import java.io.File;
-
-/**
- * DAO helper class which creates the data source, and updates the database schema.
- *
- * @author Sindre Mehus
- */
-public class DaoHelper {
-
- private static final Logger LOG = Logger.getLogger(DaoHelper.class);
-
- private Schema[] schemas = {new Schema10(), new Schema20()};
- private DataSource dataSource;
- private static boolean shutdownHookAdded;
-
- public DaoHelper() {
- dataSource = createDataSource();
- checkDatabase();
- addShutdownHook();
- }
-
- private void addShutdownHook() {
- if (shutdownHookAdded) {
- return;
- }
- shutdownHookAdded = true;
- Runtime.getRuntime().addShutdownHook(new Thread() {
- @Override
- public void run() {
- System.err.println("Shutting down database.");
- try {
- getJdbcTemplate().execute("shutdown");
- System.err.println("Done.");
- } catch (Throwable x) {
- System.err.println("Failed to shut down database.");
- x.printStackTrace();
- }
- }
- });
- }
-
- /**
- * Returns a JDBC template for performing database operations.
- *
- * @return A JDBC template.
- */
- public JdbcTemplate getJdbcTemplate() {
- return new JdbcTemplate(dataSource);
- }
-
- private DataSource createDataSource() {
- File home = Util.getBackendHome();
- DriverManagerDataSource ds = new DriverManagerDataSource();
- ds.setDriverClassName("org.hsqldb.jdbcDriver");
- ds.setUrl("jdbc:hsqldb:file:" + home.getPath() + "/db/subsonic-backend");
- ds.setUsername("sa");
- ds.setPassword("");
-
- return ds;
- }
-
- private void checkDatabase() {
- LOG.info("Checking database schema.");
- try {
- for (Schema schema : schemas) {
- schema.execute(getJdbcTemplate());
- }
- LOG.info("Done checking database schema.");
- } catch (Exception x) {
- LOG.error("Failed to initialize database.", x);
- }
- }
-}