|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectsoc.server.database.SOCDBHelper
This code assumes that you're using mySQL as your database. It uses a database created with the following commands: CREATE DATABASE socdata; USE socdata; CREATE TABLE users (nickname VARCHAR(20), host VARCHAR(50), password VARCHAR(20), email VARCHAR(50), lastlogin DATE); CREATE TABLE logins (nickname VARCHAR(20), host VARCHAR(50), lastlogin DATE); CREATE TABLE games (gamename VARCHAR(20), player1 VARCHAR(20), player2 VARCHAR(20), player3 VARCHAR(20), player4 VARCHAR(20), score1 TINYINT, score2 TINYINT, score3 TINYINT, score4 TINYINT, starttime TIMESTAMP); CREATE TABLE robotparams (robotname VARCHAR(20), maxgamelength INT, maxeta INT, etabonusfactor FLOAT, adversarialfactor FLOAT, leaderadversarialfactor FLOAT, devcardmultiplier FLOAT, threatmultiplier FLOAT, strategytype INT, starttime TIMESTAMP, endtime TIMESTAMP, gameswon INT, gameslost INT, tradeFlag BOOL);
| Field Summary | |
private static java.sql.Connection |
connection
|
private static java.lang.String |
CREATE_ACCOUNT_COMMAND
|
private static java.sql.PreparedStatement |
createAccountCommand
|
private static boolean |
errorCondition
This flag indicates that the connection should be valid, yet the last operation failed. |
private static java.lang.String |
HOST_QUERY
|
private static java.sql.PreparedStatement |
hostQuery
|
private static java.lang.String |
LASTLOGIN_UPDATE
|
private static java.sql.PreparedStatement |
lastloginUpdate
|
private static java.lang.String |
password
Cached password used when reconnecting on error |
private static java.lang.String |
RECORD_LOGIN_COMMAND
|
private static java.sql.PreparedStatement |
recordLoginCommand
|
private static java.lang.String |
ROBOT_PARAMS_QUERY
|
private static java.sql.PreparedStatement |
robotParamsQuery
|
private static java.lang.String |
SAVE_GAME_COMMAND
|
private static java.sql.PreparedStatement |
saveGameCommand
|
private static java.lang.String |
USER_PASSWORD_QUERY
|
private static java.lang.String |
userName
Cached username used when reconnecting on error |
private static java.sql.PreparedStatement |
userPasswordQuery
|
| Constructor Summary | |
SOCDBHelper()
|
|
| Method Summary | |
private static boolean |
checkConnection()
Checks if connection is supposed to be present and attempts to reconnect if there was previously an error. |
static void |
cleanup()
DOCUMENT ME! |
private static boolean |
connect(java.lang.String user,
java.lang.String pswd)
initialize and checkConnection use this to get ready. |
static boolean |
createAccount(java.lang.String userName,
java.lang.String host,
java.lang.String password,
java.lang.String email,
long time)
DOCUMENT ME! |
private static void |
dispResultSet(java.sql.ResultSet rs)
|
static java.lang.String |
getUserFromHost(java.lang.String host)
DOCUMENT ME! |
static java.lang.String |
getUserPassword(java.lang.String sUserName)
DOCUMENT ME! |
static void |
initialize(java.lang.String user,
java.lang.String pswd)
This makes a connection to the database and initializes the prepared statements. |
static boolean |
recordLogin(java.lang.String userName,
java.lang.String host,
long time)
DOCUMENT ME! |
static SOCRobotParameters |
retrieveRobotParams(java.lang.String robotName)
DOCUMENT ME! |
static boolean |
saveGameScores(java.lang.String gameName,
java.lang.String player1,
java.lang.String player2,
java.lang.String player3,
java.lang.String player4,
short score1,
short score2,
short score3,
short score4,
java.util.Date startTime)
DOCUMENT ME! |
static boolean |
updateLastlogin(java.lang.String userName,
long time)
DOCUMENT ME! |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
private static java.sql.Connection connection
private static boolean errorCondition
private static java.lang.String userName
private static java.lang.String password
private static java.lang.String CREATE_ACCOUNT_COMMAND
private static java.lang.String RECORD_LOGIN_COMMAND
private static java.lang.String USER_PASSWORD_QUERY
private static java.lang.String HOST_QUERY
private static java.lang.String LASTLOGIN_UPDATE
private static java.lang.String SAVE_GAME_COMMAND
private static java.lang.String ROBOT_PARAMS_QUERY
private static java.sql.PreparedStatement createAccountCommand
private static java.sql.PreparedStatement recordLoginCommand
private static java.sql.PreparedStatement userPasswordQuery
private static java.sql.PreparedStatement hostQuery
private static java.sql.PreparedStatement lastloginUpdate
private static java.sql.PreparedStatement saveGameCommand
private static java.sql.PreparedStatement robotParamsQuery
| Constructor Detail |
public SOCDBHelper()
| Method Detail |
public static void initialize(java.lang.String user,
java.lang.String pswd)
throws java.sql.SQLException
user - the user name for accessing the databasepswd - the password for the user
java.sql.SQLException - if an SQL command fails, or the db couldn't be
initialied
private static boolean checkConnection()
throws java.sql.SQLException
java.sql.SQLException
private static boolean connect(java.lang.String user,
java.lang.String pswd)
throws java.sql.SQLException
java.sql.SQLException
public static java.lang.String getUserPassword(java.lang.String sUserName)
throws java.sql.SQLException
sUserName - DOCUMENT ME!
java.sql.SQLException - DOCUMENT ME!
public static java.lang.String getUserFromHost(java.lang.String host)
throws java.sql.SQLException
host - DOCUMENT ME!
java.sql.SQLException - DOCUMENT ME!
public static boolean createAccount(java.lang.String userName,
java.lang.String host,
java.lang.String password,
java.lang.String email,
long time)
throws java.sql.SQLException
userName - DOCUMENT ME!host - DOCUMENT ME!password - DOCUMENT ME!email - DOCUMENT ME!time - DOCUMENT ME!
java.sql.SQLException - DOCUMENT ME!
public static boolean recordLogin(java.lang.String userName,
java.lang.String host,
long time)
throws java.sql.SQLException
userName - DOCUMENT ME!host - DOCUMENT ME!time - DOCUMENT ME!
java.sql.SQLException - DOCUMENT ME!
public static boolean updateLastlogin(java.lang.String userName,
long time)
throws java.sql.SQLException
userName - DOCUMENT ME!time - DOCUMENT ME!
java.sql.SQLException - DOCUMENT ME!
public static boolean saveGameScores(java.lang.String gameName,
java.lang.String player1,
java.lang.String player2,
java.lang.String player3,
java.lang.String player4,
short score1,
short score2,
short score3,
short score4,
java.util.Date startTime)
throws java.sql.SQLException
gameName - DOCUMENT ME!player1 - DOCUMENT ME!player2 - DOCUMENT ME!player3 - DOCUMENT ME!player4 - DOCUMENT ME!score1 - DOCUMENT ME!score2 - DOCUMENT ME!score3 - DOCUMENT ME!score4 - DOCUMENT ME!startTime - DOCUMENT ME!
java.sql.SQLException - DOCUMENT ME!
public static SOCRobotParameters retrieveRobotParams(java.lang.String robotName)
throws java.sql.SQLException
robotName - DOCUMENT ME!
java.sql.SQLException - DOCUMENT ME!
public static void cleanup()
throws java.sql.SQLException
java.sql.SQLException
private static void dispResultSet(java.sql.ResultSet rs)
throws java.sql.SQLException
java.sql.SQLException
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||