diff --git a/Plan/bungeecord/src/main/java/com/djrapitops/plan/BStatsBungee.java b/Plan/bungeecord/src/main/java/com/djrapitops/plan/BStatsBungee.java index 7080c8273..52d524a72 100644 --- a/Plan/bungeecord/src/main/java/com/djrapitops/plan/BStatsBungee.java +++ b/Plan/bungeecord/src/main/java/com/djrapitops/plan/BStatsBungee.java @@ -49,7 +49,7 @@ public class BStatsBungee { addStringSettingPie("server_type", serverType); addStringSettingPie("database_type", databaseType); - addStringSettingPie("network_servers", connectionSystem.getBukkitServers().size()); + addStringSettingPie("network_servers", connectionSystem.getDataServers().size()); } protected void addStringSettingPie(String id, Serializable setting) { diff --git a/Plan/common/src/main/java/com/djrapitops/plan/command/commands/AnalyzeCommand.java b/Plan/common/src/main/java/com/djrapitops/plan/command/commands/AnalyzeCommand.java index 9c3827c8d..09c5843cc 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/command/commands/AnalyzeCommand.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/command/commands/AnalyzeCommand.java @@ -18,6 +18,7 @@ package com.djrapitops.plan.command.commands; import com.djrapitops.plan.api.exceptions.connection.WebException; import com.djrapitops.plan.api.exceptions.database.DBOpException; +import com.djrapitops.plan.db.sql.queries.single.OptionalFetchQueries; import com.djrapitops.plan.system.database.DBSystem; import com.djrapitops.plan.system.info.InfoSystem; import com.djrapitops.plan.system.info.connection.ConnectionSystem; @@ -40,7 +41,6 @@ import com.djrapitops.plugin.logging.error.ErrorHandler; import javax.inject.Inject; import javax.inject.Singleton; -import java.util.Map; import java.util.Optional; import java.util.UUID; @@ -132,16 +132,9 @@ public class AnalyzeCommand extends CommandNode { private Optional getServer(String[] args) { if (args.length >= 1 && connectionSystem.isServerAvailable()) { - Map bukkitServers = dbSystem.getDatabase().fetch().getBukkitServers(); String serverIdentifier = getGivenIdentifier(args); - for (Map.Entry entry : bukkitServers.entrySet()) { - Server server = entry.getValue(); - - if (Integer.toString(server.getId()).equals(serverIdentifier) - || server.getName().equalsIgnoreCase(serverIdentifier)) { - return Optional.of(server); - } - } + return dbSystem.getDatabase().query(OptionalFetchQueries.matchingServerIdentifier(serverIdentifier)) + .filter(server -> !server.isProxy()); } return Optional.empty(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/command/commands/manage/ManageUninstalledCommand.java b/Plan/common/src/main/java/com/djrapitops/plan/command/commands/manage/ManageUninstalledCommand.java index ee011aa3e..de0f85f63 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/command/commands/manage/ManageUninstalledCommand.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/command/commands/manage/ManageUninstalledCommand.java @@ -17,6 +17,7 @@ package com.djrapitops.plan.command.commands.manage; import com.djrapitops.plan.api.exceptions.database.DBOpException; +import com.djrapitops.plan.db.sql.queries.single.OptionalFetchQueries; import com.djrapitops.plan.system.database.DBSystem; import com.djrapitops.plan.system.info.server.Server; import com.djrapitops.plan.system.info.server.ServerInfo; @@ -34,7 +35,6 @@ import com.djrapitops.plugin.logging.error.ErrorHandler; import javax.inject.Inject; import javax.inject.Singleton; -import java.util.Map; import java.util.Optional; import java.util.UUID; @@ -102,16 +102,9 @@ public class ManageUninstalledCommand extends CommandNode { private Optional getServer(String[] args) { if (args.length >= 1) { - Map bukkitServers = dbSystem.getDatabase().fetch().getBukkitServers(); String serverIdentifier = getGivenIdentifier(args); - for (Map.Entry entry : bukkitServers.entrySet()) { - Server server = entry.getValue(); - - if (Integer.toString(server.getId()).equals(serverIdentifier) - || server.getName().equalsIgnoreCase(serverIdentifier)) { - return Optional.of(server); - } - } + return dbSystem.getDatabase().query(OptionalFetchQueries.matchingServerIdentifier(serverIdentifier)) + .filter(Server::isNotProxy); } return Optional.empty(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/db/sql/queries/batch/LargeFetchQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/db/sql/queries/batch/LargeFetchQueries.java index cfeb47941..f6345c1df 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/db/sql/queries/batch/LargeFetchQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/db/sql/queries/batch/LargeFetchQueries.java @@ -23,8 +23,11 @@ import com.djrapitops.plan.data.container.PlayerKill; import com.djrapitops.plan.data.store.objects.Nickname; import com.djrapitops.plan.db.access.Query; import com.djrapitops.plan.db.access.QueryAllStatement; +import com.djrapitops.plan.db.access.QueryStatement; import com.djrapitops.plan.db.sql.tables.*; +import com.djrapitops.plan.system.info.server.Server; +import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.*; @@ -280,4 +283,35 @@ public class LargeFetchQueries { } }; } + + /** + * Query database for all Plan server information. + * + * @return Map: Server UUID - Plan Server Information + */ + public static Query> fetchPlanServerInformation() { + String sql = "SELECT * FROM " + ServerTable.TABLE_NAME + " WHERE " + ServerTable.Col.INSTALLED + "=?"; + + return new QueryStatement>(sql, 100) { + @Override + public void prepare(PreparedStatement statement) throws SQLException { + statement.setBoolean(1, true); + } + + @Override + public Map processResults(ResultSet set) throws SQLException { + Map servers = new HashMap<>(); + while (set.next()) { + UUID serverUUID = UUID.fromString(set.getString(ServerTable.Col.SERVER_UUID.get())); + servers.put(serverUUID, new Server( + set.getInt(ServerTable.Col.SERVER_ID.get()), + serverUUID, + set.getString(ServerTable.Col.NAME.get()), + set.getString(ServerTable.Col.WEBSERVER_ADDRESS.get()), + set.getInt(ServerTable.Col.MAX_PLAYERS.get()))); + } + return servers; + } + }; + } } \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/db/sql/queries/single/OptionalFetchQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/db/sql/queries/single/OptionalFetchQueries.java new file mode 100644 index 000000000..67f7bc984 --- /dev/null +++ b/Plan/common/src/main/java/com/djrapitops/plan/db/sql/queries/single/OptionalFetchQueries.java @@ -0,0 +1,73 @@ +/* + * This file is part of Player Analytics (Plan). + * + * Plan is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License v3 as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Plan is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Plan. If not, see . + */ +package com.djrapitops.plan.db.sql.queries.single; + +import com.djrapitops.plan.db.access.Query; +import com.djrapitops.plan.db.access.QueryStatement; +import com.djrapitops.plan.db.sql.tables.ServerTable; +import com.djrapitops.plan.system.info.server.Server; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.Optional; +import java.util.UUID; + +/** + * Static method class for queries that return single item if found. + * + * @author Rsl1122 + */ +public class OptionalFetchQueries { + + private OptionalFetchQueries() { + /* Static method class */ + } + + public static Query> matchingServerIdentifier(String identifier) { + String sql = "SELECT * FROM " + ServerTable.TABLE_NAME + + " WHERE (" + ServerTable.Col.SERVER_ID + "=?" + + " OR LOWER(" + ServerTable.Col.NAME + ") LIKE LOWER(?)" + + " OR LOWER(" + ServerTable.Col.SERVER_UUID + ") LIKE LOWER(?))" + + " AND " + ServerTable.Col.INSTALLED + "=?" + + " LIMIT 1"; + return new QueryStatement>(sql) { + @Override + public void prepare(PreparedStatement statement) throws SQLException { + statement.setString(1, identifier); + statement.setString(2, identifier); + statement.setString(3, identifier); + statement.setBoolean(4, true); + } + + @Override + public Optional processResults(ResultSet set) throws SQLException { + if (set.next()) { + return Optional.of(new Server( + set.getInt(ServerTable.Col.SERVER_ID.get()), + UUID.fromString(set.getString(ServerTable.Col.SERVER_UUID.get())), + set.getString(ServerTable.Col.NAME.get()), + set.getString(ServerTable.Col.WEBSERVER_ADDRESS.get()), + set.getInt(ServerTable.Col.MAX_PLAYERS.get()) + )); + } + return Optional.empty(); + } + }; + } + +} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/db/sql/tables/ServerTable.java b/Plan/common/src/main/java/com/djrapitops/plan/db/sql/tables/ServerTable.java index 61e725a82..b5cb54737 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/db/sql/tables/ServerTable.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/db/sql/tables/ServerTable.java @@ -237,36 +237,6 @@ public class ServerTable extends Table { }); } - public Map getBukkitServers() { - String sql = Select.from(tableName, "*") - .where(Col.NAME + "!=?") - .and(Col.INSTALLED + "=?") - .toString(); - - return query(new QueryStatement>(sql, 100) { - @Override - public void prepare(PreparedStatement statement) throws SQLException { - statement.setString(1, "BungeeCord"); - statement.setBoolean(2, true); - } - - @Override - public Map processResults(ResultSet set) throws SQLException { - Map servers = new HashMap<>(); - while (set.next()) { - UUID serverUUID = UUID.fromString(set.getString(Col.SERVER_UUID.get())); - servers.put(serverUUID, new Server( - set.getInt(Col.SERVER_ID.get()), - serverUUID, - set.getString(Col.NAME.get()), - set.getString(Col.WEBSERVER_ADDRESS.get()), - set.getInt(Col.MAX_PLAYERS.get()))); - } - return servers; - } - }); - } - public List getServerUUIDs() { String sql = Select.from(tableName, Col.SERVER_UUID) .toString(); @@ -283,7 +253,7 @@ public class ServerTable extends Table { }); } - public void insertAllServers(List allServer) { + public void insertAllServers(Collection allServer) { if (Verify.isEmpty(allServer)) { return; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/db/sql/tables/move/BatchOperationTable.java b/Plan/common/src/main/java/com/djrapitops/plan/db/sql/tables/move/BatchOperationTable.java index 4b4248a37..0bf1a0bae 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/db/sql/tables/move/BatchOperationTable.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/db/sql/tables/move/BatchOperationTable.java @@ -19,13 +19,9 @@ package com.djrapitops.plan.db.sql.tables.move; import com.djrapitops.plan.data.container.UserInfo; import com.djrapitops.plan.db.SQLDB; import com.djrapitops.plan.db.sql.queries.batch.LargeFetchQueries; -import com.djrapitops.plan.db.sql.tables.ServerTable; import com.djrapitops.plan.db.sql.tables.Table; import com.djrapitops.plan.db.sql.tables.UsersTable; -import com.djrapitops.plan.system.info.server.Server; -import java.util.ArrayList; -import java.util.List; import java.util.Map; import java.util.UUID; @@ -136,10 +132,7 @@ public class BatchOperationTable extends Table { if (toDB.equals(this)) { return; } - ServerTable serverTable = db.getServerTable(); - List servers = new ArrayList<>(serverTable.getBukkitServers().values()); - serverTable.getBungeeInfo().ifPresent(servers::add); - toDB.db.getServerTable().insertAllServers(servers); + toDB.db.getServerTable().insertAllServers(db.query(LargeFetchQueries.fetchPlanServerInformation()).values()); } public void copyTPS(BatchOperationTable toDB) { diff --git a/Plan/common/src/main/java/com/djrapitops/plan/system/database/databases/sql/operation/SQLFetchOps.java b/Plan/common/src/main/java/com/djrapitops/plan/system/database/databases/sql/operation/SQLFetchOps.java index af2458d6e..12ba776df 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/system/database/databases/sql/operation/SQLFetchOps.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/system/database/databases/sql/operation/SQLFetchOps.java @@ -35,6 +35,7 @@ import com.djrapitops.plan.system.settings.config.Config; import java.util.*; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; public class SQLFetchOps extends SQLOps implements FetchOperations { @@ -45,7 +46,10 @@ public class SQLFetchOps extends SQLOps implements FetchOperations { @Override public NetworkContainer getNetworkContainer() { NetworkContainer networkContainer = db.getNetworkContainerFactory().forBungeeContainer(getBungeeServerContainer()); - networkContainer.putCachingSupplier(NetworkKeys.BUKKIT_SERVERS, () -> getBukkitServers().values()); + networkContainer.putCachingSupplier(NetworkKeys.BUKKIT_SERVERS, () -> + db.query(LargeFetchQueries.fetchPlanServerInformation()).values() + .stream().filter(Server::isNotProxy).collect(Collectors.toSet()) + ); return networkContainer; } @@ -464,7 +468,9 @@ public class SQLFetchOps extends SQLOps implements FetchOperations { @Override public Map getBukkitServers() { - return serverTable.getBukkitServers(); + return db.query(LargeFetchQueries.fetchPlanServerInformation()).entrySet().stream() + .filter(entry -> entry.getValue().isNotProxy()) + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); } @Override @@ -474,12 +480,7 @@ public class SQLFetchOps extends SQLOps implements FetchOperations { @Override public List getServers() { - Map bukkitServers = getBukkitServers(); - Optional bungeeInformation = getBungeeInformation(); - - List servers = new ArrayList<>(bukkitServers.values()); - bungeeInformation.ifPresent(servers::add); - + List servers = new ArrayList<>(db.query(LargeFetchQueries.fetchPlanServerInformation()).values()); Collections.sort(servers); return servers; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/system/info/connection/ConnectionSystem.java b/Plan/common/src/main/java/com/djrapitops/plan/system/info/connection/ConnectionSystem.java index 5e92d104f..5ecf6f907 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/system/info/connection/ConnectionSystem.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/system/info/connection/ConnectionSystem.java @@ -43,7 +43,7 @@ public abstract class ConnectionSystem implements SubSystem { protected final Lazy infoSystem; protected final ServerInfo serverInfo; - protected Map bukkitServers; + protected Map dataServers; private boolean setupAllowed; public ConnectionSystem( @@ -56,7 +56,7 @@ public abstract class ConnectionSystem implements SubSystem { this.infoSystem = infoSystem; this.serverInfo = serverInfo; setupAllowed = false; - bukkitServers = new HashMap<>(); + dataServers = new HashMap<>(); this.infoRequests = infoRequests; } @@ -98,8 +98,8 @@ public abstract class ConnectionSystem implements SubSystem { public abstract void sendWideInfoRequest(WideRequest infoRequest) throws NoServersException; - public List getBukkitServers() { - return new ArrayList<>(bukkitServers.values()); + public List getDataServers() { + return new ArrayList<>(dataServers.values()); } @Override @@ -110,7 +110,7 @@ public abstract class ConnectionSystem implements SubSystem { @Override public void disable() { setupAllowed = false; - bukkitServers.clear(); + dataServers.clear(); infoRequests.clear(); } } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/system/info/connection/ProxyConnectionSystem.java b/Plan/common/src/main/java/com/djrapitops/plan/system/info/connection/ProxyConnectionSystem.java index b56371928..b15eb3833 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/system/info/connection/ProxyConnectionSystem.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/system/info/connection/ProxyConnectionSystem.java @@ -18,6 +18,7 @@ package com.djrapitops.plan.system.info.connection; import com.djrapitops.plan.api.exceptions.connection.NoServersException; import com.djrapitops.plan.api.exceptions.database.DBOpException; +import com.djrapitops.plan.db.sql.queries.batch.LargeFetchQueries; import com.djrapitops.plan.system.database.DBSystem; import com.djrapitops.plan.system.info.InfoSystem; import com.djrapitops.plan.system.info.request.*; @@ -30,8 +31,10 @@ import dagger.Lazy; import javax.inject.Inject; import javax.inject.Singleton; +import java.util.Map; import java.util.UUID; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; /** * ConnectionSystem for proxy servers. @@ -70,7 +73,9 @@ public class ProxyConnectionSystem extends ConnectionSystem { private void refreshServerMap() { if (latestServerMapRefresh < System.currentTimeMillis() - TimeUnit.SECONDS.toMillis(15L)) { try { - bukkitServers = dbSystem.getDatabase().fetch().getBukkitServers(); + dataServers = dbSystem.getDatabase().query(LargeFetchQueries.fetchPlanServerInformation()).entrySet().stream() + .filter(entry -> entry.getValue().isNotProxy()) + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); latestServerMapRefresh = System.currentTimeMillis(); } catch (DBOpException e) { errorHandler.log(L.ERROR, this.getClass(), e); @@ -89,7 +94,7 @@ public class ProxyConnectionSystem extends ConnectionSystem { return serverInfo.getServer(); } else if (infoRequest instanceof GenerateAnalysisPageRequest) { UUID serverUUID = ((GenerateAnalysisPageRequest) infoRequest).getServerUUID(); - server = bukkitServers.get(serverUUID); + server = dataServers.get(serverUUID); } if (server == null) { throw new NoServersException("Proper server is not available to process request: " + infoRequest.getClass().getSimpleName()); @@ -100,10 +105,10 @@ public class ProxyConnectionSystem extends ConnectionSystem { @Override public void sendWideInfoRequest(WideRequest infoRequest) throws NoServersException { refreshServerMap(); - if (bukkitServers.isEmpty()) { + if (dataServers.isEmpty()) { throw new NoServersException("No Servers available to make wide-request: " + infoRequest.getClass().getSimpleName()); } - for (Server server : bukkitServers.values()) { + for (Server server : dataServers.values()) { webExceptionLogger.logIfOccurs(this.getClass(), () -> sendInfoRequest(infoRequest, server)); } // Quick hack for Bungee Plugins Tab diff --git a/Plan/common/src/main/java/com/djrapitops/plan/system/info/connection/ServerConnectionSystem.java b/Plan/common/src/main/java/com/djrapitops/plan/system/info/connection/ServerConnectionSystem.java index 33f4092da..95cf41b63 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/system/info/connection/ServerConnectionSystem.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/system/info/connection/ServerConnectionSystem.java @@ -18,8 +18,9 @@ package com.djrapitops.plan.system.info.connection; import com.djrapitops.plan.api.exceptions.connection.ConnectionFailException; import com.djrapitops.plan.api.exceptions.connection.NoServersException; +import com.djrapitops.plan.db.Database; +import com.djrapitops.plan.db.sql.queries.batch.LargeFetchQueries; import com.djrapitops.plan.system.database.DBSystem; -import com.djrapitops.plan.system.database.databases.operation.FetchOperations; import com.djrapitops.plan.system.info.InfoSystem; import com.djrapitops.plan.system.info.request.*; import com.djrapitops.plan.system.info.server.Server; @@ -36,6 +37,8 @@ import dagger.Lazy; import javax.inject.Inject; import javax.inject.Singleton; +import java.util.Map; +import java.util.Optional; import java.util.UUID; import java.util.concurrent.TimeUnit; @@ -87,9 +90,16 @@ public class ServerConnectionSystem extends ConnectionSystem { private void refreshServerMap() { processing.submitNonCritical(() -> { if (latestServerMapRefresh < System.currentTimeMillis() - TimeUnit.SECONDS.toMillis(15L)) { - FetchOperations fetch = dbSystem.getDatabase().fetch(); - mainServer = fetch.getBungeeInformation().orElse(null); - bukkitServers = fetch.getBukkitServers(); + Database database = dbSystem.getDatabase(); + Map servers = database.query(LargeFetchQueries.fetchPlanServerInformation()); + Optional proxy = servers.values().stream() + .filter(Server::isProxy) + .findFirst(); + mainServer = proxy.orElse(null); + + proxy.ifPresent(proxyServer -> servers.remove(proxyServer.getUuid())); + + dataServers = servers; latestServerMapRefresh = System.currentTimeMillis(); } }); @@ -99,7 +109,7 @@ public class ServerConnectionSystem extends ConnectionSystem { protected Server selectServerForRequest(InfoRequest infoRequest) throws NoServersException { refreshServerMap(); - if (mainServer == null && bukkitServers.isEmpty()) { + if (mainServer == null && dataServers.isEmpty()) { throw new NoServersException("Zero servers available to process requests."); } @@ -109,7 +119,7 @@ public class ServerConnectionSystem extends ConnectionSystem { server = mainServer; } else if (infoRequest instanceof GenerateAnalysisPageRequest) { UUID serverUUID = ((GenerateAnalysisPageRequest) infoRequest).getServerUUID(); - server = bukkitServers.get(serverUUID); + server = dataServers.get(serverUUID); } if (server == null) { throw new NoServersException("Proper server is not available to process request: " + infoRequest.getClass().getSimpleName()); @@ -119,10 +129,10 @@ public class ServerConnectionSystem extends ConnectionSystem { @Override public void sendWideInfoRequest(WideRequest infoRequest) throws NoServersException { - if (bukkitServers.isEmpty()) { + if (dataServers.isEmpty()) { throw new NoServersException("No Servers available to make wide-request: " + infoRequest.getClass().getSimpleName()); } - for (Server server : bukkitServers.values()) { + for (Server server : dataServers.values()) { webExceptionLogger.logIfOccurs(this.getClass(), () -> { try { sendInfoRequest(infoRequest, server); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/system/info/server/Server.java b/Plan/common/src/main/java/com/djrapitops/plan/system/info/server/Server.java index aad811bd5..dcc33fcc0 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/system/info/server/Server.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/system/info/server/Server.java @@ -98,4 +98,12 @@ public class Server implements Comparable { public int compareTo(Server other) { return Integer.compare(this.id, other.id); } + + public boolean isProxy() { + return "BungeeCord".equals(name); + } + + public boolean isNotProxy() { + return !isProxy(); + } } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/utilities/html/pages/DebugPage.java b/Plan/common/src/main/java/com/djrapitops/plan/utilities/html/pages/DebugPage.java index 058f7c326..b7c2b2d68 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/utilities/html/pages/DebugPage.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/utilities/html/pages/DebugPage.java @@ -201,7 +201,7 @@ public class DebugPage implements Page { content.append(""); content.append("
### Servers:

"); - List servers = connectionSystem.getBukkitServers(); + List servers = connectionSystem.getDataServers(); content.append("Server Name | Address
") .append("-- | --
"); for (Server server : servers) { diff --git a/Plan/common/src/test/java/com/djrapitops/plan/db/CommonDBTest.java b/Plan/common/src/test/java/com/djrapitops/plan/db/CommonDBTest.java index b97564ea3..7365323de 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/db/CommonDBTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/db/CommonDBTest.java @@ -572,7 +572,7 @@ public abstract class CommonDBTest { assertTrue(db.getCommandUseTable().getCommandUse().isEmpty()); assertTrue(db.getWorldTable().getAllWorlds().isEmpty()); assertTrue(tpsTable.getTPSData().isEmpty()); - assertTrue(db.getServerTable().getBukkitServers().isEmpty()); + assertTrue(db.query(LargeFetchQueries.fetchPlanServerInformation()).isEmpty()); assertTrue(db.query(LargeFetchQueries.fetchAllPingData()).isEmpty()); assertTrue(db.query(LargeFetchQueries.fetchAllPlanWebUsers()).isEmpty()); } @@ -684,7 +684,7 @@ public abstract class CommonDBTest { commitTest(); Map> sessions = db.getSessionsTable().getSessions(playerUUID); - List savedSessions = sessions.get(playerUUID); + List savedSessions = sessions.get(serverUUID); assertNotNull(savedSessions); assertFalse(savedSessions.isEmpty()); @@ -736,8 +736,8 @@ public abstract class CommonDBTest { assertFalse(backup.getCommandUseTable().getCommandUse().isEmpty()); assertFalse(backup.getWorldTable().getAllWorlds().isEmpty()); assertFalse(tpsTable.getTPSData().isEmpty()); - assertFalse(backup.getServerTable().getBukkitServers().isEmpty()); - assertFalse(db.query(LargeFetchQueries.fetchAllPlanWebUsers()).isEmpty()); + assertFalse(backup.query(LargeFetchQueries.fetchPlanServerInformation()).isEmpty()); + assertFalse(backup.query(LargeFetchQueries.fetchAllPlanWebUsers()).isEmpty()); } @Test diff --git a/Plan/common/src/test/java/com/djrapitops/plan/db/SQLiteTest.java b/Plan/common/src/test/java/com/djrapitops/plan/db/SQLiteTest.java index 4790b9c9a..a877ab59a 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/db/SQLiteTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/db/SQLiteTest.java @@ -17,6 +17,7 @@ package com.djrapitops.plan.db; import com.djrapitops.plan.api.exceptions.database.DBInitException; +import com.djrapitops.plan.db.sql.queries.batch.LargeFetchQueries; import com.djrapitops.plan.db.sql.tables.ServerTable; import com.djrapitops.plan.system.info.server.Server; import org.junit.BeforeClass; @@ -78,9 +79,10 @@ public class SQLiteTest extends CommonDBTest { @Test public void testServerTableBungee() throws DBInitException { testServerTableBungeeSave(); - ServerTable serverTable = db.getServerTable(); - Map bukkitServers = serverTable.getBukkitServers(); - assertEquals(1, bukkitServers.size()); + Map serverInformation = db.query(LargeFetchQueries.fetchPlanServerInformation()); + + assertEquals(1, serverInformation.values().stream().filter(Server::isNotProxy).count()); + assertEquals(1, serverInformation.values().stream().filter(Server::isProxy).count()); } }