Browse Source

Some fixes for restore 1.4.7 compatibility.

master
Stanislav Usenkov 9 years ago
parent
commit
8b83db5460
  1. 27
      src/main/java/ru/simsonic/rscPermissions/BridgeForBukkitAPI.java
  2. 13
      src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitRegionProviders.java
  3. 17
      src/main/java/ru/simsonic/rscPermissions/BukkitPluginMain.java
  4. 8
      src/main/java/ru/simsonic/rscPermissions/Engine/Backends/BackendDatabase.java
  5. 1
      src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseEditor.java
  6. 3
      src/main/java/ru/simsonic/rscPermissions/IndependentMain.java

27
src/main/java/ru/simsonic/rscPermissions/BridgeForBukkitAPI.java

@ -3,6 +3,7 @@ package ru.simsonic.rscPermissions;
import com.sk89q.wepif.PermissionsResolverManager; import com.sk89q.wepif.PermissionsResolverManager;
import net.milkbowl.vault.chat.Chat; import net.milkbowl.vault.chat.Chat;
import net.milkbowl.vault.permission.Permission; import net.milkbowl.vault.permission.Permission;
import org.bukkit.ChatColor;
import org.bukkit.command.ConsoleCommandSender; import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.plugin.Plugin; import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.ServicePriority; import org.bukkit.plugin.ServicePriority;
@ -63,9 +64,24 @@ public final class BridgeForBukkitAPI
{ {
return this.vaultChat; return this.vaultChat;
} }
private void setupVault() public void sendConsoleMessage(String message)
{ {
final ConsoleCommandSender console = rscp.getServer().getConsoleSender(); final ConsoleCommandSender console = rscp.getServer().getConsoleSender();
if(console == null)
{
// Decolorized chat prefix
final String dcp = ChatColor.stripColor(Settings.CHAT_PREFIX);
// Decolorize messages
message = ChatColor.stripColor(message);
// Strip prefix
if(message.startsWith(dcp))
message = message.substring(dcp.length());
BukkitPluginMain.consoleLog.info(message);
} else
console.sendMessage(Phrases.INTEGRATION_V_Y.toPlayer());
}
private void setupVault()
{
final Plugin plugin = rscp.getServer().getPluginManager().getPlugin("Vault"); final Plugin plugin = rscp.getServer().getPluginManager().getPlugin("Vault");
if(plugin != null) if(plugin != null)
{ {
@ -77,13 +93,12 @@ public final class BridgeForBukkitAPI
rscp.getServer().getServicesManager().register( rscp.getServer().getServicesManager().register(
net.milkbowl.vault.permission.Permission.class, vaultPermission, net.milkbowl.vault.permission.Permission.class, vaultPermission,
rscp, ServicePriority.Highest); rscp, ServicePriority.Highest);
console.sendMessage(Phrases.INTEGRATION_V_Y.toPlayer()); sendConsoleMessage(Phrases.INTEGRATION_V_Y.toPlayer());
} else } else
console.sendMessage(Phrases.INTEGRATION_V_N.toPlayer()); sendConsoleMessage(Phrases.INTEGRATION_V_N.toPlayer());
} }
private void setupWEPIF() private void setupWEPIF()
{ {
final ConsoleCommandSender console = rscp.getServer().getConsoleSender();
final Plugin plugin = rscp.getServer().getPluginManager().getPlugin("WorldEdit"); final Plugin plugin = rscp.getServer().getPluginManager().getPlugin("WorldEdit");
if(plugin != null) if(plugin != null)
{ {
@ -93,9 +108,9 @@ public final class BridgeForBukkitAPI
prm.setPluginPermissionsResolver(wepif); prm.setPluginPermissionsResolver(wepif);
else else
PermissionsResolverManager.initialize(wepif); PermissionsResolverManager.initialize(wepif);
console.sendMessage(Phrases.INTEGRATION_WE_Y.toPlayer()); sendConsoleMessage(Phrases.INTEGRATION_WE_Y.toPlayer());
} else } else
console.sendMessage(Phrases.INTEGRATION_WE_N.toPlayer()); sendConsoleMessage(Phrases.INTEGRATION_WE_N.toPlayer());
} }
public void printDebugString(String info) public void printDebugString(String info)
{ {

13
src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitRegionProviders.java

@ -23,16 +23,15 @@ public final class BukkitRegionProviders
private final BukkitPluginMain rscp; private final BukkitPluginMain rscp;
private Plugin worldguard; private Plugin worldguard;
private Plugin residence; private Plugin residence;
private final Map<Player, Set<String>> regionsByPlayer = new HashMap<>(); private final Map<Player, Set<String>> regionsByPlayer = new HashMap<>();
private final Map<Player, Integer> playerRegionHashes = new HashMap<>(); private final Map<Player, Integer> playerRegionHashes = new HashMap<>();
private final Map<Player, World> playerLastWorld = new HashMap<>(); private final Map<Player, World> playerLastWorld = new HashMap<>();
public BukkitRegionProviders(BukkitPluginMain rscp) public BukkitRegionProviders(BukkitPluginMain rscp)
{ {
this.rscp = rscp; this.rscp = rscp;
} }
public synchronized void integrate() public synchronized void integrate()
{ {
final ConsoleCommandSender console = rscp.getServer().getConsoleSender();
// WorldGuard // WorldGuard
if(rscp.settings.isUseWorldGuard()) if(rscp.settings.isUseWorldGuard())
{ {
@ -40,10 +39,10 @@ public final class BukkitRegionProviders
if(plugin != null && plugin instanceof WorldGuardPlugin) if(plugin != null && plugin instanceof WorldGuardPlugin)
{ {
this.worldguard = plugin; this.worldguard = plugin;
console.sendMessage(Phrases.INTEGRATION_WG_Y.toPlayer()); rscp.rscpAPIs.sendConsoleMessage(Phrases.INTEGRATION_WG_Y.toPlayer());
} else { } else {
this.worldguard = null; this.worldguard = null;
console.sendMessage(Phrases.INTEGRATION_WG_N.toPlayer()); rscp.rscpAPIs.sendConsoleMessage(Phrases.INTEGRATION_WG_N.toPlayer());
} }
} else } else
this.worldguard = null; this.worldguard = null;
@ -75,7 +74,7 @@ public final class BukkitRegionProviders
playerRegions.add(region.getId()); playerRegions.add(region.getId());
} catch(RuntimeException | IncompatibleClassChangeError ex) { } catch(RuntimeException | IncompatibleClassChangeError ex) {
worldguard = null; worldguard = null;
rscp.getServer().getConsoleSender().sendMessage(GenericChatCodes.processStringStatic("[rscp] " + Phrases.INTEGRATION_WG_OLD.toString())); rscp.rscpAPIs.sendConsoleMessage(Phrases.INTEGRATION_WG_OLD.toPlayer());
} }
// Is it changed? // Is it changed?
int hashcode = playerRegions.hashCode(); int hashcode = playerRegions.hashCode();

17
src/main/java/ru/simsonic/rscPermissions/BukkitPluginMain.java

@ -69,15 +69,6 @@ public final class BukkitPluginMain extends JavaPlugin
settings.isUsingAncestorPrefixes()); settings.isUsingAncestorPrefixes());
internalCache.setCurrentServerId(getServer().getServerId()); internalCache.setCurrentServerId(getServer().getServerId());
Phrases.applyTranslation(settings.getTranslationProvider()); Phrases.applyTranslation(settings.getTranslationProvider());
// Restore temporary cached data from json files
final DatabaseContents contents = localStorage.retrieveContents();
contents.filterServerId(getServer().getServerId()).filterLifetime();
internalCache.fill(contents);
final ConsoleCommandSender console = getServer().getConsoleSender();
console.sendMessage(Phrases.FETCHED_LOCAL_CACHE.toPlayer()
.replace("{:E}", String.valueOf(contents.entities.length))
.replace("{:P}", String.valueOf(contents.permissions.length))
.replace("{:I}", String.valueOf(contents.inheritance.length)));
// Integrate Metrics // Integrate Metrics
if(settings.isUseMetrics()) if(settings.isUseMetrics())
try try
@ -95,10 +86,18 @@ public final class BukkitPluginMain extends JavaPlugin
rscpAPIs.onEnable(); rscpAPIs.onEnable();
// WorldGuard, Residence and other possible region list providers // WorldGuard, Residence and other possible region list providers
regionProviders.integrate(); regionProviders.integrate();
// Restore temporary cached data from json files
final DatabaseContents contents = localStorage.retrieveContents();
contents.filterServerId(getServer().getServerId()).filterLifetime();
rscpAPIs.sendConsoleMessage(Phrases.FETCHED_LOCAL_CACHE.toPlayer()
.replace("{:E}", String.valueOf(contents.entities.length))
.replace("{:P}", String.valueOf(contents.permissions.length))
.replace("{:I}", String.valueOf(contents.inheritance.length)));
// Start all needed parallel threads as daemons // Start all needed parallel threads as daemons
permissionManager.startDeamon(); permissionManager.startDeamon();
regionObserver.startDeamon(); regionObserver.startDeamon();
// Connect to database and initiate data fetching // Connect to database and initiate data fetching
connection.setLogger(this.getLogger());
connection.initialize(settings.getConnectionParams()); connection.initialize(settings.getConnectionParams());
fetchNowAndReschedule(); fetchNowAndReschedule();
// Check for update and notify admins // Check for update and notify admins

8
src/main/java/ru/simsonic/rscPermissions/Engine/Backends/BackendDatabase.java

@ -5,7 +5,6 @@ import java.sql.SQLException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import ru.simsonic.rscCommonsLibrary.ConnectionMySQL; import ru.simsonic.rscCommonsLibrary.ConnectionMySQL;
import ru.simsonic.rscPermissions.API.EntityType; import ru.simsonic.rscPermissions.API.EntityType;
@ -15,8 +14,11 @@ import ru.simsonic.rscPermissions.API.RowPermission;
public class BackendDatabase extends ConnectionMySQL public class BackendDatabase extends ConnectionMySQL
{ {
private final Logger consoleLog; private Logger consoleLog;
public BackendDatabase(Logger logger) public BackendDatabase()
{
}
public void setLogger(Logger logger)
{ {
this.consoleLog = logger; this.consoleLog = logger;
} }

1
src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseEditor.java

@ -18,7 +18,6 @@ public class DatabaseEditor extends BackendDatabase
private final Map<String, RowInheritance> inheritance = new HashMap<>(); private final Map<String, RowInheritance> inheritance = new HashMap<>();
public DatabaseEditor(BukkitPluginMain rscp) public DatabaseEditor(BukkitPluginMain rscp)
{ {
super(rscp.getServer().getLogger());
this.plugin = rscp; this.plugin = rscp;
} }
@Override @Override

3
src/main/java/ru/simsonic/rscPermissions/IndependentMain.java

@ -2,7 +2,6 @@ package ru.simsonic.rscPermissions;
import java.io.File; import java.io.File;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger;
import ru.simsonic.rscPermissions.Engine.Backends.BackendDatabase; import ru.simsonic.rscPermissions.Engine.Backends.BackendDatabase;
import ru.simsonic.rscPermissions.Engine.Backends.BackendJson; import ru.simsonic.rscPermissions.Engine.Backends.BackendJson;
import ru.simsonic.rscPermissions.Engine.Backends.DatabaseContents; import ru.simsonic.rscPermissions.Engine.Backends.DatabaseContents;
@ -12,7 +11,7 @@ import ru.simsonic.rscPermissions.Engine.ResolutionResult;
public class IndependentMain public class IndependentMain
{ {
private static final BackendJson localJsn = new BackendJson(new File("../")); private static final BackendJson localJsn = new BackendJson(new File("../"));
private static final BackendDatabase database = new BackendDatabase(Logger.getGlobal()); private static final BackendDatabase database = new BackendDatabase();
private static final InternalCache intCache = new InternalCache(); private static final InternalCache intCache = new InternalCache();
@SuppressWarnings({"DeadBranch", "UnusedAssignment"}) @SuppressWarnings({"DeadBranch", "UnusedAssignment"})
public static void main(String args[]) public static void main(String args[])

Loading…
Cancel
Save