diff options
author | Simon Rettberg | 2015-09-07 18:20:58 +0200 |
---|---|---|
committer | Simon Rettberg | 2015-09-07 18:20:58 +0200 |
commit | 2f140304dd193763b2aa9d509f972c6f23202e93 (patch) | |
tree | 8639a625543d78b35caccfe3dcdfa4740ba6d917 /src/main/java/org/openslx/imagemaster/db/MySQL.java | |
parent | Stuff (diff) | |
download | masterserver-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.java | 120 |
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 ); - } -} |