From 01fbda81babd5bc875d14a52b09cb024c76e4659 Mon Sep 17 00:00:00 2001 From: Peter Miller Date: Wed, 11 Jun 2014 02:35:44 -0400 Subject: [PATCH 1/2] More suggested improvements; commented out getEntries method for now. --- .../core/simpleStats/SimpleStats.java | 21 +++++- .../simpleStats/SimpleStatsRepository.java | 71 +++++++++++++++++-- 2 files changed, 87 insertions(+), 5 deletions(-) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/simpleStats/SimpleStats.java b/Plugins/Mineplex.Core/src/mineplex/core/simpleStats/SimpleStats.java index fd1719fad..d676cbc24 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/simpleStats/SimpleStats.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/simpleStats/SimpleStats.java @@ -23,13 +23,14 @@ public class SimpleStats extends MiniPlugin _repository.initialize(); } + /* public NautHashMap getEntries() { synchronized (_transferLock) { return _entries; } - } + }*/ @EventHandler public void storeStatsUpdate(final UpdateEvent updateEvent) @@ -65,4 +66,22 @@ public class SimpleStats extends MiniPlugin } }); } + + public NautHashMap getStat(String statName) + { + final String statNameFinal = statName; + + Bukkit.getScheduler().runTaskAsynchronously(GetPlugin(), new Runnable() + { + public void run() + { + synchronized (_transferLock) + { + _entries = _repository.retrieveStat(statNameFinal); + } + } + }); + + return _entries; + } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/simpleStats/SimpleStatsRepository.java b/Plugins/Mineplex.Core/src/mineplex/core/simpleStats/SimpleStatsRepository.java index 9040c014c..bcc091054 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/simpleStats/SimpleStatsRepository.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/simpleStats/SimpleStatsRepository.java @@ -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; @@ -127,8 +128,10 @@ 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 retrieveStat(String statName) + { + ResultSet resultSet = null; + PreparedStatement preparedStatement = null; + NautHashMap statRecords = new NautHashMap(); + + 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; + } } From be8fea8ca9cdd66c153c361f13ad3d0a290a7539 Mon Sep 17 00:00:00 2001 From: Jonathan Williams Date: Thu, 12 Jun 2014 08:02:47 -0700 Subject: [PATCH 2/2] Changed Chat API key. Fixed PreferenceManager not saving asynchronously. --- Plugins/Mineplex.Core/src/mineplex/core/chat/Chat.java | 2 +- .../mineplex/core/preferences/PreferencesManager.java | 10 ++++++++-- .../mineplex/hub/gadget/gadgets/MorphPumpkinKing.java | 2 +- .../src/nautilus/game/arcade/Arcade.java | 9 --------- 4 files changed, 10 insertions(+), 13 deletions(-) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/chat/Chat.java b/Plugins/Mineplex.Core/src/mineplex/core/chat/Chat.java index a85a90b73..2fc50f4a6 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/chat/Chat.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/chat/Chat.java @@ -50,7 +50,7 @@ public class Chat extends MiniPlugin private PreferencesManager _preferences; private String _filterUrl = "https://mp9wbhy6.pottymouthfilter.com/v1/"; - private String _apiKey = "38SMwIOeymi8V3r2MVtJ"; + private String _apiKey = "oUywMpwZcIzZO5AWnfDx"; private String _authName = ""; private String _serverName; diff --git a/Plugins/Mineplex.Core/src/mineplex/core/preferences/PreferencesManager.java b/Plugins/Mineplex.Core/src/mineplex/core/preferences/PreferencesManager.java index bd7a5d5fc..e8a219c49 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/preferences/PreferencesManager.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/preferences/PreferencesManager.java @@ -80,7 +80,7 @@ public class PreferencesManager extends MiniClientPlugin if (event.getType() != UpdateType.SLOW) return; - NautHashMap bufferCopy = new NautHashMap(); + final NautHashMap bufferCopy = new NautHashMap(); for (Entry entry : _saveBuffer.entrySet()) { @@ -89,7 +89,13 @@ public class PreferencesManager extends MiniClientPlugin _saveBuffer.clear(); - _repository.saveUserPreferences(bufferCopy); + GetPlugin().getServer().getScheduler().runTaskAsynchronously(GetPlugin(), new Runnable() + { + public void run() + { + _repository.saveUserPreferences(bufferCopy); + } + }); } @EventHandler diff --git a/Plugins/Mineplex.Hub/src/mineplex/hub/gadget/gadgets/MorphPumpkinKing.java b/Plugins/Mineplex.Hub/src/mineplex/hub/gadget/gadgets/MorphPumpkinKing.java index b10492439..9d279845d 100644 --- a/Plugins/Mineplex.Hub/src/mineplex/hub/gadget/gadgets/MorphPumpkinKing.java +++ b/Plugins/Mineplex.Hub/src/mineplex/hub/gadget/gadgets/MorphPumpkinKing.java @@ -14,7 +14,7 @@ public class MorphPumpkinKing extends MorphGadget { public MorphPumpkinKing(GadgetManager manager) { - super(manager, "Pumpkin Kings Head", new String[] + super(manager, "Pumpkin Kings Head", new String[] { C.cWhite + "Transforms the wearer into", C.cWhite + "the dreaded Pumpkin King!", diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/Arcade.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/Arcade.java index f31b1849f..02f6069f8 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/Arcade.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/Arcade.java @@ -77,13 +77,8 @@ public class Arcade extends JavaPlugin implements INautilusPlugin _donationManager = new DonationManager(this, GetWebServerAddress()); -<<<<<<< HEAD - PreferencesManager preferences = new PreferencesManager(this, _clientManager, _donationManager); - new MessageManager(this, _clientManager, preferences); -======= PreferencesManager preferenceManager = new PreferencesManager(this, _clientManager, _donationManager); new MessageManager(this, _clientManager, preferenceManager); ->>>>>>> 0bf702902e17516316ac3453297110af4cfdec5f AntiStack antistack = new AntiStack(this); @@ -103,11 +98,7 @@ public class Arcade extends JavaPlugin implements INautilusPlugin AntiHack.Initialize(this, punish, portal); //Arcade Manager -<<<<<<< HEAD - _gameManager = new ArcadeManager(this, serverStatusManager, ReadServerConfig(), _clientManager, _donationManager, _damageManager, disguiseManager, creature, teleport, new Blood(this), antistack, portal, packetHandler, preferences, GetWebServerAddress()); -======= _gameManager = new ArcadeManager(this, serverStatusManager, ReadServerConfig(), _clientManager, _donationManager, _damageManager, disguiseManager, creature, teleport, new Blood(this), antistack, portal, packetHandler, preferenceManager, GetWebServerAddress()); ->>>>>>> 0bf702902e17516316ac3453297110af4cfdec5f new MemoryFix(this);