Browse Source

OK, you win, f**ing new lines in the end of each file...

master
Stanislav 11 years ago
parent
commit
5fb1b06d72
  1. 6
      src/main/java/ru/simsonic/rscPermissions/Backends/BackendMySQL.java
  2. 175
      src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPluginConfiguration.java
  3. 6
      src/main/java/ru/simsonic/rscPermissions/DataTypes/Destination.java
  4. 6
      src/main/java/ru/simsonic/rscPermissions/DataTypes/RowInheritance.java
  5. 6
      src/main/java/ru/simsonic/rscPermissions/InternalCache/BrandNewCache.java
  6. 4
      src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheFunctions.java
  7. 10
      src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheTree.java
  8. 5
      src/main/java/ru/simsonic/rscPermissions/Ladders.java
  9. 3
      src/main/java/ru/simsonic/rscPermissions/MainPluginClass.java
  10. 6
      src/main/java/ru/simsonic/rscPermissions/RegionUpdateObserver.java
  11. 169
      src/main/java/ru/simsonic/rscPermissions/Settings.java

6
src/main/java/ru/simsonic/rscPermissions/Backends/BackendMySQL.java

@ -13,7 +13,7 @@ import ru.simsonic.rscPermissions.DataTypes.RowLadder;
import ru.simsonic.rscPermissions.DataTypes.RowPermission;
import ru.simsonic.rscPermissions.InternalCache.LocalCacheData;
import ru.simsonic.rscPermissions.MainPluginClass;
import ru.simsonic.rscPermissions.Settings;
import ru.simsonic.rscPermissions.Bukkit.BukkitPluginConfiguration;
public class BackendMySQL extends ConnectionMySQL implements Backend
{
@ -202,7 +202,7 @@ public class BackendMySQL extends ConnectionMySQL implements Backend
row.climber = null;
row.climberType = EntityType.byValue(rs.getInt("climber_type"));
row.ladder = rs.getString("ladder");
String[] breaked = row.ladder.split(Settings.separatorRegExp);
String[] breaked = row.ladder.split(BukkitPluginConfiguration.separatorRegExp);
if(breaked.length == 2)
{
row.ladder = breaked[0];
@ -249,7 +249,7 @@ public class BackendMySQL extends ConnectionMySQL implements Backend
public synchronized void dropUserFromLadder(String user, String ladder)
{
String instance = "";
String[] breaked = ladder.split(Settings.separatorRegExp);
String[] breaked = ladder.split(BukkitPluginConfiguration.separatorRegExp);
if(breaked.length == 2)
{
ladder = breaked[0];

175
src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPluginConfiguration.java

@ -0,0 +1,175 @@
package ru.simsonic.rscPermissions.Bukkit;
import ru.simsonic.rscPermissions.Settings;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.bukkit.configuration.file.FileConfiguration;
import ru.simsonic.rscPermissions.ConnectionHelper;
import ru.simsonic.rscPermissions.MainPluginClass;
public class BukkitPluginConfiguration implements Settings
{
private final MainPluginClass plugin;
private String strDefaultGroup = "Default";
private String strMaintenanceMode = "";
private boolean bAlwaysInheritDefault = false;
private boolean bTreatAsteriskAsOP = true;
private boolean bUseMetrics = true;
private boolean bUseWorldGuard = true;
private boolean bUseResidence = true;
private int nAutoReloadDelayTicks = 20 * 900;
private int nRegionFinderGranularity = 1000;
public final int CurrentVersion = 3;
public static final String instantiator = "?";
public static final String separator = ".";
public static final String separatorRegExp = "\\.";
public BukkitPluginConfiguration(final MainPluginClass plugin)
{
this.plugin = plugin;
}
@Override
public void onLoad()
{
plugin.saveDefaultConfig();
final FileConfiguration config = plugin.getConfig();
switch(plugin.getConfig().getInt("internal.version", CurrentVersion))
{
case 1:
update_v1_to_v2(config);
MainPluginClass.consoleLog.info("[rscp] Configuration updated from v1 to v2.");
case 2:
update_v2_to_v3(config);
MainPluginClass.consoleLog.info("[rscp] Configuration updated from v2 to v3.");
case CurrentVersion: // Current version
plugin.saveConfig();
break;
}
}
private void update_v1_to_v2(FileConfiguration config)
{
config.set("settings.enable-bans", null);
config.set("settings.integration.worldguard", true);
config.set("settings.integration.residence", true);
config.set("internal.version", 2);
}
private void update_v2_to_v3(FileConfiguration config)
{
config.set("settings.enable-rewards", null);
config.set("settings.auto-update", null);
config.set("internal.version", 3);
}
@Override
public void readSettings()
{
plugin.reloadConfig();
final FileConfiguration config = plugin.getConfig();
strDefaultGroup = config.getString("settings.default-group", "Default");
strMaintenanceMode = config.getString("settings.maintenance-mode", "");
bAlwaysInheritDefault = config.getBoolean("always-inherit-default-group", false);
bTreatAsteriskAsOP = config.getBoolean("settings.treat-asterisk-as-op", true);
bUseMetrics = config.getBoolean("settings.use-metrics", true);
bUseWorldGuard = config.getBoolean("settings.integration.worldguard", true);
bUseResidence = config.getBoolean("settings.integration.residence", true);
nAutoReloadDelayTicks = config.getInt("settings.auto-reload-delay-sec", 900) * 20;
nRegionFinderGranularity = config.getInt("settings.region-finder-thread-granularity-msec", 1000);
}
@Override
public String getDefaultGroup()
{
return strDefaultGroup;
}
@Override
public boolean isInMaintenance()
{
return ! "".equals(strMaintenanceMode);
}
@Override
public String getMaintenanceMode()
{
return strMaintenanceMode;
}
@Override
public void setMaintenanceMode(String mode)
{
strMaintenanceMode = (mode == null) ? "" : mode;
plugin.getConfig().set("settings.maintenance-mode", strMaintenanceMode);
plugin.saveConfig();
}
@Override
public boolean isDefaultForever()
{
return bAlwaysInheritDefault;
}
@Override
public boolean isAsteriskOP()
{
return bTreatAsteriskAsOP;
}
@Override
public boolean isUseMetrics()
{
return bUseMetrics;
}
@Override
public boolean isUseWorldGuard()
{
return bUseWorldGuard;
}
@Override
public boolean isUseResidence()
{
return bUseResidence;
}
@Override
public int getAutoReloadDelayTicks()
{
return nAutoReloadDelayTicks;
}
@Override
public long getRegionFinderGranularity()
{
return nRegionFinderGranularity;
}
@Override
public ConnectionHelper getConnectionChain()
{
List<Map<?, ?>> configServers = plugin.getConfig().getMapList("servers");
List<HashMap<String, String>> serverlist = new ArrayList<>();
for(Iterator<Map<?, ?>> it = configServers.iterator(); it.hasNext();)
{
Map<String, String> server = (Map<String, String>)it.next();
HashMap<String, String> nodeinfo = new HashMap<>();
String nodename = (String)server.get("nodename");
String database = (String)server.get("database");
String username = (String)server.get("username");
String password = (String)server.get("password");
String prefixes = (String)server.get("prefixes");
String workmode = (String)server.get("workmode");
if(nodename != null && ! "".equals(nodename))
{
nodeinfo.put("nodename", nodename);
nodeinfo.put("database", (database != null) ? database : "localhost:3306/minecraft");
nodeinfo.put("username", (username != null) ? username : "user");
nodeinfo.put("password", (password != null) ? password : "pass");
nodeinfo.put("prefixes", (prefixes != null) ? prefixes : "rscp_");
nodeinfo.put("workmode", (workmode != null) ? workmode : "none");
serverlist.add(nodeinfo);
}
}
Collections.reverse(serverlist);
ConnectionHelper connPrev = null;
for(HashMap<String, String> server : serverlist)
{
ConnectionHelper conn = new ConnectionHelper(plugin, connPrev);
conn.Initialize(
server.get("nodename"), server.get("database"),
server.get("username"), server.get("password"),
server.get("workmode"), server.get("prefixes"));
connPrev = conn;
}
return connPrev;
}
}

6
src/main/java/ru/simsonic/rscPermissions/DataTypes/Destination.java

@ -5,7 +5,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.bukkit.Location;
import org.bukkit.World;
import ru.simsonic.rscPermissions.Settings;
import ru.simsonic.rscPermissions.Bukkit.BukkitPluginConfiguration;
import ru.simsonic.utilities.LanguageUtility;
public class Destination
@ -47,7 +47,7 @@ public class Destination
if(this.world == null || this.world.isEmpty() || "*".equals(this.world))
return true;
final String instantiated = (instantiator != null && !instantiator.isEmpty())
? this.world.replace(Settings.instantiator, instantiator)
? this.world.replace(BukkitPluginConfiguration.instantiator, instantiator)
: this.world;
return wildcardTesting(world.getName(), instantiated);
}
@ -56,7 +56,7 @@ public class Destination
if(this.region == null || "".equals(this.region) || "*".equals(this.region))
return true;
final String instantiated = (instantiator != null && !"".equals(instantiator))
? this.region.replace(Settings.instantiator, instantiator)
? this.region.replace(BukkitPluginConfiguration.instantiator, instantiator)
: this.region;
for(String regionId : regions)
if(wildcardTesting(regionId, instantiated))

6
src/main/java/ru/simsonic/rscPermissions/DataTypes/RowInheritance.java

@ -1,7 +1,7 @@
package ru.simsonic.rscPermissions.DataTypes;
import java.sql.Timestamp;
import java.util.Arrays;
import ru.simsonic.rscPermissions.Settings;
import ru.simsonic.rscPermissions.Bukkit.BukkitPluginConfiguration;
import ru.simsonic.utilities.LanguageUtility;
public class RowInheritance extends AbstractRow implements Comparable<RowInheritance>
@ -18,10 +18,10 @@ public class RowInheritance extends AbstractRow implements Comparable<RowInherit
{
if(parent != null)
{
final String[] splitted = parent.split(Settings.separatorRegExp);
final String[] splitted = parent.split(BukkitPluginConfiguration.separatorRegExp);
if(splitted.length > 1)
{
parent = LanguageUtility.glue(Arrays.copyOf(splitted, splitted.length - 1), Settings.separator);
parent = LanguageUtility.glue(Arrays.copyOf(splitted, splitted.length - 1), BukkitPluginConfiguration.separator);
instance = splitted[splitted.length - 1];
return;
}

6
src/main/java/ru/simsonic/rscPermissions/InternalCache/BrandNewCache.java

@ -12,7 +12,7 @@ import ru.simsonic.rscPermissions.DataTypes.RowInheritance;
import ru.simsonic.rscPermissions.DataTypes.RowLadder;
import ru.simsonic.rscPermissions.DataTypes.RowPermission;
import ru.simsonic.rscPermissions.MainPluginClass;
import ru.simsonic.rscPermissions.Settings;
import ru.simsonic.rscPermissions.Bukkit.BukkitPluginConfiguration;
public class BrandNewCache implements AbstractPermissionsCache
{
@ -199,8 +199,8 @@ public class BrandNewCache implements AbstractPermissionsCache
result.prefix = result.prefix.replace("%", result.prefix);
if(intermediate.suffix != null && !"".equals(intermediate.suffix))
result.suffix = result.suffix.replace("%", result.suffix);
result.prefix = result.prefix.replace(Settings.instantiator, instantiator);
result.suffix = result.suffix.replace(Settings.instantiator, instantiator);
result.prefix = result.prefix.replace(BukkitPluginConfiguration.instantiator, instantiator);
result.suffix = result.suffix.replace(BukkitPluginConfiguration.instantiator, instantiator);
// Permissions
permissions.addAll(Arrays.asList(intermediate.permissions));
}

4
src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheFunctions.java

@ -8,7 +8,7 @@ import ru.simsonic.rscPermissions.DataTypes.RowInheritance;
import ru.simsonic.rscPermissions.DataTypes.RowLadder;
import ru.simsonic.rscPermissions.DataTypes.RowPermission;
import ru.simsonic.rscPermissions.MainPluginClass;
import ru.simsonic.rscPermissions.Settings;
import ru.simsonic.rscPermissions.Bukkit.BukkitPluginConfiguration;
public class LocalCacheFunctions extends LocalCacheTree
{
@ -76,7 +76,7 @@ public class LocalCacheFunctions extends LocalCacheTree
return null;
final ArrayList<String> result = new ArrayList<>();
for(ResolutionLeaf leaf : tree)
result.add(leaf.instance != null ? leaf.group + Settings.separator + leaf.instance : leaf.group);
result.add(leaf.instance != null ? leaf.group + BukkitPluginConfiguration.separator + leaf.instance : leaf.group);
return result;
}
public synchronized Set<String> getAllPossibleGroups()

10
src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheTree.java

@ -11,7 +11,7 @@ import ru.simsonic.rscPermissions.DataTypes.RowInheritance;
import ru.simsonic.rscPermissions.DataTypes.RowLadder;
import ru.simsonic.rscPermissions.DataTypes.RowPermission;
import ru.simsonic.rscPermissions.MainPluginClass;
import ru.simsonic.rscPermissions.Settings;
import ru.simsonic.rscPermissions.Bukkit.BukkitPluginConfiguration;
import ru.simsonic.utilities.LanguageUtility;
public class LocalCacheTree extends LocalCacheData
@ -99,8 +99,8 @@ public class LocalCacheTree extends LocalCacheData
{
String permission = row.permission;
// Additional processing
if(permission.contains(Settings.instantiator) && (leaf.instance != null))
permission = permission.replace(Settings.instantiator, leaf.instance);
if(permission.contains(BukkitPluginConfiguration.instantiator) && (leaf.instance != null))
permission = permission.replace(BukkitPluginConfiguration.instantiator, leaf.instance);
permissions.put(permission, row.value);
}
RowEntity entity = entities_g.get(leaf.group.toLowerCase());
@ -110,8 +110,8 @@ public class LocalCacheTree extends LocalCacheData
prefix = entity.prefix.replace("%", prefix);
if(entity.suffix != null && !"".equals(entity.suffix))
suffix = entity.suffix.replace("%", suffix);
prefix = prefix.replace(Settings.instantiator, leaf.instance);
suffix = suffix.replace(Settings.instantiator, leaf.instance);
prefix = prefix.replace(BukkitPluginConfiguration.instantiator, leaf.instance);
suffix = suffix.replace(BukkitPluginConfiguration.instantiator, leaf.instance);
}
}
// User permissions

5
src/main/java/ru/simsonic/rscPermissions/Ladders.java

@ -1,4 +1,5 @@
package ru.simsonic.rscPermissions;
import ru.simsonic.rscPermissions.Bukkit.BukkitPluginConfiguration;
import java.util.ArrayList;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@ -28,7 +29,7 @@ public class Ladders
return new String[] { "Player must be online." };
String template = ladder;
String instance = "";
String[] breaked = ladder.split(Settings.separatorRegExp);
String[] breaked = ladder.split(BukkitPluginConfiguration.separatorRegExp);
if(breaked.length == 2)
{
template = breaked[0].toLowerCase();
@ -77,7 +78,7 @@ public class Ladders
if(position.prevNode != null)
position = position.prevNode;
if(position.instance != null)
if(Settings.instantiator.equals(position.instance))
if(BukkitPluginConfiguration.instantiator.equals(position.instance))
{
if("".equals(instance))
return new String[] { "Operation requires ladder instance (<template>.<instance>)." };

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

@ -1,4 +1,5 @@
package ru.simsonic.rscPermissions;
import ru.simsonic.rscPermissions.Bukkit.BukkitPluginConfiguration;
import ru.simsonic.rscPermissions.InternalCache.LocalCacheFunctions;
import ru.simsonic.rscPermissions.InternalCache.AsyncPlayerInfo;
import java.io.IOException;
@ -29,7 +30,7 @@ public final class MainPluginClass extends JavaPlugin implements Listener
{
private static final String chatPrefix = "{_YL}[rscp] {GOLD}";
public static final Logger consoleLog = Logger.getLogger("Minecraft");
public final Settings settings = new Settings(this);
public final Settings settings = new BukkitPluginConfiguration(this);
public final LocalCacheFunctions cache = new LocalCacheFunctions(this);
public final CommandHelper commandHelper = new CommandHelper(this);
public final MaintenanceMode maintenance = new MaintenanceMode(this);

6
src/main/java/ru/simsonic/rscPermissions/RegionUpdateObserver.java

@ -0,0 +1,6 @@
package ru.simsonic.rscPermissions;
public class RegionUpdateObserver
{
}

169
src/main/java/ru/simsonic/rscPermissions/Settings.java

@ -1,158 +1,19 @@
package ru.simsonic.rscPermissions;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.bukkit.configuration.file.FileConfiguration;
public class Settings
public interface Settings
{
private final MainPluginClass plugin;
private String strDefaultGroup = "Default";
private String strMaintenanceMode = "";
private boolean bAlwaysInheritDefault = false;
private boolean bTreatAsteriskAsOP = true;
private boolean bUseMetrics = true;
private boolean bUseWorldGuard = true;
private boolean bUseResidence = true;
private int nAutoReloadDelayTicks = 20 * 900;
private int nRegionFinderGranularity = 1000;
public final int CurrentVersion = 3;
public static final String instantiator = "?";
public static final String separator = ".";
public static final String separatorRegExp = "\\.";
public Settings(final MainPluginClass plugin)
{
this.plugin = plugin;
}
public void onLoad()
{
plugin.saveDefaultConfig();
final FileConfiguration config = plugin.getConfig();
switch(plugin.getConfig().getInt("internal.version", CurrentVersion))
{
case 1:
update_v1_to_v2(config);
MainPluginClass.consoleLog.info("[rscp] Configuration updated from v1 to v2.");
case 2:
update_v2_to_v3(config);
MainPluginClass.consoleLog.info("[rscp] Configuration updated from v2 to v3.");
case CurrentVersion: // Current version
plugin.saveConfig();
break;
}
}
private void update_v1_to_v2(FileConfiguration config)
{
config.set("settings.enable-bans", null);
config.set("settings.integration.worldguard", true);
config.set("settings.integration.residence", true);
config.set("internal.version", 2);
}
private void update_v2_to_v3(FileConfiguration config)
{
config.set("settings.enable-rewards", null);
config.set("settings.auto-update", null);
config.set("internal.version", 3);
}
public void readSettings()
{
plugin.reloadConfig();
final FileConfiguration config = plugin.getConfig();
strDefaultGroup = config.getString ("settings.default-group", "Default");
strMaintenanceMode = config.getString ("settings.maintenance-mode", "");
bAlwaysInheritDefault = config.getBoolean("always-inherit-default-group", false);
bTreatAsteriskAsOP = config.getBoolean("settings.treat-asterisk-as-op", true);
bUseMetrics = config.getBoolean("settings.use-metrics", true);
bUseWorldGuard = config.getBoolean("settings.integration.worldguard", true);
bUseResidence = config.getBoolean("settings.integration.residence", true);
nAutoReloadDelayTicks = config.getInt ("settings.auto-reload-delay-sec", 900) * 20;
nRegionFinderGranularity = config.getInt ("settings.region-finder-thread-granularity-msec", 1000);
}
public String getDefaultGroup()
{
return strDefaultGroup;
}
public boolean isInMaintenance()
{
return !"".equals(strMaintenanceMode);
}
public String getMaintenanceMode()
{
return strMaintenanceMode;
}
public void setMaintenanceMode(String mMode)
{
strMaintenanceMode = (mMode == null) ? "" : mMode;
plugin.getConfig().set("settings.maintenance-mode", strMaintenanceMode);
plugin.saveConfig();
}
public boolean isDefaultForever()
{
return bAlwaysInheritDefault;
}
public boolean isAsteriskOP()
{
return bTreatAsteriskAsOP;
}
public boolean isUseMetrics()
{
return bUseMetrics;
}
public boolean isUseWorldGuard()
{
return bUseWorldGuard;
}
public boolean isUseResidence()
{
return bUseResidence;
}
public int getAutoReloadDelayTicks()
{
return nAutoReloadDelayTicks;
}
public long getRegionFinderGranularity()
{
return nRegionFinderGranularity;
}
public ConnectionHelper getConnectionChain()
{
List<Map<?, ?>> configServers = plugin.getConfig().getMapList("servers");
List<HashMap<String, String>> serverlist = new ArrayList<>();
for(Iterator<Map<?, ?>> it = configServers.iterator(); it.hasNext();)
{
Map<String, String> server = (Map<String, String>) it.next();
HashMap<String, String> nodeinfo = new HashMap<>();
String nodename = (String) server.get("nodename");
String database = (String) server.get("database");
String username = (String) server.get("username");
String password = (String) server.get("password");
String prefixes = (String) server.get("prefixes");
String workmode = (String) server.get("workmode");
if(nodename != null && !"".equals(nodename))
{
nodeinfo.put("nodename", nodename);
nodeinfo.put("database", (database != null) ? database : "localhost:3306/minecraft");
nodeinfo.put("username", (username != null) ? username : "user");
nodeinfo.put("password", (password != null) ? password : "pass");
nodeinfo.put("prefixes", (prefixes != null) ? prefixes : "rscp_");
nodeinfo.put("workmode", (workmode != null) ? workmode : "none");
serverlist.add(nodeinfo);
}
}
Collections.reverse(serverlist);
ConnectionHelper connPrev = null;
for(HashMap<String, String> server : serverlist)
{
ConnectionHelper conn = new ConnectionHelper(plugin, connPrev);
conn.Initialize(
server.get("nodename"), server.get("database"),
server.get("username"), server.get("password"),
server.get("workmode"), server.get("prefixes"));
connPrev = conn;
}
return connPrev;
}
public void onLoad();
public void readSettings();
public String getDefaultGroup();
public boolean isDefaultForever();
public boolean isAsteriskOP();
public boolean isInMaintenance();
public String getMaintenanceMode();
public void setMaintenanceMode(String mode);
public boolean isUseResidence();
public boolean isUseWorldGuard();
public long getRegionFinderGranularity();
public ConnectionHelper getConnectionChain();
public int getAutoReloadDelayTicks();
public boolean isUseMetrics();
}
Loading…
Cancel
Save