summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/db/MySQL.java
diff options
context:
space:
mode:
authorSimon Rettberg2015-09-07 18:20:58 +0200
committerSimon Rettberg2015-09-07 18:20:58 +0200
commit2f140304dd193763b2aa9d509f972c6f23202e93 (patch)
tree8639a625543d78b35caccfe3dcdfa4740ba6d917 /src/main/java/org/openslx/imagemaster/db/MySQL.java
parentStuff (diff)
downloadmasterserver-2f140304dd193763b2aa9d509f972c6f23202e93.tar.gz
masterserver-2f140304dd193763b2aa9d509f972c6f23202e93.tar.xz
masterserver-2f140304dd193763b2aa9d509f972c6f23202e93.zip
Start adapting to new DB/Thrift model
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/db/MySQL.java')
-rw-r--r--src/main/java/org/openslx/imagemaster/db/MySQL.java120
1 files changed, 0 insertions, 120 deletions
diff --git a/src/main/java/org/openslx/imagemaster/db/MySQL.java b/src/main/java/org/openslx/imagemaster/db/MySQL.java
deleted file mode 100644
index 9443879..0000000
--- a/src/main/java/org/openslx/imagemaster/db/MySQL.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package org.openslx.imagemaster.db;
-
-import java.io.FileInputStream;
-import java.io.BufferedInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.List;
-import java.util.Properties;
-
-import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
-
-import org.apache.log4j.Logger;
-import org.openslx.imagemaster.util.Util;
-
-import fi.evident.dalesbred.Database;
-
-/**
- * Class for talking to the DB via the dalesbred jdbc wrapper. Package private,
- * so only the Db* classes can actually communicate with the database.
- *
- */
-class MySQL
-{
-
- private static final Logger log = Logger.getLogger( MySQL.class );
- private static Database db = null;
-
- /**
- * Static initializer for setting up the database connection.
- * This gets called implicitly as soon as the class loader loads
- * the class. In most cases that happens when the class is being
- * accessed for the first time during run time.
- */
- static
- {
- // Load connection info from class (TODO: Make pretty)
- Properties properties = new Properties();
- try {
- final BufferedInputStream stream = new BufferedInputStream( new FileInputStream( "config/mysql.properties" ) );
- properties.load( stream );
- stream.close();
- } catch ( FileNotFoundException e ) {
- log.fatal( "config/mysql.properties not found!" );
- System.exit( 1 );
- } catch ( IOException e ) {
- log.fatal( "Error reading from config/mysql.properties: " + e.getMessage() );
- System.exit( 1 );
- } catch ( Exception e ) {
- log.fatal( "Generic error loading mysql properties file." );
- e.printStackTrace();
- System.exit( 1 );
- }
- final String host = properties.getProperty( "host" );
- final String dbname = properties.getProperty( "db" );
- final String user = properties.getProperty( "user" );
- final String password = properties.getProperty( "password" );
-
- Util.notNullFatal( host, "host not set in mysql properties" );
- Util.notNullFatal( dbname, "db not set in mysql properties" );
- Util.notNullFatal( user, "user not set in mysql properties" );
- Util.notNullFatal( password, "password not set in mysql properties" );
-
- // Setup db connection
- try {
- MysqlDataSource ds = new MysqlDataSource();
- ds.setServerName( host );
- ds.setDatabaseName( dbname );
- ds.setUser( user );
- ds.setPassword( password );
- ds.setEncoding( "UTF-8" );
- db = Database.forDataSource( ds );
- } catch ( Exception e ) {
- log.fatal( "Error initializing mysql data source!" );
- e.printStackTrace();
- System.exit( 1 );
- }
- }
-
- /**
- * Get a list of objects of the given class from the database.
- * The class needs a matching constructor for the query you pass in, i.e. number of
- * arguments has to be equal to number of columns returned by query.
- *
- * @param clazz The class to instanciate for the result(s)
- * @param sql The sql query to run
- * @param args Any number of arguments to the query (using the '?' placeholder)
- * @return A list containing the rows returned by the query, represented by the given class
- */
- protected static <T> List<T> findAll( final Class<T> clazz, final String sql, final Object... args )
- {
- return db.findAll( clazz, sql, args );
- }
-
- /**
- * Run a query on the database that will return at most one result.
- * If the query returns a row, it will be used to instanciate the given class. If
- * it doesn't return a row, null will be returned.
- *
- * @param clazz The class to instanciate for the result (if any)
- * @param sql The sql query to run
- * @param args Any number of arguments to the query (using the '?' placeholder)
- * @return Instance of clazz or null
- */
- protected static <T> T findUniqueOrNull( final Class<T> clazz, final String sql, final Object... args )
- {
- return db.findUniqueOrNull( clazz, sql, args );
- }
-
- /**
- * Run an update on the database, return number of rows affected.
- *
- * @param sql The update/insert query to run
- * @param args Any number of arguments to the query (using the '?' placeholder)
- * @return Number of rows affected by query
- */
- protected static int update( String sql, Object... args )
- {
- return db.update( sql, args );
- }
-}