mirror of
https://github.com/AppleDash/SaneEconomy.git
synced 2024-09-27 14:12:58 +02:00
Better thread-safety on database backends.
This commit is contained in:
parent
f3bd331273
commit
eaca555fe4
@ -1,5 +1,5 @@
|
||||
group 'org.appledash'
|
||||
version '0.2.0-SNAPSHOT'
|
||||
version '0.2.1-SNAPSHOT'
|
||||
|
||||
apply plugin: 'java'
|
||||
|
||||
|
@ -63,12 +63,12 @@ public class EconomyStorageBackendFlatfile implements EconomyStorageBackend {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean accountExists(Player player) {
|
||||
public synchronized boolean accountExists(Player player) {
|
||||
return playerBalances.containsKey(player.getUniqueId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getBalance(Player player) {
|
||||
public synchronized double getBalance(Player player) {
|
||||
if (!playerBalances.containsKey(player.getUniqueId())) {
|
||||
return 0.0D;
|
||||
}
|
||||
@ -77,13 +77,13 @@ public class EconomyStorageBackendFlatfile implements EconomyStorageBackend {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBalance(Player player, double newBalance) {
|
||||
public synchronized void setBalance(Player player, double newBalance) {
|
||||
playerBalances.put(player.getUniqueId(), newBalance);
|
||||
saveDatabase();
|
||||
}
|
||||
|
||||
@Override
|
||||
public double addBalance(Player player, double amount) {
|
||||
public synchronized double addBalance(Player player, double amount) {
|
||||
double newAmount = getBalance(player) + amount;
|
||||
|
||||
setBalance(player, newAmount);
|
||||
@ -92,7 +92,7 @@ public class EconomyStorageBackendFlatfile implements EconomyStorageBackend {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double subtractBalance(Player player, double amount) {
|
||||
public synchronized double subtractBalance(Player player, double amount) {
|
||||
double newAmount = getBalance(player) - amount;
|
||||
|
||||
setBalance(player, newAmount);
|
||||
|
@ -56,12 +56,12 @@ public class EconomyStorageBackendMySQL implements EconomyStorageBackend {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean accountExists(Player player) {
|
||||
public synchronized boolean accountExists(Player player) {
|
||||
return accountExists(player, openConnection());
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getBalance(Player player) {
|
||||
public synchronized double getBalance(Player player) {
|
||||
Connection conn = openConnection();
|
||||
try {
|
||||
PreparedStatement statement = conn.prepareStatement("SELECT balance FROM `player_balances` WHERE `player_uuid` = ?");
|
||||
@ -84,7 +84,7 @@ public class EconomyStorageBackendMySQL implements EconomyStorageBackend {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBalance(Player player, double newBalance) {
|
||||
public synchronized void setBalance(Player player, double newBalance) {
|
||||
Connection conn = openConnection();
|
||||
ensureAccountExists(player, conn);
|
||||
try {
|
||||
@ -99,7 +99,7 @@ public class EconomyStorageBackendMySQL implements EconomyStorageBackend {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double addBalance(Player player, double amount) {
|
||||
public synchronized double addBalance(Player player, double amount) {
|
||||
// TODO: Optimize?
|
||||
double curBalance = getBalance(player);
|
||||
double newBalance = curBalance + amount;
|
||||
@ -110,7 +110,7 @@ public class EconomyStorageBackendMySQL implements EconomyStorageBackend {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double subtractBalance(Player player, double amount) {
|
||||
public synchronized double subtractBalance(Player player, double amount) {
|
||||
// TODO: Optimize?
|
||||
double curBalance = getBalance(player);
|
||||
double newBalance = curBalance - amount;
|
||||
|
@ -1,6 +1,6 @@
|
||||
name: SaneEconomy
|
||||
main: org.appledash.saneeconomy.SaneEconomy
|
||||
version: 0.2.0
|
||||
version: 0.2.1
|
||||
commands:
|
||||
balance:
|
||||
aliases: [bal]
|
||||
|
Loading…
Reference in New Issue
Block a user