More suggested improvements; commented out getEntries method for now.
This commit is contained in:
parent
7bdaaa8ae0
commit
01fbda81ba
@ -23,13 +23,14 @@ public class SimpleStats extends MiniPlugin
|
||||
_repository.initialize();
|
||||
}
|
||||
|
||||
/*
|
||||
public NautHashMap<String, String> getEntries()
|
||||
{
|
||||
synchronized (_transferLock)
|
||||
{
|
||||
return _entries;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
@EventHandler
|
||||
public void storeStatsUpdate(final UpdateEvent updateEvent)
|
||||
@ -65,4 +66,22 @@ public class SimpleStats extends MiniPlugin
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public NautHashMap<String, String> getStat(String statName)
|
||||
{
|
||||
final String statNameFinal = statName;
|
||||
|
||||
Bukkit.getScheduler().runTaskAsynchronously(GetPlugin(), new Runnable()
|
||||
{
|
||||
public void run()
|
||||
{
|
||||
synchronized (_transferLock)
|
||||
{
|
||||
_entries = _repository.retrieveStat(statNameFinal);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return _entries;
|
||||
}
|
||||
}
|
||||
|
@ -17,8 +17,9 @@ public class SimpleStatsRepository
|
||||
private String _password = "tAbechAk3wR7tuTh"; //try to obfuscate this in the future!
|
||||
|
||||
private static String CREATE_STATS_TABLE = "CREATE TABLE IF NOT EXISTS simpleStats (id INT NOT NULL AUTO_INCREMENT, statName VARCHAR(64), statValue VARCHAR(64), PRIMARY KEY (id));";
|
||||
private static String RETRIEVE_STATS_RECORDS = "SELECT statName.*, statValue.* FROM simpleStats;";
|
||||
private static String STORE_STATS_RECORD = "INSERT INTO simpleStats (statName,statValue) VALUES(";
|
||||
private static String RETRIEVE_STATS_RECORDS = "SELECT simpleStats.statName, simpleStats.statValue FROM simpleStats;";
|
||||
private static String STORE_STATS_RECORD = "INSERT INTO simpleStats (statName,statValue) VALUES(?,?);";
|
||||
private static String RETRIEVE_STAT_RECORD = "SELECT simpleStats.statName, simpleStats.statValue FROM simpleStats WHERE statName = '?';";
|
||||
|
||||
private Connection _connection = null;
|
||||
|
||||
@ -128,7 +129,9 @@ public class SimpleStatsRepository
|
||||
_connection = DriverManager.getConnection(_connectionString, _userName, _password);
|
||||
}
|
||||
|
||||
preparedStatement = _connection.prepareStatement(STORE_STATS_RECORD + statName + "," + statValue + ");");
|
||||
preparedStatement = _connection.prepareStatement(STORE_STATS_RECORD);
|
||||
preparedStatement.setString(1, statName);
|
||||
preparedStatement.setString(2, statValue);
|
||||
|
||||
preparedStatement.executeUpdate();
|
||||
}
|
||||
@ -152,4 +155,64 @@ public class SimpleStatsRepository
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public NautHashMap<String, String> retrieveStat(String statName)
|
||||
{
|
||||
ResultSet resultSet = null;
|
||||
PreparedStatement preparedStatement = null;
|
||||
NautHashMap<String, String> statRecords = new NautHashMap<String, String>();
|
||||
|
||||
try
|
||||
{
|
||||
synchronized (_connectionLock)
|
||||
{
|
||||
if (_connection.isClosed())
|
||||
{
|
||||
_connection = DriverManager.getConnection(_connectionString, _userName, _password);
|
||||
}
|
||||
|
||||
preparedStatement = _connection.prepareStatement(RETRIEVE_STAT_RECORD);
|
||||
preparedStatement.setString(1, statName);
|
||||
|
||||
resultSet = preparedStatement.executeQuery();
|
||||
|
||||
while (resultSet.next())
|
||||
{
|
||||
statRecords.put(resultSet.getString(1), resultSet.getString(2));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
exception.printStackTrace();
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (preparedStatement != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
preparedStatement.close();
|
||||
}
|
||||
catch (SQLException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
if (resultSet != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
resultSet.close();
|
||||
}
|
||||
catch (SQLException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return statRecords;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user