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();
|
_repository.initialize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
public NautHashMap<String, String> getEntries()
|
public NautHashMap<String, String> getEntries()
|
||||||
{
|
{
|
||||||
synchronized (_transferLock)
|
synchronized (_transferLock)
|
||||||
{
|
{
|
||||||
return _entries;
|
return _entries;
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void storeStatsUpdate(final UpdateEvent updateEvent)
|
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 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 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 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 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;
|
private Connection _connection = null;
|
||||||
|
|
||||||
@ -127,8 +128,10 @@ public class SimpleStatsRepository
|
|||||||
{
|
{
|
||||||
_connection = DriverManager.getConnection(_connectionString, _userName, _password);
|
_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();
|
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