Remove old schema migration code, cleanup a bit

This commit is contained in:
Luck
2018-02-16 13:19:43 +00:00
Unverified
parent 0b5588a7dd
commit 765f9d2545
38 changed files with 582 additions and 1549 deletions
@@ -29,7 +29,7 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder;
import me.lucko.luckperms.common.plugin.SchedulerAdapter;
import me.lucko.luckperms.common.plugin.SchedulerTask;
import me.lucko.luckperms.common.utils.SafeIterator;
import me.lucko.luckperms.common.utils.SafeIteration;
import org.bukkit.scheduler.BukkitScheduler;
import org.bukkit.scheduler.BukkitTask;
@@ -105,7 +105,7 @@ public class BukkitSchedulerAdapter implements SchedulerAdapter {
@Override
public void shutdown() {
SafeIterator.iterate(this.tasks, SchedulerTask::cancel);
SafeIteration.iterate(this.tasks, SchedulerTask::cancel);
// wait for executor
this.asyncFallback.shutdown();
@@ -46,7 +46,7 @@ import me.lucko.luckperms.common.model.User;
import me.lucko.luckperms.common.node.NodeFactory;
import me.lucko.luckperms.common.plugin.LuckPermsPlugin;
import me.lucko.luckperms.common.utils.Predicates;
import me.lucko.luckperms.common.utils.SafeIterator;
import me.lucko.luckperms.common.utils.SafeIteration;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.YamlConfiguration;
@@ -124,14 +124,14 @@ public class MigrationBPermissions extends SubCommand<Object> {
// Migrate one world at a time.
log.log("Starting world migration.");
SafeIterator.iterate(worldManager.getAllWorlds(), world -> {
SafeIteration.iterate(worldManager.getAllWorlds(), world -> {
log.log("Migrating world: " + world.getName());
// Migrate all groups
log.log("Starting group migration in world " + world.getName() + ".");
AtomicInteger groupCount = new AtomicInteger(0);
SafeIterator.iterate(world.getAll(CalculableType.GROUP), group -> {
SafeIteration.iterate(world.getAll(CalculableType.GROUP), group -> {
String groupName = MigrationUtils.standardizeName(group.getName());
if (group.getName().equalsIgnoreCase(world.getDefaultGroup())) {
groupName = NodeFactory.DEFAULT_GROUP_NAME;
@@ -153,7 +153,7 @@ public class MigrationBPermissions extends SubCommand<Object> {
// Migrate all users
log.log("Starting user migration in world " + world.getName() + ".");
AtomicInteger userCount = new AtomicInteger(0);
SafeIterator.iterate(world.getAll(CalculableType.USER), user -> {
SafeIteration.iterate(world.getAll(CalculableType.USER), user -> {
// There is no mention of UUIDs in the API. I assume that name = uuid. idk?
UUID uuid = BukkitMigrationUtils.lookupUuid(log, user.getName());
if (uuid == null) {
@@ -41,7 +41,7 @@ import me.lucko.luckperms.common.model.User;
import me.lucko.luckperms.common.node.NodeFactory;
import me.lucko.luckperms.common.plugin.LuckPermsPlugin;
import me.lucko.luckperms.common.utils.Predicates;
import me.lucko.luckperms.common.utils.SafeIterator;
import me.lucko.luckperms.common.utils.SafeIteration;
import org.anjocaido.groupmanager.GlobalGroups;
import org.anjocaido.groupmanager.GroupManager;
@@ -93,7 +93,7 @@ public class MigrationGroupManager extends SubCommand<Object> {
GlobalGroups gg = GroupManager.getGlobalGroups();
AtomicInteger globalGroupCount = new AtomicInteger(0);
SafeIterator.iterate(gg.getGroupList(), g -> {
SafeIteration.iterate(gg.getGroupList(), g -> {
String groupName = MigrationUtils.standardizeName(g.getName());
Group group = plugin.getStorage().createAndLoadGroup(groupName, CreationCause.INTERNAL).join();
@@ -120,13 +120,13 @@ public class MigrationGroupManager extends SubCommand<Object> {
// Collect data for all users and groups.
log.log("Collecting user and group data.");
SafeIterator.iterate(worlds, String::toLowerCase, world -> {
SafeIteration.iterate(worlds, String::toLowerCase, world -> {
log.log("Querying world " + world);
WorldDataHolder wdh = wh.getWorldData(world);
AtomicInteger groupWorldCount = new AtomicInteger(0);
SafeIterator.iterate(wdh.getGroupList(), group -> {
SafeIteration.iterate(wdh.getGroupList(), group -> {
String groupName = MigrationUtils.standardizeName(group.getName());
groups.putIfAbsent(groupName, new HashSet<>());
@@ -160,7 +160,7 @@ public class MigrationGroupManager extends SubCommand<Object> {
log.log("Migrated " + groupWorldCount.get() + " groups in world " + world);
AtomicInteger userWorldCount = new AtomicInteger(0);
SafeIterator.iterate(wdh.getUserList(), user -> {
SafeIteration.iterate(wdh.getUserList(), user -> {
UUID uuid = BukkitMigrationUtils.lookupUuid(log, user.getUUID());
if (uuid == null) {
return;
@@ -210,7 +210,7 @@ public class MigrationGroupManager extends SubCommand<Object> {
log.log("Starting group migration.");
AtomicInteger groupCount = new AtomicInteger(0);
SafeIterator.iterate(groups.entrySet(), e -> {
SafeIteration.iterate(groups.entrySet(), e -> {
Group group = plugin.getStorage().createAndLoadGroup(e.getKey(), CreationCause.INTERNAL).join();
for (Node node : e.getValue()) {
@@ -224,7 +224,7 @@ public class MigrationGroupManager extends SubCommand<Object> {
log.log("Starting user migration.");
AtomicInteger userCount = new AtomicInteger(0);
SafeIterator.iterate(users.entrySet(), e -> {
SafeIteration.iterate(users.entrySet(), e -> {
User user = plugin.getStorage().loadUser(e.getKey(), null).join();
for (Node node : e.getValue()) {
@@ -42,7 +42,7 @@ import me.lucko.luckperms.common.model.User;
import me.lucko.luckperms.common.node.NodeFactory;
import me.lucko.luckperms.common.plugin.LuckPermsPlugin;
import me.lucko.luckperms.common.utils.Predicates;
import me.lucko.luckperms.common.utils.SafeIterator;
import me.lucko.luckperms.common.utils.SafeIteration;
import org.bukkit.Bukkit;
import org.bukkit.configuration.ConfigurationSection;
@@ -79,7 +79,7 @@ public class MigrationPermissionsBukkit extends SubCommand<Object> {
ConfigurationSection groupsSection = config.getConfigurationSection("groups");
SafeIterator.iterate(groupsSection.getKeys(false), key -> {
SafeIteration.iterate(groupsSection.getKeys(false), key -> {
final String groupName = MigrationUtils.standardizeName(key);
Group lpGroup = plugin.getStorage().createAndLoadGroup(groupName, CreationCause.INTERNAL).join();
@@ -99,7 +99,7 @@ public class MigrationPermissionsBukkit extends SubCommand<Object> {
ConfigurationSection usersSection = config.getConfigurationSection("users");
SafeIterator.iterate(usersSection.getKeys(false), key -> {
SafeIteration.iterate(usersSection.getKeys(false), key -> {
UUID uuid = BukkitMigrationUtils.lookupUuid(log, key);
if (uuid == null) {
return;
@@ -43,7 +43,7 @@ import me.lucko.luckperms.common.model.User;
import me.lucko.luckperms.common.node.NodeFactory;
import me.lucko.luckperms.common.plugin.LuckPermsPlugin;
import me.lucko.luckperms.common.utils.Predicates;
import me.lucko.luckperms.common.utils.SafeIterator;
import me.lucko.luckperms.common.utils.SafeIteration;
import org.bukkit.Bukkit;
@@ -117,7 +117,7 @@ public class MigrationPermissionsEx extends SubCommand<Object> {
log.log("Starting group migration.");
AtomicInteger groupCount = new AtomicInteger(0);
Set<String> ladders = new HashSet<>();
SafeIterator.iterate(manager.getGroupList(), group -> {
SafeIteration.iterate(manager.getGroupList(), group -> {
int groupWeight = maxWeight - group.getRank();
final String groupName = MigrationUtils.standardizeName(group.getName());
@@ -161,7 +161,7 @@ public class MigrationPermissionsEx extends SubCommand<Object> {
// Increment the max weight from the group migrations. All user meta should override.
int userWeight = maxWeight + 5;
SafeIterator.iterate(manager.getUsers(), user -> {
SafeIteration.iterate(manager.getUsers(), user -> {
UUID u = BukkitMigrationUtils.lookupUuid(log, user.getIdentifier());
if (u == null) {
return;
@@ -31,6 +31,7 @@ import com.github.gustav9797.PowerfulPermsAPI.Permission;
import com.github.gustav9797.PowerfulPermsAPI.PermissionManager;
import com.github.gustav9797.PowerfulPermsAPI.PowerfulPermsPlugin;
import com.google.common.collect.ImmutableSet;
import com.zaxxer.hikari.HikariDataSource;
import me.lucko.luckperms.api.Node;
import me.lucko.luckperms.api.event.cause.CreationCause;
@@ -47,9 +48,8 @@ import me.lucko.luckperms.common.model.User;
import me.lucko.luckperms.common.node.NodeFactory;
import me.lucko.luckperms.common.plugin.LuckPermsPlugin;
import me.lucko.luckperms.common.storage.StorageType;
import me.lucko.luckperms.common.utils.HikariSupplier;
import me.lucko.luckperms.common.utils.Predicates;
import me.lucko.luckperms.common.utils.SafeIterator;
import me.lucko.luckperms.common.utils.SafeIteration;
import org.bukkit.Bukkit;
@@ -57,6 +57,7 @@ import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
@@ -158,7 +159,7 @@ public class MigrationPowerfulPerms extends SubCommand<Object> {
// Groups first.
log.log("Starting group migration.");
AtomicInteger groupCount = new AtomicInteger(0);
SafeIterator.iterate(groups, g -> {
SafeIteration.iterate(groups, g -> {
maxWeight.set(Math.max(maxWeight.get(), g.getRank()));
String groupName = MigrationUtils.standardizeName(g.getName());
@@ -218,7 +219,7 @@ public class MigrationPowerfulPerms extends SubCommand<Object> {
maxWeight.addAndGet(5);
// Migrate all users and their groups
SafeIterator.iterate(uuids, uuid -> {
SafeIteration.iterate(uuids, uuid -> {
// Create a LuckPerms user for the UUID
User user = plugin.getStorage().loadUser(uuid, null).join();
@@ -340,4 +341,47 @@ public class MigrationPowerfulPerms extends SubCommand<Object> {
throw new RuntimeException(e);
}
}
/**
* A simple hikari wrapper
*/
public static final class HikariSupplier implements AutoCloseable {
private final String address;
private final String database;
private final String username;
private final String password;
private HikariDataSource hikari;
public HikariSupplier(String address, String database, String username, String password) {
this.address = address;
this.database = database;
this.username = username;
this.password = password;
}
public void setup(String poolName) {
this.hikari = new HikariDataSource();
this.hikari.setPoolName(poolName);
this.hikari.setMaximumPoolSize(2);
this.hikari.setDataSourceClassName("com.mysql.jdbc.jdbc2.optional.MysqlDataSource");
this.hikari.addDataSourceProperty("serverName", this.address.split(":")[0]);
this.hikari.addDataSourceProperty("port", this.address.split(":")[1]);
this.hikari.addDataSourceProperty("databaseName", this.database);
this.hikari.addDataSourceProperty("user", this.username);
this.hikari.addDataSourceProperty("password", this.password);
}
@Override
public void close() {
this.hikari.close();
}
public Connection getConnection() throws SQLException {
return this.hikari.getConnection();
}
}
}
@@ -43,7 +43,7 @@ import me.lucko.luckperms.common.model.User;
import me.lucko.luckperms.common.node.NodeFactory;
import me.lucko.luckperms.common.plugin.LuckPermsPlugin;
import me.lucko.luckperms.common.utils.Predicates;
import me.lucko.luckperms.common.utils.SafeIterator;
import me.lucko.luckperms.common.utils.SafeIteration;
import org.bukkit.Bukkit;
import org.tyrannyofheaven.bukkit.zPermissions.ZPermissionsService;
@@ -104,7 +104,7 @@ public class MigrationZPermissions extends SubCommand<Object> {
AtomicInteger groupCount = new AtomicInteger(0);
AtomicInteger maxWeight = new AtomicInteger(0);
SafeIterator.iterate(internalService.getEntities(true), entity -> {
SafeIteration.iterate(internalService.getEntities(true), entity -> {
String groupName = MigrationUtils.standardizeName(entity.getDisplayName());
Group group = plugin.getStorage().createAndLoadGroup(groupName, CreationCause.INTERNAL).join();
@@ -138,7 +138,7 @@ public class MigrationZPermissions extends SubCommand<Object> {
// Migrate all tracks
log.log("Starting track migration.");
AtomicInteger trackCount = new AtomicInteger(0);
SafeIterator.iterate(service.getAllTracks(), t -> {
SafeIteration.iterate(service.getAllTracks(), t -> {
String trackName = MigrationUtils.standardizeName(t);
Track track = plugin.getStorage().createAndLoadTrack(trackName, CreationCause.INTERNAL).join();
track.setGroups(service.getTrackGroups(t));
@@ -156,7 +156,7 @@ public class MigrationZPermissions extends SubCommand<Object> {
Set<UUID> usersToMigrate = new HashSet<>(userParents.keySet());
usersToMigrate.addAll(service.getAllPlayersUUID());
SafeIterator.iterate(usersToMigrate, u -> {
SafeIteration.iterate(usersToMigrate, u -> {
PermissionEntity entity = internalService.getEntity(null, u, false);
String username = null;