Revert API jar to Java 8 and update to Java 11 APIs

This commit is contained in:
Aurora Lahtela 2022-06-18 11:31:53 +03:00
parent 6f45430831
commit 92910d647a
106 changed files with 272 additions and 312 deletions

View File

@ -4,6 +4,10 @@ dependencies {
compileOnly "com.google.code.gson:gson:$gsonVersion"
}
compileJava {
options.release = 8
}
ext.apiVersion = '5.4-R0.1'
publishing {

View File

@ -49,7 +49,7 @@ public class PlaceholderCacheRefreshTask extends TaskSystem.Task {
@Override
public void run() {
if (!config.getNode("Plugins.PlaceholderAPI").isPresent()) {
if (config.getNode("Plugins.PlaceholderAPI").isEmpty()) {
cancel(); // Cancel the task and don't do anything if PlaceholderAPI is not installed.
return;
}

View File

@ -74,7 +74,7 @@ public class DeathEventListener implements Listener {
try {
Optional<Player> foundKiller = findKiller(dead);
if (!foundKiller.isPresent()) {
if (foundKiller.isEmpty()) {
return;
}
Player killer = foundKiller.get();

View File

@ -71,7 +71,7 @@ public final class Reflection {
field.setAccessible(true);
// A function for retrieving a specific field value
return new FieldAccessor<T>() {
return new FieldAccessor<>() {
@Override
@SuppressWarnings("unchecked")

View File

@ -369,7 +369,7 @@ public class PlanCommand {
return DBType.names();
}
Optional<String> firstArgument = arguments.get(0);
if (!firstArgument.isPresent()) {
if (firstArgument.isEmpty()) {
return tabCompleteCache.getMatchingBackupFilenames(null);
}
String part = firstArgument.get();

View File

@ -231,7 +231,7 @@ public class DataUtilityCommands {
}
PlayerContainer player = dbSystem.getDatabase().query(ContainerFetchQueries.fetchPlayerContainer(playerUUID));
if (!player.getValue(PlayerKeys.REGISTERED).isPresent()) {
if (player.getValue(PlayerKeys.REGISTERED).isEmpty()) {
throw new IllegalArgumentException(locale.getString(CommandLang.FAIL_PLAYER_NOT_FOUND_REGISTER, identifier));
}

View File

@ -194,7 +194,7 @@ public class LinkCommands {
.addPart(colors.getMainColor() + locale.getString(CommandLang.LINK_NETWORK))
.apply(builder -> linkTo(builder, sender, address))
.send();
if (!dbSystem.getDatabase().query(ServerQueries.fetchProxyServerInformation()).isPresent()) {
if (dbSystem.getDatabase().query(ServerQueries.fetchProxyServerInformation()).isEmpty()) {
throw new IllegalArgumentException(locale.getString(CommandLang.NOTIFY_NO_NETWORK));
}
}

View File

@ -177,31 +177,26 @@ public class RegistrationCommands {
UUID playerUUID = sender.getUUID().orElse(null);
String username;
if (!givenUsername.isPresent() && playerUUID != null) {
Optional<User> found = database.query(WebUserQueries.fetchUser(playerUUID));
if (!found.isPresent()) {
throw new IllegalArgumentException(locale.getString(CommandLang.USER_NOT_LINKED));
}
username = found.get().getUsername();
} else if (!givenUsername.isPresent()) {
if (givenUsername.isEmpty() && playerUUID != null) {
username = database.query(WebUserQueries.fetchUser(playerUUID))
.map(User::getUsername)
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.USER_NOT_LINKED)));
} else if (givenUsername.isEmpty()) {
throw new IllegalArgumentException(locale.getString(CommandLang.FAIL_REQ_ONE_ARG, "<" + locale.getString(HelpLang.ARG_USERNAME) + ">"));
} else {
username = givenUsername.get();
}
Optional<User> found = database.query(WebUserQueries.fetchUser(username));
if (!found.isPresent()) {
throw new IllegalArgumentException(locale.getString(FailReason.USER_DOES_NOT_EXIST));
}
User presentUser = found.get();
boolean ownsTheUser = Objects.equals(playerUUID, presentUser.getLinkedToUUID());
User user = database.query(WebUserQueries.fetchUser(username))
.orElseThrow(() -> new IllegalArgumentException(locale.getString(FailReason.USER_DOES_NOT_EXIST)));
boolean ownsTheUser = Objects.equals(playerUUID, user.getLinkedToUUID());
if (!(ownsTheUser || sender.hasPermission(Permissions.UNREGISTER_OTHER.getPerm()))) {
throw new IllegalArgumentException(locale.getString(CommandLang.USER_NOT_LINKED));
}
if (sender.supportsChatEvents()) {
sender.buildMessage()
.addPart(colors.getMainColor() + locale.getString(CommandLang.CONFIRM_UNREGISTER, presentUser.getUsername(), presentUser.getLinkedTo())).newLine()
.addPart(colors.getMainColor() + locale.getString(CommandLang.CONFIRM_UNREGISTER, user.getUsername(), user.getLinkedTo())).newLine()
.addPart(colors.getTertiaryColor() + locale.getString(CommandLang.CONFIRM))
.addPart("§2§l[\u2714]").command("/" + mainCommand + " accept").hover(locale.getString(CommandLang.CONFIRM_ACCEPT))
.addPart(" ")
@ -209,7 +204,7 @@ public class RegistrationCommands {
.send();
} else {
sender.buildMessage()
.addPart(colors.getMainColor() + locale.getString(CommandLang.CONFIRM_UNREGISTER, presentUser.getUsername(), presentUser.getLinkedTo())).newLine()
.addPart(colors.getMainColor() + locale.getString(CommandLang.CONFIRM_UNREGISTER, user.getUsername(), user.getLinkedTo())).newLine()
.addPart(colors.getTertiaryColor() + locale.getString(CommandLang.CONFIRM)).addPart("§a/" + mainCommand + " accept")
.addPart(" ")
.addPart("§c/" + mainCommand + " cancel")
@ -219,7 +214,7 @@ public class RegistrationCommands {
confirmation.confirm(sender, choice -> {
if (Boolean.TRUE.equals(choice)) {
try {
sender.send(colors.getMainColor() + locale.getString(CommandLang.UNREGISTER, presentUser.getUsername()));
sender.send(colors.getMainColor() + locale.getString(CommandLang.UNREGISTER, user.getUsername()));
database.executeTransaction(new RemoveWebUserTransaction(username))
.get(); // Wait for completion
ActiveCookieStore.removeUserCookie(username);
@ -230,19 +225,15 @@ public class RegistrationCommands {
errorLogger.warn(e, ErrorContext.builder().related("unregister command", sender, sender.getPlayerName().orElse("console"), arguments).build());
}
} else {
sender.send(colors.getMainColor() + locale.getString(CommandLang.CONFIRM_CANCELLED_UNREGISTER, presentUser.getUsername()));
sender.send(colors.getMainColor() + locale.getString(CommandLang.CONFIRM_CANCELLED_UNREGISTER, user.getUsername()));
}
});
}
public void onLogoutCommand(CMDSender sender, Arguments arguments) {
Optional<String> username = arguments.get(0);
if (!username.isPresent()) {
throw new IllegalArgumentException(locale.getString(CommandLang.FAIL_REQ_ONE_ARG, locale.getString(HelpLang.ARG_USERNAME) + "/*"));
}
String loggingOut = username.get();
String loggingOut = arguments.get(0)
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_REQ_ONE_ARG, locale.getString(HelpLang.ARG_USERNAME) + "/*")));
if ("*".equals(loggingOut)) {
activeCookieStore.removeAll();

View File

@ -67,9 +67,7 @@ public class ConsoleMessageBuilder implements MessageBuilder {
@Override
public MessageBuilder indent(int spaces) {
for (int i = 0; i < spaces; i++) {
stringBuilder.append(' ');
}
stringBuilder.append(" ".repeat(Math.max(0, spaces)));
return this;
}

View File

@ -38,15 +38,15 @@ public class CommonKeys {
public static final Key<UUID> SERVER_UUID = new Key<>(UUID.class, "server_uuid");
public static final Key<String> NAME = new Key<>(String.class, "name");
public static final PlaceholderKey<Long> REGISTERED = new PlaceholderKey<>(Long.class, "registered");
public static final Key<List<Ping>> PING = new Key<>(new Type<List<Ping>>() {}, "ping");
public static final Key<List<Ping>> PING = new Key<>(new Type<>() {}, "ping");
public static final Key<List<FinishedSession>> SESSIONS = new Key<>(new Type<List<FinishedSession>>() {}, "sessions");
public static final Key<List<FinishedSession>> SESSIONS = new Key<>(new Type<>() {}, "sessions");
public static final Key<WorldTimes> WORLD_TIMES = new Key<>(WorldTimes.class, "world_times");
public static final PlaceholderKey<Long> LAST_SEEN = new PlaceholderKey<>(Long.class, "lastSeen");
@Deprecated
public static final Key<List<PlayerDeath>> PLAYER_DEATHS = new Key<>(new Type<List<PlayerDeath>>() {}, "player_deaths");
public static final Key<List<PlayerKill>> PLAYER_KILLS = new Key<>(new Type<List<PlayerKill>>() {}, "player_kills");
@Deprecated(forRemoval = true, since = "5.0")
public static final Key<List<PlayerDeath>> PLAYER_DEATHS = new Key<>(new Type<>() {}, "player_deaths");
public static final Key<List<PlayerKill>> PLAYER_KILLS = new Key<>(new Type<>() {}, "player_kills");
public static final Key<Integer> PLAYER_KILL_COUNT = new Key<>(Integer.class, "player_kill_count");
public static final Key<Integer> PLAYER_DEATH_COUNT = new Key<>(Integer.class, "player_death_count");
public static final Key<Integer> MOB_KILL_COUNT = new Key<>(Integer.class, "mob_kill_count");
@ -61,6 +61,6 @@ public class CommonKeys {
public static final Key<TPSMutator> TPS_MUTATOR = new Key<>(TPSMutator.class, "TPS_MUTATOR");
public static final Key<PlayersMutator> PLAYERS_MUTATOR = new Key<>(PlayersMutator.class, "PLAYERS_MUTATOR");
public static final Key<TreeMap<Long, Map<String, Set<UUID>>>> ACTIVITY_DATA = new Key<>(new Type<TreeMap<Long, Map<String, Set<UUID>>>>() {}, "ACTIVITY_DATA");
public static final Key<TreeMap<Long, Map<String, Set<UUID>>>> ACTIVITY_DATA = new Key<>(new Type<>() {}, "ACTIVITY_DATA");
}

View File

@ -38,12 +38,12 @@ public class PlayerKeys {
public static final Key<UUID> UUID = CommonKeys.UUID;
public static final Key<String> NAME = CommonKeys.NAME;
public static final Key<List<Nickname>> NICKNAMES = new Key<>(new Type<List<Nickname>>() {}, "nicknames");
public static final Key<List<Nickname>> NICKNAMES = new Key<>(new Type<>() {}, "nicknames");
public static final PlaceholderKey<Long> REGISTERED = CommonKeys.REGISTERED;
public static final Key<Integer> KICK_COUNT = new Key<>(Integer.class, "kick_count");
public static final Key<List<GeoInfo>> GEO_INFO = new Key<>(new Type<List<GeoInfo>>() {}, "geo_info");
public static final Key<List<GeoInfo>> GEO_INFO = new Key<>(new Type<>() {}, "geo_info");
public static final Key<List<Ping>> PING = CommonKeys.PING;
public static final Key<ActiveSession> ACTIVE_SESSION = new Key<>(ActiveSession.class, "active_session");
@ -51,9 +51,9 @@ public class PlayerKeys {
public static final Key<WorldTimes> WORLD_TIMES = CommonKeys.WORLD_TIMES;
public static final Key<List<PlayerKill>> PLAYER_KILLS = CommonKeys.PLAYER_KILLS;
public static final Key<List<PlayerKill>> PLAYER_DEATHS_KILLS = new Key<>(new Type<List<PlayerKill>>() {
public static final Key<List<PlayerKill>> PLAYER_DEATHS_KILLS = new Key<>(new Type<>() {
}, "player_deaths_kills");
@Deprecated
@Deprecated(forRemoval = true, since = "5.0")
public static final Key<List<PlayerDeath>> PLAYER_DEATHS = CommonKeys.PLAYER_DEATHS;
public static final Key<Integer> PLAYER_KILL_COUNT = CommonKeys.PLAYER_KILL_COUNT;
public static final Key<Integer> MOB_KILL_COUNT = CommonKeys.MOB_KILL_COUNT;

View File

@ -41,8 +41,8 @@ public class ServerKeys {
public static final Key<UUID> SERVER_UUID = CommonKeys.SERVER_UUID;
public static final Key<String> NAME = CommonKeys.NAME;
public static final Key<List<PlayerContainer>> PLAYERS = new Key<>(new Type<List<PlayerContainer>>() {}, "players");
public static final Key<List<PlayerContainer>> OPERATORS = new Key<>(new Type<List<PlayerContainer>>() {}, "operators");
public static final Key<List<PlayerContainer>> PLAYERS = new Key<>(new Type<>() {}, "players");
public static final Key<List<PlayerContainer>> OPERATORS = new Key<>(new Type<>() {}, "operators");
public static final Key<Integer> PLAYER_COUNT = new Key<>(Integer.class, "player_count");
public static final Key<List<FinishedSession>> SESSIONS = CommonKeys.SESSIONS;
@ -54,10 +54,10 @@ public class ServerKeys {
public static final Key<Integer> MOB_KILL_COUNT = CommonKeys.MOB_KILL_COUNT;
public static final Key<Integer> DEATH_COUNT = CommonKeys.DEATH_COUNT;
public static final Key<List<TPS>> TPS = new Key<>(new Type<List<TPS>>() {}, "tps");
public static final Key<DateObj<Integer>> ALL_TIME_PEAK_PLAYERS = new Key<>(new Type<DateObj<Integer>>() {}, "all_time_peak_players");
public static final Key<DateObj<Integer>> RECENT_PEAK_PLAYERS = new Key<>(new Type<DateObj<Integer>>() {}, "recent_peak_players");
public static final Key<List<TPS>> TPS = new Key<>(new Type<>() {}, "tps");
public static final Key<DateObj<Integer>> ALL_TIME_PEAK_PLAYERS = new Key<>(new Type<>() {}, "all_time_peak_players");
public static final Key<DateObj<Integer>> RECENT_PEAK_PLAYERS = new Key<>(new Type<>() {}, "recent_peak_players");
@Deprecated
public static final Key<Map<String, Integer>> COMMAND_USAGE = new Key<>(new Type<Map<String, Integer>>() {}, "command_usage");
public static final Key<List<ExtensionData>> EXTENSION_DATA = new Key<>(new Type<List<ExtensionData>>() {}, "extension_data");
public static final Key<Map<String, Integer>> COMMAND_USAGE = new Key<>(new Type<>() {}, "command_usage");
public static final Key<List<ExtensionData>> EXTENSION_DATA = new Key<>(new Type<>() {}, "extension_data");
}

View File

@ -34,11 +34,11 @@ public abstract class Type<T> {
}
public static <K> Type<K> ofClass(Class<K> of) {
return new Type<K>() {};
return new Type<>() {};
}
public static <K> Type<K> of(K object) {
return new Type<K>() {};
return new Type<>() {};
}
public Class<Type<T>> getGenericsClass() {

View File

@ -127,7 +127,7 @@ public class PlayersMutator {
Map<String, List<Ping>> pingPerCountry = new HashMap<>();
for (PlayerContainer player : players) {
Optional<GeoInfo> mostRecent = GeoInfoMutator.forContainer(player).mostRecent();
if (!mostRecent.isPresent()) {
if (mostRecent.isEmpty()) {
continue;
}
List<Ping> pings = player.getValue(PlayerKeys.PING).orElse(new ArrayList<>());

View File

@ -147,17 +147,15 @@ public class NetworkPageExporter extends FileExporter {
}
private void exportJSON(ExportPaths exportPaths, Path toDirectory, String resource) throws IOException {
Optional<Response> found = getJSONResponse(resource);
if (!found.isPresent()) {
throw new NotFoundException(resource + " was not properly exported: not found");
}
Response response = getJSONResponse(resource)
.orElseThrow(() -> new NotFoundException(resource + " was not properly exported: not found"));
String jsonResourceName = toFileName(toJSONResourceName(resource)) + ".json";
String relativePlayerLink = toRelativePathFromRoot("player");
export(toDirectory.resolve("data").resolve(jsonResourceName),
// Replace ../player in urls to fix player page links
StringUtils.replaceEach(found.get().getAsString(),
StringUtils.replaceEach(response.getAsString(),
new String[]{StringEscapeUtils.escapeJson("../player"), StringEscapeUtils.escapeJson("./player")},
new String[]{StringEscapeUtils.escapeJson(relativePlayerLink), StringEscapeUtils.escapeJson(relativePlayerLink)}
)

View File

@ -113,14 +113,12 @@ public class PlayerPageExporter extends FileExporter {
}
private void exportJSON(ExportPaths exportPaths, Path toDirectory, String resource) throws IOException {
Optional<Response> found = getJSONResponse(resource);
if (!found.isPresent()) {
throw new NotFoundException(resource + " was not properly exported: no response");
}
Response response = getJSONResponse(resource)
.orElseThrow(() -> new NotFoundException(resource + " was not properly exported: no response"));
String jsonResourceName = toFileName(toJSONResourceName(resource)) + ".json";
export(toDirectory.resolve(jsonResourceName), found.get().getBytes());
export(toDirectory.resolve(jsonResourceName), response.getBytes());
exportPaths.put("../v1/player?player=${encodeURIComponent(playerUUID)}", "./" + jsonResourceName);
}

View File

@ -109,16 +109,14 @@ public class PlayersPageExporter extends FileExporter {
}
private void exportJSON(Path toDirectory) throws IOException {
Optional<Response> found = getJSONResponse("players");
if (!found.isPresent()) {
throw new NotFoundException("players page was not properly exported: not found");
}
Response response = getJSONResponse("players")
.orElseThrow(() -> new NotFoundException("players page was not properly exported: not found"));
String jsonResourceName = toFileName(toJSONResourceName("players")) + ".json";
export(toDirectory.resolve("data").resolve(jsonResourceName),
// Replace ../player in urls to fix player page links
StringUtils.replace(found.get().getAsString(), "../player", toRelativePathFromRoot("player"))
StringUtils.replace(response.getAsString(), "../player", toRelativePathFromRoot("player"))
);
exportPaths.put("./v1/players", toRelativePathFromRoot("data/" + jsonResourceName));
}

View File

@ -166,17 +166,15 @@ public class ServerPageExporter extends FileExporter {
}
private void exportJSON(Path toDirectory, String resource) throws IOException {
Optional<Response> found = getJSONResponse(resource);
if (!found.isPresent()) {
throw new NotFoundException(resource + " was not properly exported: not found");
}
Response response = getJSONResponse(resource)
.orElseThrow(() -> new NotFoundException(resource + " was not properly exported: not found"));
String jsonResourceName = toFileName(toJSONResourceName(resource)) + ".json";
export(toDirectory.resolve("data").resolve(jsonResourceName),
// Replace ../player in urls to fix player page links
StringUtils.replace(
found.get().getAsString(),
response.getAsString(),
StringEscapeUtils.escapeJson("../player"),
StringEscapeUtils.escapeJson(toRelativePathFromRoot("player"))
)

View File

@ -21,8 +21,8 @@ import org.apache.commons.text.StringSubstitutor;
import org.apache.commons.text.TextStringBuilder;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
@ -178,9 +178,7 @@ public enum Html {
}
private static void appendEndTags(StringBuilder result, int placedSpans) {
for (int i = 0; i < placedSpans; i++) {
result.append("</span>");
}
result.append("</span>".repeat(Math.max(0, placedSpans)));
}
/**
@ -200,13 +198,9 @@ public enum Html {
}
public static String encodeToURL(String string) {
try {
return StringUtils.replace(
URLEncoder.encode(string, "UTF-8"),
"+", "%20" // Encoding replaces spaces with +
);
} catch (UnsupportedEncodingException e) {
return string;
}
return StringUtils.replace(
URLEncoder.encode(string, StandardCharsets.UTF_8),
"+", "%20" // Encoding replaces spaces with +
);
}
}

View File

@ -71,7 +71,7 @@ public class SpecialGraphFactory {
private void prepareGeocodes() {
try {
geoCodes = files.getResourceFromJar("geocodes.json")
.asParsed(gson, new TypeToken<Map<String, String>>() {});
.asParsed(gson, new TypeToken<>() {});
} catch (IOException e) {
geoCodes = new HashMap<>();
errorLogger.error(e, ErrorContext.builder().whatToDo("Failed to read geocodes.json from jar. Try restarting the server.").build());

View File

@ -81,7 +81,7 @@ public class PlayerPage implements Page {
@Override
public String toHtml() {
if (!player.getValue(PlayerKeys.REGISTERED).isPresent()) {
if (player.getValue(PlayerKeys.REGISTERED).isEmpty()) {
throw new IllegalStateException("Player is not registered");
}
return createFor(player);

View File

@ -181,7 +181,7 @@ public class ResponseResolver {
for (Resolver resolver : foundResolvers) {
boolean isAuthRequired = webServer.get().isAuthRequired() && resolver.requiresAuth(request);
if (isAuthRequired) {
if (!user.isPresent()) {
if (user.isEmpty()) {
if (webServer.get().isUsingHTTPS()) {
throw new WebUserAuthException(FailReason.NO_USER_PRESENT);
} else {

View File

@ -94,7 +94,7 @@ public class WebServer implements SubSystem {
initServer();
if (!addresses.getAccessAddress().isPresent()) {
if (addresses.getAccessAddress().isEmpty()) {
logger.warn(locale.getString(PluginLang.ENABLE_NOTIFY_BAD_IP));
}
@ -160,7 +160,7 @@ public class WebServer implements SubSystem {
logger.info(locale.getString(PluginLang.ENABLED_WEB_SERVER, server.getAddress().getPort(), address));
boolean usingAlternativeIP = config.isTrue(WebserverSettings.SHOW_ALTERNATIVE_IP);
if (!usingAlternativeIP && !addresses.getAccessAddress().isPresent()) {
if (!usingAlternativeIP && addresses.getAccessAddress().isEmpty()) {
logger.info("§e" + locale.getString(PluginLang.ENABLE_NOTIFY_EMPTY_IP));
}
} catch (BindException failedToBind) {

View File

@ -95,7 +95,7 @@ public class ServerPageResolver implements Resolver {
private Optional<ServerUUID> getServerUUID(URIPath path) {
if (serverInfo.getServer().isProxy()
&& path.getPart(0).map("network"::equals).orElse(false)
&& !path.getPart(1).isPresent() // No slash at the end.
&& path.getPart(1).isEmpty() // No slash at the end.
) {
return Optional.of(serverInfo.getServerUUID());
}

View File

@ -55,6 +55,7 @@ import javax.inject.Inject;
import javax.inject.Singleton;
import java.io.IOException;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.text.ParseException;
import java.util.*;
@ -130,7 +131,7 @@ public class QueryJSONResolver implements Resolver {
private InputQueryDto parseInputQueryFromQueryParams(Request request) {
String q = request.getQuery().get("q").orElseThrow(() -> new BadRequestException("'q' parameter not set (expecting json array)"));
try {
String query = URLDecoder.decode(q, "UTF-8");
String query = URLDecoder.decode(q, StandardCharsets.UTF_8);
List<InputFilterDto> queryFilters = InputFilterDto.parse(query, gson);
ViewDto view = request.getQuery().get("view")
.map(viewJson -> gson.fromJson(viewJson, ViewDto.class))

View File

@ -45,7 +45,7 @@ public class WhoAmIJSONResolver implements NoAuthResolver {
private Response getResponse(Request request) {
Optional<WebUser> foundUser = request.getUser();
if (!foundUser.isPresent()) {
if (foundUser.isEmpty()) {
return Response.builder()
.setJSONContent(Maps.builder(String.class, Boolean.class)
.put("authRequired", webServer.get().isAuthRequired())

View File

@ -104,7 +104,7 @@ public class ExtensionAggregateBooleansQuery implements Query<Map<Integer, Exten
WHERE + ExtensionPluginTable.SERVER_UUID + "=?" +
AND + "p1." + ExtensionProviderTable.HIDDEN + "=?";
return db.query(new QueryStatement<Map<Integer, ExtensionData.Builder>>(sql, 1000) {
return db.query(new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setBoolean(1, true); // selectTrueBooleans parameter

View File

@ -103,7 +103,7 @@ public class ExtensionAggregateDoublesQuery implements Query<Map<Integer, Extens
WHERE + ExtensionPluginTable.SERVER_UUID + "=?" +
AND + "p1." + ExtensionProviderTable.HIDDEN + "=?";
return db.query(new QueryStatement<Map<Integer, ExtensionData.Builder>>(sql, 1000) {
return db.query(new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());

View File

@ -92,7 +92,7 @@ public class ExtensionAggregateGroupsQuery implements Query<Map<Integer, Extensi
AND + "p1." + ExtensionProviderTable.HIDDEN + "=?" +
ORDER_BY + "table_id ASC, group_name ASC";
return db.query(new QueryStatement<Map<Integer, ExtensionData.Builder>>(sql, 1000) {
return db.query(new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());

View File

@ -107,7 +107,7 @@ public class ExtensionAggregateNumbersQuery implements Query<Map<Integer, Extens
AND + "p1." + ExtensionProviderTable.FORMAT_TYPE + "!=?" +
AND + "p1." + ExtensionProviderTable.FORMAT_TYPE + "!=?";
return db.query(new QueryStatement<Map<Integer, ExtensionData.Builder>>(sql, 1000) {
return db.query(new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());

View File

@ -94,7 +94,7 @@ public class ExtensionAggregatePercentagesQuery implements Query<Map<Integer, Ex
WHERE + ExtensionPluginTable.SERVER_UUID + "=?" +
AND + "p1." + ExtensionProviderTable.HIDDEN + "=?";
return db.query(new QueryStatement<Map<Integer, ExtensionData.Builder>>(sql, 1000) {
return db.query(new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());

View File

@ -61,7 +61,7 @@ public class ExtensionInformationQueries {
ExtensionPluginTable.ICON_ID + "=" + ExtensionIconTable.TABLE_NAME + '.' + ExtensionIconTable.ID +
WHERE + ExtensionPluginTable.SERVER_UUID + "=?";
return new QueryStatement<List<ExtensionInformation>>(sql, 100) {
return new QueryStatement<>(sql, 100) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -102,7 +102,7 @@ public class ExtensionInformationQueries {
INNER_JOIN + ExtensionIconTable.TABLE_NAME + " on " +
ExtensionPluginTable.ICON_ID + "=" + ExtensionIconTable.TABLE_NAME + '.' + ExtensionIconTable.ID;
return new QueryAllStatement<Map<ServerUUID, List<ExtensionInformation>>>(sql, 100) {
return new QueryAllStatement<>(sql, 100) {
@Override
public Map<ServerUUID, List<ExtensionInformation>> processResults(ResultSet set) throws SQLException {
Map<ServerUUID, List<ExtensionInformation>> byServerUUID = new HashMap<>();

View File

@ -137,7 +137,7 @@ public class ExtensionPlayerDataQuery implements Query<Map<ServerUUID, List<Exte
WHERE + ExtensionPlayerValueTable.USER_UUID + "=?" +
AND + "p1." + ExtensionProviderTable.HIDDEN + "=?";
return new QueryStatement<Map<Integer, ExtensionData.Builder>>(sql, 1000) {
return new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());

View File

@ -86,7 +86,7 @@ public class ExtensionPlayerGroupsQuery implements Query<Map<Integer, ExtensionD
AND + "p1." + ExtensionProviderTable.HIDDEN + "=?" +
ORDER_BY + ExtensionGroupsTable.GROUP_NAME + " ASC";
return new QueryStatement<Map<Integer, ExtensionData.Builder>>(sql, 1000) {
return new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());

View File

@ -77,7 +77,7 @@ public class ExtensionPlayerTablesQuery implements Query<Map<Integer, ExtensionD
INNER_JOIN + ExtensionTableProviderTable.TABLE_NAME + " on " + ExtensionTableProviderTable.TABLE_NAME + '.' + ExtensionTableProviderTable.ID + '=' + ExtensionPlayerTableValueTable.TABLE_NAME + '.' + ExtensionPlayerTableValueTable.TABLE_ID +
WHERE + ExtensionPlayerTableValueTable.USER_UUID + "=?";
return new QueryStatement<QueriedTables>(selectTableValues, 10000) {
return new QueryStatement<>(selectTableValues, 10000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());
@ -152,7 +152,7 @@ public class ExtensionPlayerTablesQuery implements Query<Map<Integer, ExtensionD
LEFT_JOIN + ExtensionIconTable.TABLE_NAME + " i6 on i6." + ExtensionIconTable.ID + "=t1." + ExtensionTabTable.ICON_ID +
WHERE + "v1." + ExtensionPlayerTableValueTable.USER_UUID + "=?";
return new QueryStatement<QueriedTables>(selectTables, 100) {
return new QueryStatement<>(selectTables, 100) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());

View File

@ -104,7 +104,7 @@ public class ExtensionQueryResultTableDataQuery implements Query<Map<UUID, Exten
AND + "p1." + ExtensionProviderTable.IS_PLAYER_NAME + "=?" +
AND + "e1." + ExtensionPluginTable.SERVER_UUID + "=?";
return new QueryStatement<Map<UUID, ExtensionTabData>>(sql, 1000) {
return new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setBoolean(1, true); // Select only values that should be shown
@ -138,7 +138,7 @@ public class ExtensionQueryResultTableDataQuery implements Query<Map<UUID, Exten
LEFT_JOIN + ExtensionIconTable.TABLE_NAME + " i1 on i1." + ExtensionIconTable.ID + "=p1." + ExtensionProviderTable.ICON_ID +
WHERE + "e1." + ExtensionPluginTable.SERVER_UUID + "=?";
return new QueryStatement<Map<UUID, ExtensionTabData>>(sql, 1000) {
return new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());

View File

@ -140,7 +140,7 @@ public class ExtensionServerDataQuery implements Query<List<ExtensionData>> {
WHERE + ExtensionPluginTable.SERVER_UUID + "=?" +
AND + "p1." + ExtensionProviderTable.HIDDEN + "=?";
return new QueryStatement<Map<Integer, ExtensionData.Builder>>(sql, 1000) {
return new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());

View File

@ -105,7 +105,7 @@ public class ExtensionServerTableDataQuery implements Query<Map<UUID, ExtensionT
AND + "p1." + ExtensionProviderTable.SHOW_IN_PLAYERS_TABLE + "=?" +
AND + "p1." + ExtensionProviderTable.IS_PLAYER_NAME + "=?";
return new QueryStatement<Map<UUID, ExtensionTabData>>(sql, 1000) {
return new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setInt(1, xMostRecentPlayers); // Limit to x most recently seen players
@ -143,7 +143,7 @@ public class ExtensionServerTableDataQuery implements Query<Map<UUID, ExtensionT
LEFT_JOIN + ExtensionIconTable.TABLE_NAME + " i1 on i1." + ExtensionIconTable.ID + "=p1." + ExtensionProviderTable.ICON_ID +
WHERE + "e1." + ExtensionPluginTable.SERVER_UUID + "=?";
return new QueryStatement<Map<UUID, ExtensionTabData>>(sql, 1000) {
return new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setInt(1, xMostRecentPlayers); // Limit to x most recently seen players

View File

@ -80,7 +80,7 @@ public class ExtensionServerTablesQuery implements Query<Map<Integer, ExtensionD
INNER_JOIN + ExtensionTableProviderTable.TABLE_NAME + " on " + ExtensionTableProviderTable.TABLE_NAME + '.' + ExtensionTableProviderTable.ID + '=' + ExtensionServerTableValueTable.TABLE_NAME + '.' + ExtensionServerTableValueTable.TABLE_ID +
WHERE + ExtensionServerTableValueTable.SERVER_UUID + "=?";
return new QueryStatement<QueriedTables>(selectTableValues, 10000) {
return new QueryStatement<>(selectTableValues, 10000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -162,7 +162,7 @@ public class ExtensionServerTablesQuery implements Query<Map<Integer, ExtensionD
WHERE + "p2." + ExtensionPluginTable.SERVER_UUID + "=?" +
AND + "p1." + ExtensionTableProviderTable.VALUES_FOR + '=' + ExtensionTableProviderTable.VALUES_FOR_SERVER;
return new QueryStatement<QueriedTables>(selectTables, 100) {
return new QueryStatement<>(selectTables, 100) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());

View File

@ -75,7 +75,7 @@ public class StoreIconTransaction extends ThrowawayTransaction {
WHERE + ExtensionIconTable.ICON_NAME + "=?" +
AND + ExtensionIconTable.FAMILY + "=?" +
AND + ExtensionIconTable.COLOR + "=?";
return new QueryStatement<Optional<Integer>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
ExtensionIconTable.set3IconValuesToStatement(statement, icon);

View File

@ -194,7 +194,7 @@ public class StorePlayerTableResultTransaction extends ThrowawayTransaction {
FROM + TABLE_NAME +
WHERE + TABLE_ID + "=?" +
AND + USER_UUID + "=?";
return new QueryStatement<Integer>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setInt(1, tableID);
@ -223,7 +223,7 @@ public class StorePlayerTableResultTransaction extends ThrowawayTransaction {
WHERE + ExtensionTableProviderTable.PROVIDER_NAME + "=?" +
AND + ExtensionTableProviderTable.PLUGIN_ID + "=" + ExtensionPluginTable.STATEMENT_SELECT_PLUGIN_ID +
" LIMIT 1";
return new QueryStatement<Integer>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
ExtensionTableProviderTable.set3PluginValuesToStatement(statement, 1, providerName, pluginName, serverUUID);

View File

@ -193,7 +193,7 @@ public class StoreServerTableResultTransaction extends ThrowawayTransaction {
FROM + TABLE_NAME +
WHERE + TABLE_ID + "=?" +
AND + SERVER_UUID + "=?";
return new QueryStatement<Integer>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setInt(1, tableID);
@ -222,7 +222,7 @@ public class StoreServerTableResultTransaction extends ThrowawayTransaction {
WHERE + ExtensionTableProviderTable.PROVIDER_NAME + "=?" +
AND + ExtensionTableProviderTable.PLUGIN_ID + "=" + ExtensionPluginTable.STATEMENT_SELECT_PLUGIN_ID +
" LIMIT 1";
return new QueryStatement<Integer>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
ExtensionTableProviderTable.set3PluginValuesToStatement(statement, 1, providerName, pluginName, serverUUID);

View File

@ -65,7 +65,7 @@ public class ServerUptimeCalculator {
Optional<Long> latestDataDate = database.query(TPSQueries.fetchLatestTPSEntryForServer(serverUUID)).map(TPS::getDate);
Optional<Long> dataBlockStartDate = database.query(TPSQueries.fetchLatestServerStartTime(serverUUID, dataGapThreshold));
if (!latestDataDate.isPresent() || !dataBlockStartDate.isPresent()) {
if (latestDataDate.isEmpty() || dataBlockStartDate.isEmpty()) {
return Optional.empty();
}

View File

@ -114,7 +114,7 @@ public class AFKTracker {
long time = System.currentTimeMillis();
Optional<Long> lastMoved = getLastMovement(playerUUID);
if (!lastMoved.isPresent() || lastMoved.get() == IGNORES_AFK) {
if (lastMoved.isEmpty() || lastMoved.get() == IGNORES_AFK) {
return false;
}
return time - lastMoved.get() > getAfkThreshold();

View File

@ -126,7 +126,7 @@ public final class PlanPlaceholders {
.flatMap(this::getPlayerUUIDForIdentifier);
UUID playerUUID = foundUUID.orElse(uuid);
PlayerContainer player;
if (givenIdentifier.isPresent() && !foundUUID.isPresent()) {
if (givenIdentifier.isPresent() && foundUUID.isEmpty()) {
player = null; // Don't show other player whose identifier is not found.
} else if (playerUUID != null) {
player = dbSystem.getDatabase().query(ContainerFetchQueries.fetchPlayerContainer(playerUUID));

View File

@ -20,7 +20,6 @@ import com.djrapitops.plan.gathering.cache.SessionCache;
import com.djrapitops.plan.gathering.domain.ActiveSession;
import com.djrapitops.plan.processing.CriticalRunnable;
import java.util.Optional;
import java.util.UUID;
/**
@ -38,7 +37,7 @@ public class MobKillProcessor implements CriticalRunnable {
/**
* Constructor.
*
* @param uuid UUID of the killer.
* @param uuid UUID of the killer.
*/
public MobKillProcessor(UUID uuid) {
this.uuid = uuid;
@ -46,12 +45,6 @@ public class MobKillProcessor implements CriticalRunnable {
@Override
public void run() {
Optional<ActiveSession> cachedSession = SessionCache.getCachedSession(uuid);
if (!cachedSession.isPresent()) {
return;
}
ActiveSession session = cachedSession.get();
session.addMobKill();
SessionCache.getCachedSession(uuid).ifPresent(ActiveSession::addMobKill);
}
}

View File

@ -18,12 +18,9 @@ package com.djrapitops.plan.processing.processors.player;
import com.djrapitops.plan.delivery.domain.ServerIdentifier;
import com.djrapitops.plan.gathering.cache.SessionCache;
import com.djrapitops.plan.gathering.domain.ActiveSession;
import com.djrapitops.plan.gathering.domain.PlayerKill;
import com.djrapitops.plan.processing.CriticalRunnable;
import java.util.Optional;
/**
* Processor Class for KillEvent information when the killer is a
* player.
@ -50,12 +47,9 @@ public class PlayerKillProcessor implements CriticalRunnable {
@Override
public void run() {
Optional<ActiveSession> cachedSession = SessionCache.getCachedSession(killer.getUuid());
if (!cachedSession.isPresent()) {
return;
}
ActiveSession session = cachedSession.get();
session.addPlayerKill(new PlayerKill(killer, victim, server, weaponName, time));
SessionCache.getCachedSession(killer.getUuid())
.ifPresent(session -> session.addPlayerKill(
new PlayerKill(killer, victim, server, weaponName, time)
));
}
}

View File

@ -90,7 +90,7 @@ public abstract class ConfigSystem implements SubSystem {
public void checkWrongTimeZone() {
String timeZone = config.get(FormatSettings.TIMEZONE);
Optional<TimeZone> foundTZ = TimeZoneUtility.parseTimeZone(timeZone);
if (!foundTZ.isPresent()) {
if (foundTZ.isEmpty()) {
logger.warn("Config: " + FormatSettings.TIMEZONE.getPath() + " has invalid value '" + timeZone + "', using GMT+0");
}
}

View File

@ -178,7 +178,7 @@ public class ConfigNode {
*/
public boolean moveChild(String oldPath, String newPath) {
Optional<ConfigNode> found = getNode(oldPath);
if (!found.isPresent()) {
if (found.isEmpty()) {
return false;
}

View File

@ -171,8 +171,6 @@ public class ConfigWriter {
}
private void indent(int indent, StringBuilder lineBuilder) {
for (int i = 0; i < indent; i++) {
lineBuilder.append(' ');
}
lineBuilder.append(" ".repeat(Math.max(0, indent)));
}
}

View File

@ -144,7 +144,7 @@ public class WorldAliasSettings {
long playtime = entry.getValue();
Optional<String> foundAlias = getAlias(worldName);
if (!foundAlias.isPresent()) {
if (foundAlias.isEmpty()) {
addWorld(worldName);
}
@ -165,7 +165,7 @@ public class WorldAliasSettings {
GMTimes gmTimes = entry.getValue();
Optional<String> foundAlias = getAlias(worldName);
if (!foundAlias.isPresent()) {
if (foundAlias.isEmpty()) {
addWorld(worldName);
}
@ -182,7 +182,7 @@ public class WorldAliasSettings {
public String getLongestWorldPlayed(ActiveSession session) {
Optional<WorldTimes> foundWorldTimes = session.getExtraData(WorldTimes.class);
if (!foundWorldTimes.isPresent()) {
if (foundWorldTimes.isEmpty()) {
return locale.get().getString(HtmlLang.UNIT_NO_DATA);
}
WorldTimes worldTimes = foundWorldTimes.orElseGet(WorldTimes::new);
@ -195,7 +195,7 @@ public class WorldAliasSettings {
public String getLongestWorldPlayed(FinishedSession session) {
Optional<WorldTimes> foundWorldTimes = session.getExtraData(WorldTimes.class);
if (!foundWorldTimes.isPresent()) {
if (foundWorldTimes.isEmpty()) {
return locale.get().getString(HtmlLang.UNIT_NO_DATA);
}
WorldTimes worldTimes = foundWorldTimes.orElseGet(WorldTimes::new);

View File

@ -69,7 +69,7 @@ public interface ConfigChange {
@Override
public boolean hasBeenApplied(Config config) {
return !config.getNode(oldPath).isPresent() || config.getNode(newPath).isPresent();
return config.getNode(oldPath).isEmpty() || config.getNode(newPath).isPresent();
}
@Override
@ -117,7 +117,7 @@ public interface ConfigChange {
@Override
public boolean hasBeenApplied(Config config) {
return !config.getNode(oldPath).isPresent();
return config.getNode(oldPath).isEmpty();
}
@Override
@ -143,7 +143,7 @@ public interface ConfigChange {
@Override
public boolean hasBeenApplied(Config config) {
Optional<ConfigNode> node = config.getNode(path);
return !node.isPresent() || node.get().getComment().isEmpty();
return node.isEmpty() || node.get().getComment().isEmpty();
}
@Override
@ -173,7 +173,7 @@ public interface ConfigChange {
@Override
public boolean hasBeenApplied(Config config) {
Optional<ConfigNode> oldNode = config.getNode(oldPath);
return !oldNode.isPresent();
return oldNode.isEmpty();
}
@Override

View File

@ -41,7 +41,7 @@ public class DisplaySettings {
public static final Setting<String> CMD_COLOR_MAIN = new StringSetting("Display_options.Command_colors.Main");
public static final Setting<String> CMD_COLOR_SECONDARY = new StringSetting("Display_options.Command_colors.Secondary");
public static final Setting<String> CMD_COLOR_TERTIARY = new StringSetting("Display_options.Command_colors.Highlight");
public static final Setting<ConfigNode> WORLD_ALIASES = new Setting<ConfigNode>("World_aliases.List", ConfigNode.class) {
public static final Setting<ConfigNode> WORLD_ALIASES = new Setting<>("World_aliases.List", ConfigNode.class) {
@Override
public ConfigNode getValueFrom(ConfigNode node) {
return node.getNode(path).orElseGet(() -> node.addNode(path));

View File

@ -30,11 +30,11 @@ import java.util.function.Predicate;
public class StringListSetting extends Setting<List<String>> {
public StringListSetting(String path) {
super(path, new Type<List<String>>() {});
super(path, new Type<>() {});
}
public StringListSetting(String path, Predicate<List<String>> validator) {
super(path, new Type<List<String>>() {}, validator);
super(path, new Type<>() {}, validator);
}
@Override

View File

@ -108,7 +108,7 @@ public class ServerSettingsManager implements SubSystem {
Database database = dbSystem.getDatabase();
Optional<ServerUUID> serverUUID = serverInfo.getServerUUIDSafe();
if (!serverUUID.isPresent()) {
if (serverUUID.isEmpty()) {
return;
}
@ -132,7 +132,7 @@ public class ServerSettingsManager implements SubSystem {
long lastModified = configFile.exists() ? configFile.lastModified() : -1;
Optional<ServerUUID> serverUUID = serverInfo.getServerUUIDSafe();
if (!serverUUID.isPresent()) {
if (serverUUID.isEmpty()) {
return;
}

View File

@ -58,7 +58,7 @@ public interface Database {
<T> T query(Query<T> query);
default <T> Optional<T> queryOptional(String sql, RowExtractor<T> rowExtractor, Object... parameters) {
return query(new QueryStatement<Optional<T>>(sql) {
return query(new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
QueryParameterSetter.setParameters(statement, parameters);
@ -80,7 +80,7 @@ public interface Database {
}
default <C extends Collection<T>, T> C queryCollection(String sql, RowExtractor<T> rowExtractor, Supplier<C> collectionConstructor, Object... parameters) {
return query(new QueryStatement<C>(sql, 1000) {
return query(new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
QueryParameterSetter.setParameters(statement, parameters);
@ -102,7 +102,7 @@ public interface Database {
}
default <M extends Map<K, V>, K, V> M queryMap(String sql, MapRowExtractor<K, V> rowExtractor, Supplier<M> mapConstructor, Object... parameters) {
return query(new QueryStatement<M>(sql, 100) {
return query(new QueryStatement<>(sql, 100) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
QueryParameterSetter.setParameters(statement, parameters);

View File

@ -366,8 +366,10 @@ public abstract class SQLDB extends AbstractDatabase {
logger.error("Database failed to open, " + transaction.getClass().getName() + " failed to be executed.");
FatalDBException actual = (FatalDBException) throwable.getCause();
Optional<String> whatToDo = actual.getContext().flatMap(ErrorContext::getWhatToDo);
whatToDo.ifPresent(message -> logger.error("What to do: " + message));
if (!whatToDo.isPresent()) logger.error("Error msg: " + actual.getMessage());
whatToDo.ifPresentOrElse(
message -> logger.error("What to do: " + message),
() -> logger.error("Error msg: " + actual.getMessage())
);
setState(State.CLOSED);
}
ThrowableUtils.appendEntryPointToCause(throwable, origin);

View File

@ -66,7 +66,7 @@ public class LargeFetchQueries {
FROM + TPSTable.TABLE_NAME +
INNER_JOIN + ServerTable.TABLE_NAME + " on " + serverIDColumn + "=" + TPSTable.SERVER_ID;
return new QueryAllStatement<Map<ServerUUID, List<TPS>>>(sql, 50000) {
return new QueryAllStatement<>(sql, 50000) {
@Override
public Map<ServerUUID, List<TPS>> processResults(ResultSet set) throws SQLException {
Map<ServerUUID, List<TPS>> serverMap = new HashMap<>();
@ -101,7 +101,7 @@ public class LargeFetchQueries {
public static Query<Map<ServerUUID, Collection<String>>> fetchAllWorldNames() {
String sql = SELECT + '*' + FROM + WorldTable.TABLE_NAME;
return new QueryAllStatement<Map<ServerUUID, Collection<String>>>(sql, 1000) {
return new QueryAllStatement<>(sql, 1000) {
@Override
public Map<ServerUUID, Collection<String>> processResults(ResultSet set) throws SQLException {
Map<ServerUUID, Collection<String>> worldMap = new HashMap<>();

View File

@ -58,7 +58,7 @@ public class PerServerAggregateQueries {
INNER_JOIN + ServerTable.TABLE_NAME + " se on se." + ServerTable.ID + '=' + SessionsTable.TABLE_NAME + '.' + SessionsTable.SERVER_ID +
WHERE + SessionsTable.USER_ID + "=" + UsersTable.SELECT_USER_ID +
GROUP_BY + SessionsTable.SERVER_ID;
return new QueryStatement<Map<ServerUUID, Long>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());
@ -119,7 +119,7 @@ public class PerServerAggregateQueries {
private static QueryStatement<Map<ServerUUID, Integer>> getQueryForCountOf(UUID playerUUID, String sql, String column) {
return new QueryStatement<Map<ServerUUID, Integer>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());

View File

@ -50,7 +50,7 @@ public class PlayerFetchQueries {
String sql = SELECT + UsersTable.USER_NAME +
FROM + UsersTable.TABLE_NAME +
WHERE + UsersTable.USER_UUID + "=?";
return new QueryStatement<Optional<String>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());
@ -76,7 +76,7 @@ public class PlayerFetchQueries {
String sql = SELECT + UsersTable.ID +
FROM + UsersTable.TABLE_NAME +
WHERE + UsersTable.USER_UUID + "=?";
return new QueryStatement<Boolean>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());
@ -115,7 +115,7 @@ public class PlayerFetchQueries {
FROM + UsersTable.TABLE_NAME +
WHERE + UsersTable.USER_UUID + "=? LIMIT 1";
return new QueryStatement<Optional<Long>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());

View File

@ -66,14 +66,12 @@ public abstract class QueryStatement<T> implements Query<T> {
}
public T executeQuery(PreparedStatement statement) throws SQLException {
try {
try (statement) {
statement.setFetchSize(fetchSize);
prepare(statement);
try (ResultSet set = statement.executeQuery()) {
return processResults(set);
}
} finally {
statement.close();
}
}

View File

@ -47,7 +47,7 @@ public class ServerAggregateQueries {
*/
public static Query<Integer> baseUserCount() {
String sql = SELECT + "COUNT(1) as c FROM " + UsersTable.TABLE_NAME;
return new QueryAllStatement<Integer>(sql) {
return new QueryAllStatement<>(sql) {
@Override
public Integer processResults(ResultSet set) throws SQLException {
return set.next() ? set.getInt("c") : 0;
@ -64,7 +64,7 @@ public class ServerAggregateQueries {
public static Query<Integer> serverUserCount(ServerUUID serverUUID) {
String sql = SELECT + "COUNT(1) as c FROM " + UserInfoTable.TABLE_NAME +
WHERE + UserInfoTable.SERVER_ID + "=" + ServerTable.SELECT_SERVER_ID;
return new QueryStatement<Integer>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -91,7 +91,7 @@ public class ServerAggregateQueries {
INNER_JOIN + ServerTable.TABLE_NAME + " s on s." + ServerTable.ID + '=' + UserInfoTable.TABLE_NAME + '.' + UserInfoTable.SERVER_ID +
GROUP_BY + UserInfoTable.SERVER_ID;
return new QueryAllStatement<Map<ServerUUID, Integer>>(sql, 100) {
return new QueryAllStatement<>(sql, 100) {
@Override
public Map<ServerUUID, Integer> processResults(ResultSet set) throws SQLException {
Map<ServerUUID, Integer> ofServer = new HashMap<>();

View File

@ -131,7 +131,7 @@ public class ActivityIndexQueries {
WHERE + "i.activity_index>=?" +
AND + "i.activity_index<?";
return new QueryStatement<Integer>(selectCount) {
return new QueryStatement<>(selectCount) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
setSelectActivityIndexSQLParameters(statement, 1, playtimeThreshold, serverUUID, date);
@ -157,7 +157,7 @@ public class ActivityIndexQueries {
WHERE + "u." + UserInfoTable.SERVER_ID + "=" + ServerTable.SELECT_SERVER_ID +
AND + "u." + UserInfoTable.REGISTERED + "<=?";
return new QueryStatement<Map<String, Integer>>(selectIndexes) {
return new QueryStatement<>(selectIndexes) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
setSelectActivityIndexSQLParameters(statement, 1, threshold, serverUUID, date);
@ -190,7 +190,7 @@ public class ActivityIndexQueries {
AND + "q2.activity_index>=?" +
AND + "q2.activity_index<?";
return new QueryStatement<Integer>(selectActivePlayerCount) {
return new QueryStatement<>(selectActivePlayerCount) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
setSelectActivityIndexSQLParameters(statement, 1, threshold, serverUUID, before);
@ -228,7 +228,7 @@ public class ActivityIndexQueries {
AND + "q4.activity_index>=?" +
AND + "q4.activity_index<?";
return new QueryStatement<Integer>(selectActivePlayerCount) {
return new QueryStatement<>(selectActivePlayerCount) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
setSelectActivityIndexSQLParameters(statement, 1, threshold, serverUUID, start);
@ -361,7 +361,7 @@ public class ActivityIndexQueries {
FROM + '(' + selectNewUUIDs + ") n" +
INNER_JOIN + '(' + selectActivityIndexSQL() + ") a on n." + SessionsTable.USER_ID + "=a." + SessionsTable.USER_ID;
return new QueryStatement<Collection<ActivityIndex>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setLong(1, before);
@ -399,7 +399,7 @@ public class ActivityIndexQueries {
INNER_JOIN + '(' + selectUniqueUUIDs + ") u on n." + SessionsTable.USER_ID + "=u." + SessionsTable.USER_ID +
INNER_JOIN + '(' + selectActivityIndexSQL() + ") a on n." + SessionsTable.USER_ID + "=a." + SessionsTable.USER_ID;
return new QueryStatement<ActivityIndex>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setLong(1, before);
@ -440,7 +440,7 @@ public class ActivityIndexQueries {
INNER_JOIN + '(' + selectActivityIndexSQL() + ") a on n." + SessionsTable.USER_ID + "=a." + SessionsTable.USER_ID +
WHERE + "n." + SessionsTable.USER_ID + IS_NULL;
return new QueryStatement<ActivityIndex>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setLong(1, before);

View File

@ -134,7 +134,7 @@ public class NetworkActivityIndexQueries {
WHERE + "i.activity_index>=?" +
AND + "i.activity_index<?";
return new QueryStatement<Integer>(selectCount) {
return new QueryStatement<>(selectCount) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
setSelectActivityIndexSQLParameters(statement, 1, playtimeThreshold, date);
@ -158,7 +158,7 @@ public class NetworkActivityIndexQueries {
LEFT_JOIN + '(' + selectActivityIndex + ") s on s." + SessionsTable.USER_ID + "=u." + UsersTable.ID +
WHERE + "u." + UsersTable.REGISTERED + "<=?";
return new QueryStatement<Map<String, Integer>>(selectIndexes) {
return new QueryStatement<>(selectIndexes) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
setSelectActivityIndexSQLParameters(statement, 1, threshold, date);
@ -188,7 +188,7 @@ public class NetworkActivityIndexQueries {
AND + "u." + UsersTable.ID + " IN (" +
new TextStringBuilder().appendWithSeparators(userIds, ",").build() + ")";
return new QueryStatement<Map<String, Integer>>(selectIndexes) {
return new QueryStatement<>(selectIndexes) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
setSelectActivityIndexSQLParameters(statement, 1, threshold, date);
@ -219,7 +219,7 @@ public class NetworkActivityIndexQueries {
AND + "q2.activity_index>=?" +
AND + "q2.activity_index<?";
return new QueryStatement<Integer>(selectActivePlayerCount) {
return new QueryStatement<>(selectActivePlayerCount) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
setSelectActivityIndexSQLParameters(statement, 1, threshold, before);
@ -255,7 +255,7 @@ public class NetworkActivityIndexQueries {
AND + "q4.activity_index>=?" +
AND + "q4.activity_index<?";
return new QueryStatement<Integer>(selectActivePlayerCount) {
return new QueryStatement<>(selectActivePlayerCount) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
setSelectActivityIndexSQLParameters(statement, 1, threshold, end);
@ -381,7 +381,7 @@ public class NetworkActivityIndexQueries {
FROM + '(' + selectNewUUIDs + ") n" +
INNER_JOIN + '(' + selectActivityIndexSQL() + ") a on n." + UsersTable.ID + "=a." + SessionsTable.USER_ID;
return new QueryStatement<Collection<ActivityIndex>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setLong(1, before);
@ -416,7 +416,7 @@ public class NetworkActivityIndexQueries {
INNER_JOIN + '(' + selectUniqueUUIDs + ") u on n." + UsersTable.ID + "=u." + SessionsTable.USER_ID +
INNER_JOIN + '(' + selectActivityIndexSQL() + ") a on n." + UsersTable.ID + "=a." + SessionsTable.USER_ID;
return new QueryStatement<ActivityIndex>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setLong(1, before);
@ -438,7 +438,7 @@ public class NetworkActivityIndexQueries {
public static Query<Map<Integer, ActivityIndex>> activityIndexForAllPlayers(long date, long playtimeThreshold) {
String selectActivityIndex = selectActivityIndexSQL();
return new QueryStatement<Map<Integer, ActivityIndex>>(selectActivityIndex, 1000) {
return new QueryStatement<>(selectActivityIndex, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
setSelectActivityIndexSQLParameters(statement, 1, playtimeThreshold, date);

View File

@ -411,7 +411,7 @@ public class PlayerCountQueries {
AND + SessionsTable.SESSION_END + "<=?" +
AND + "s." + SessionsTable.SERVER_ID + "=" + ServerTable.SELECT_SERVER_ID;
return new QueryStatement<Integer>(selectUniqueUUIDs) {
return new QueryStatement<>(selectUniqueUUIDs) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setLong(1, after);

View File

@ -59,7 +59,7 @@ public class PluginBooleanGroupFilter extends MultiOptionFilter {
INNER_JOIN + ExtensionPlayerValueTable.TABLE_NAME + " value on value." + ExtensionPlayerValueTable.PROVIDER_ID + "=provider." + ExtensionProviderTable.ID +
WHERE + "value." + ExtensionPlayerValueTable.BOOLEAN_VALUE + " IS NOT NULL" +
ORDER_BY + "server_name ASC, plugin_name ASC, provider_text ASC";
return new QueryAllStatement<List<PluginBooleanOption>>(selectOptions) {
return new QueryAllStatement<>(selectOptions) {
@Override
public List<PluginBooleanOption> processResults(ResultSet set) throws SQLException {
List<PluginBooleanOption> options = new ArrayList<>();
@ -115,7 +115,7 @@ public class PluginBooleanGroupFilter extends MultiOptionFilter {
AND + "provider." + ExtensionProviderTable.TEXT + "=?" +
AND + "value." + ExtensionPlayerValueTable.BOOLEAN_VALUE + (selectedBoolean == SelectedBoolean.BOTH ? "IS NOT NULL" : "=?");
return new QueryStatement<Set<Integer>>(selectUUIDsWithBooleanValues) {
return new QueryStatement<>(selectUUIDsWithBooleanValues) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());

View File

@ -58,7 +58,7 @@ public class GeoInfoQueries {
FROM + GeoInfoTable.TABLE_NAME + " g" +
INNER_JOIN + UsersTable.TABLE_NAME + " u on g.user_id=u.id";
return new QueryAllStatement<Map<UUID, List<GeoInfo>>>(sql, 10000) {
return new QueryAllStatement<>(sql, 10000) {
@Override
public Map<UUID, List<GeoInfo>> processResults(ResultSet set) throws SQLException {
return extractGeoInformation(set);

View File

@ -80,7 +80,7 @@ public class JoinAddressQueries {
FROM + JoinAddressTable.TABLE_NAME +
ORDER_BY + JoinAddressTable.JOIN_ADDRESS + " ASC";
return new QueryAllStatement<List<String>>(sql, 100) {
return new QueryAllStatement<>(sql, 100) {
@Override
public List<String> processResults(ResultSet set) throws SQLException {
List<String> joinAddresses = new ArrayList<>();

View File

@ -67,7 +67,7 @@ public class KillQueries {
WHERE + "ki." + KillsTable.SERVER_UUID + "=?" +
ORDER_BY + KillsTable.DATE + " DESC LIMIT ?";
return new QueryStatement<List<PlayerKill>>(sql, limit) {
return new QueryStatement<>(sql, limit) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -103,7 +103,7 @@ public class KillQueries {
WHERE + "ki." + KillsTable.KILLER_UUID + "=?" +
ORDER_BY + KillsTable.DATE + " DESC";
return new QueryStatement<List<PlayerKill>>(sql, 100) {
return new QueryStatement<>(sql, 100) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());
@ -138,7 +138,7 @@ public class KillQueries {
WHERE + "ki." + KillsTable.VICTIM_UUID + "=?" +
ORDER_BY + KillsTable.DATE + " DESC";
return new QueryStatement<List<PlayerKill>>(sql, 100) {
return new QueryStatement<>(sql, 100) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());
@ -205,7 +205,7 @@ public class KillQueries {
WHERE + "kills" + IS_NOT_NULL +
AND + "deaths" + IS_NOT_NULL;
return new QueryStatement<Double>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());

View File

@ -54,7 +54,7 @@ public class NicknameQueries {
NicknamesTable.SERVER_UUID +
FROM + NicknamesTable.TABLE_NAME;
return new QueryAllStatement<Map<ServerUUID, Map<UUID, List<Nickname>>>>(sql, 5000) {
return new QueryAllStatement<>(sql, 5000) {
@Override
public Map<ServerUUID, Map<UUID, List<Nickname>>> processResults(ResultSet set) throws SQLException {
Map<ServerUUID, Map<UUID, List<Nickname>>> map = new HashMap<>();

View File

@ -61,7 +61,7 @@ public class PingQueries {
FROM + PingTable.TABLE_NAME + " p" +
INNER_JOIN + UsersTable.TABLE_NAME + " u on u.id=p." + PingTable.USER_ID +
INNER_JOIN + ServerTable.TABLE_NAME + " s on s.id=p." + PingTable.SERVER_ID;
return new QueryAllStatement<Map<UUID, List<Ping>>>(sql, 100000) {
return new QueryAllStatement<>(sql, 100000) {
@Override
public Map<UUID, List<Ping>> processResults(ResultSet set) throws SQLException {
return extractUserPings(set);
@ -101,7 +101,7 @@ public class PingQueries {
INNER_JOIN + ServerTable.TABLE_NAME + " s on s." + ServerTable.ID + "=p." + PingTable.SERVER_ID +
WHERE + PingTable.USER_ID + "=" + UsersTable.SELECT_USER_ID;
return new QueryStatement<List<Ping>>(sql, 10000) {
return new QueryStatement<>(sql, 10000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());
@ -137,7 +137,7 @@ public class PingQueries {
WHERE + PingTable.SERVER_ID + "=" + ServerTable.SELECT_SERVER_ID +
AND + PingTable.DATE + ">=?" +
AND + PingTable.DATE + "<=?";
return new QueryStatement<List<Ping>>(sql, 1000) {
return new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -181,7 +181,7 @@ public class PingQueries {
AND + "sp." + PingTable.SERVER_ID + "=" + ServerTable.SELECT_SERVER_ID +
GROUP_BY + "a." + GeoInfoTable.GEOLOCATION;
return new QueryStatement<Map<String, Ping>>(selectPingByGeolocation) {
return new QueryStatement<>(selectPingByGeolocation) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -220,7 +220,7 @@ public class PingQueries {
WHERE + "b." + GeoInfoTable.LAST_USED + IS_NULL +
GROUP_BY + "a." + GeoInfoTable.GEOLOCATION;
return new QueryAllStatement<Map<String, Ping>>(selectPingByGeolocation) {
return new QueryAllStatement<>(selectPingByGeolocation) {
@Override
public Map<String, Ping> processResults(ResultSet set) throws SQLException {
// TreeMap to sort alphabetically
@ -246,7 +246,7 @@ public class PingQueries {
AND + PingTable.DATE + ">=?" +
AND + PingTable.DATE + "<=?";
return new QueryStatement<Double>(sql, 1000) {
return new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());

View File

@ -47,7 +47,7 @@ public class ServerQueries {
public static Query<Collection<Server>> fetchUninstalledServerInformation() {
String sql = SELECT + '*' + FROM + ServerTable.TABLE_NAME + WHERE + ServerTable.INSTALLED + "=?";
return new QueryStatement<Collection<Server>>(sql, 100) {
return new QueryStatement<>(sql, 100) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setBoolean(1, false);
@ -78,7 +78,7 @@ public class ServerQueries {
public static Query<Map<ServerUUID, Server>> fetchPlanServerInformation() {
String sql = SELECT + '*' + FROM + ServerTable.TABLE_NAME + WHERE + ServerTable.INSTALLED + "=?";
return new QueryStatement<Map<ServerUUID, Server>>(sql, 100) {
return new QueryStatement<>(sql, 100) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setBoolean(1, true);
@ -118,7 +118,7 @@ public class ServerQueries {
OR + ServerTable.ID + "=?)" +
AND + ServerTable.INSTALLED + "=?" +
LIMIT + '1';
return new QueryStatement<Optional<Server>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, identifier);
@ -150,7 +150,7 @@ public class ServerQueries {
WHERE + ServerTable.INSTALLED + "=?" +
AND + ServerTable.PROXY + "=?" +
LIMIT + '1';
return new QueryStatement<Optional<Server>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setBoolean(1, true);
@ -179,7 +179,7 @@ public class ServerQueries {
.where(ServerTable.PROXY + "=0")
.toString();
return new QueryAllStatement<List<String>>(sql) {
return new QueryAllStatement<>(sql) {
@Override
public List<String> processResults(ResultSet set) throws SQLException {
List<String> names = new ArrayList<>();
@ -196,7 +196,7 @@ public class ServerQueries {
ServerTable.ID, ServerTable.SERVER_UUID, ServerTable.NAME)
.toString();
return new QueryAllStatement<Map<ServerUUID, String>>(sql) {
return new QueryAllStatement<>(sql) {
@Override
public Map<ServerUUID, String> processResults(ResultSet set) throws SQLException {
Map<ServerUUID, String> names = new HashMap<>();
@ -219,7 +219,7 @@ public class ServerQueries {
OR + ServerTable.ID + "=?)" +
AND + ServerTable.INSTALLED + "=?" +
LIMIT + '1';
return new QueryStatement<List<Server>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, '%' + identifier + '%');
@ -250,7 +250,7 @@ public class ServerQueries {
public static Query<Integer> fetchServerCount() {
String sql = SELECT + "COUNT(1) as c" + FROM + ServerTable.TABLE_NAME +
WHERE + ServerTable.INSTALLED + "=?";
return new QueryStatement<Integer>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setBoolean(1, true);
@ -266,7 +266,7 @@ public class ServerQueries {
public static Query<Integer> fetchBiggestServerID() {
String sql = SELECT + "MAX(" + ServerTable.ID + ") as max_id" + FROM + ServerTable.TABLE_NAME +
WHERE + ServerTable.INSTALLED + "=?";
return new QueryStatement<Integer>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setBoolean(1, true);

View File

@ -99,7 +99,7 @@ public class SessionQueries {
public static Query<List<FinishedSession>> fetchAllSessions() {
String sql = SELECT_SESSIONS_STATEMENT +
ORDER_BY_SESSION_START_DESC;
return new QueryAllStatement<List<FinishedSession>>(sql, 50000) {
return new QueryAllStatement<>(sql, 50000) {
@Override
public List<FinishedSession> processResults(ResultSet set) throws SQLException {
return extractDataFromSessionSelectStatement(set);
@ -117,7 +117,7 @@ public class SessionQueries {
String sql = SELECT_SESSIONS_STATEMENT +
WHERE + "s." + SessionsTable.USER_ID + "=" + UsersTable.SELECT_USER_ID +
ORDER_BY_SESSION_START_DESC;
return new QueryStatement<Map<ServerUUID, List<FinishedSession>>>(sql, 1000) {
return new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());
@ -180,7 +180,7 @@ public class SessionQueries {
worldTimes.setGMTimesForWorld(worldName, gmTimes);
}
if (!existingWorldTimes.isPresent()) extraData.put(WorldTimes.class, worldTimes);
if (existingWorldTimes.isEmpty()) extraData.put(WorldTimes.class, worldTimes);
ServerName serverName = new ServerName(
Server.getIdentifiableName(
@ -210,7 +210,7 @@ public class SessionQueries {
playerKills.add(newKill);
}
}
if (!existingPlayerKills.isPresent()) extraData.put(PlayerKills.class, playerKills);
if (existingPlayerKills.isEmpty()) extraData.put(PlayerKills.class, playerKills);
extraData.put(PlayerName.class, new PlayerName(set.getString("name")));
@ -243,7 +243,7 @@ public class SessionQueries {
AND + SessionsTable.SESSION_START + ">=?" +
AND + SessionsTable.SESSION_START + "<=?";
return new QueryStatement<List<FinishedSession>>(sql, 1000) {
return new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -281,7 +281,7 @@ public class SessionQueries {
WHERE + SessionsTable.SERVER_ID + "=" + ServerTable.SELECT_SERVER_ID +
ORDER_BY_SESSION_START_DESC + " LIMIT ?";
return new QueryStatement<Long>(sql, limit) {
return new QueryStatement<>(sql, limit) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -303,7 +303,7 @@ public class SessionQueries {
String sql = SELECT + SessionsTable.SESSION_START + FROM + SessionsTable.TABLE_NAME +
ORDER_BY_SESSION_START_DESC + " LIMIT ?";
return new QueryStatement<Long>(sql, limit) {
return new QueryStatement<>(sql, limit) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setInt(1, limit);
@ -372,7 +372,7 @@ public class SessionQueries {
WHERE + SessionsTable.SERVER_ID + "=" + ServerTable.SELECT_SERVER_ID +
AND + SessionsTable.SESSION_END + ">=?" +
AND + SessionsTable.SESSION_START + "<=?";
return new QueryStatement<Long>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -392,7 +392,7 @@ public class SessionQueries {
FROM + SessionsTable.TABLE_NAME +
WHERE + SessionsTable.SESSION_END + ">=?" +
AND + SessionsTable.SESSION_START + "<=?";
return new QueryStatement<Long>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setLong(1, after);
@ -455,7 +455,7 @@ public class SessionQueries {
WHERE + SessionsTable.SERVER_ID + "=" + ServerTable.SELECT_SERVER_ID +
AND + SessionsTable.SESSION_END + ">=?" +
AND + SessionsTable.SESSION_START + "<=?";
return new QueryStatement<Long>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -478,7 +478,7 @@ public class SessionQueries {
AND + SessionsTable.SESSION_END + ">=?" +
AND + SessionsTable.SESSION_START + "<=?" +
GROUP_BY + SessionsTable.SERVER_ID;
return new QueryStatement<Map<ServerUUID, Long>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());
@ -502,7 +502,7 @@ public class SessionQueries {
FROM + SessionsTable.TABLE_NAME +
WHERE + SessionsTable.SESSION_END + ">=?" +
AND + SessionsTable.SESSION_START + "<=?";
return new QueryStatement<Long>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setLong(1, after);
@ -718,7 +718,7 @@ public class SessionQueries {
WHERE + SessionsTable.SERVER_ID + "=" + ServerTable.SELECT_SERVER_ID +
AND + SessionsTable.SESSION_END + ">=?" +
AND + SessionsTable.SESSION_START + "<=?";
return new QueryStatement<Long>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -738,7 +738,7 @@ public class SessionQueries {
FROM + SessionsTable.TABLE_NAME +
WHERE + SessionsTable.SESSION_END + ">=?" +
AND + SessionsTable.SESSION_START + "<=?";
return new QueryStatement<Long>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setLong(1, after);
@ -762,7 +762,7 @@ public class SessionQueries {
WHERE + SessionsTable.SESSION_END + ">=?" +
AND + SessionsTable.SESSION_START + "<=?" +
GROUP_BY + "s." + ServerTable.ID;
return new QueryStatement<Map<String, Long>>(sql, 100) {
return new QueryStatement<>(sql, 100) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setLong(1, after);
@ -789,7 +789,7 @@ public class SessionQueries {
FROM + SessionsTable.TABLE_NAME +
WHERE + SessionsTable.USER_ID + "=" + UsersTable.SELECT_USER_ID +
AND + SessionsTable.SERVER_ID + "=" + ServerTable.SELECT_SERVER_ID;
return new QueryStatement<Long>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());
@ -810,7 +810,7 @@ public class SessionQueries {
WHERE + SessionsTable.SERVER_ID + "=" + ServerTable.SELECT_SERVER_ID +
AND + SessionsTable.SESSION_END + ">=?" +
AND + SessionsTable.SESSION_START + "<=?";
return new QueryStatement<Long>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -836,7 +836,7 @@ public class SessionQueries {
WHERE + SessionsTable.SESSION_END + ">=?" +
AND + SessionsTable.SESSION_START + "<=?" +
(serverUUIDs.isEmpty() ? "" : AND + SessionsTable.SERVER_ID + " IN (" + selectServerIds + ")");
return new QueryStatement<Set<Integer>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setLong(1, after);
@ -870,7 +870,7 @@ public class SessionQueries {
AND + SessionsTable.USER_ID + uuidsInSet +
(serverUUIDs.isEmpty() ? "" : AND + SessionsTable.SERVER_ID + " IN (" + selectServerIds + ")");
return new QueryStatement<Map<String, Long>>(selectAggregates) {
return new QueryStatement<>(selectAggregates) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setLong(1, after);
@ -905,7 +905,7 @@ public class SessionQueries {
public static Query<Long> earliestSessionStart() {
String sql = SELECT + "MIN(" + SessionsTable.SESSION_START + ") as m" +
FROM + SessionsTable.TABLE_NAME;
return new QueryAllStatement<Long>(sql) {
return new QueryAllStatement<>(sql) {
@Override
public Long processResults(ResultSet set) throws SQLException {
return set.next() ? set.getLong("m") : -1L;

View File

@ -105,7 +105,7 @@ public class TPSQueries {
AND + DATE + "<=?" +
ORDER_BY + DATE;
return new QueryStatement<List<TPS>>(sql, 50000) {
return new QueryStatement<>(sql, 50000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -132,7 +132,7 @@ public class TPSQueries {
WHERE + SERVER_ID + "=" + ServerTable.SELECT_SERVER_ID +
GROUP_BY + floor(DATE + "/?");
return new QueryStatement<List<DateObj<Integer>>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -155,7 +155,7 @@ public class TPSQueries {
WHERE + ServerTable.SERVER_UUID + "=?" +
AND + DATE + "<?" +
AND + DATE + ">?";
return new QueryStatement<List<DateObj<Integer>>>(sql, 1000) {
return new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -184,7 +184,7 @@ public class TPSQueries {
AND + ServerTable.INSTALLED + "=?" +
AND + DATE + "<?" +
AND + DATE + ">?";
return new QueryStatement<Map<Integer, List<TPS>>>(sql, 5000) {
return new QueryStatement<>(sql, 5000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
if (leaveOut != null) {
@ -225,7 +225,7 @@ public class TPSQueries {
AND + PLAYERS_ONLINE + "=" + subQuery +
ORDER_BY + DATE + " DESC LIMIT 1";
return new QueryStatement<Optional<DateObj<Integer>>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -257,7 +257,7 @@ public class TPSQueries {
WHERE + SERVER_ID + '=' + ServerTable.SELECT_SERVER_ID +
ORDER_BY + DATE + " DESC LIMIT 1";
return new QueryStatement<Optional<TPS>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -288,7 +288,7 @@ public class TPSQueries {
AND + TPS + ">=0" +
AND + DATE + "<?" +
AND + DATE + ">?";
return new QueryStatement<Double>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -309,7 +309,7 @@ public class TPSQueries {
AND + CPU_USAGE + ">=0" +
AND + DATE + "<?" +
AND + DATE + ">?";
return new QueryStatement<Double>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -330,7 +330,7 @@ public class TPSQueries {
AND + RAM_USAGE + ">=0" +
AND + DATE + "<?" +
AND + DATE + ">?";
return new QueryStatement<Long>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -351,7 +351,7 @@ public class TPSQueries {
AND + CHUNKS + ">=0" +
AND + DATE + "<?" +
AND + DATE + ">?";
return new QueryStatement<Long>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -372,7 +372,7 @@ public class TPSQueries {
AND + ENTITIES + ">=0" +
AND + DATE + "<?" +
AND + DATE + ">?";
return new QueryStatement<Long>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -393,7 +393,7 @@ public class TPSQueries {
AND + FREE_DISK + ">=0" +
AND + DATE + "<?" +
AND + DATE + ">?";
return new QueryStatement<Long>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -414,7 +414,7 @@ public class TPSQueries {
AND + FREE_DISK + ">=0" +
AND + DATE + "<?" +
AND + DATE + ">?";
return new QueryStatement<Long>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -435,7 +435,7 @@ public class TPSQueries {
AND + FREE_DISK + ">=0" +
AND + DATE + "<?" +
AND + DATE + ">?";
return new QueryStatement<Long>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -456,7 +456,7 @@ public class TPSQueries {
AND + DATE + ">=?" +
AND + DATE + "<=?" +
ORDER_BY + DATE;
return new QueryStatement<Map<Integer, List<TPS>>>(sql, 50000) {
return new QueryStatement<>(sql, 50000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setLong(1, after);
@ -503,7 +503,7 @@ public class TPSQueries {
WHERE + "d1 - previous_date > ?" +
UNION + selectFirstEntryDate;
return new QueryStatement<Optional<Long>>(selectStartTime) {
return new QueryStatement<>(selectStartTime) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());

View File

@ -52,7 +52,7 @@ public class UserIdentifierQueries {
public static Query<Set<UUID>> fetchAllPlayerUUIDs() {
String sql = Select.from(UsersTable.TABLE_NAME, UsersTable.USER_UUID).toString();
return new QueryAllStatement<Set<UUID>>(sql, 20000) {
return new QueryAllStatement<>(sql, 20000) {
@Override
public Set<UUID> processResults(ResultSet set) throws SQLException {
Set<UUID> playerUUIDs = new HashSet<>();
@ -78,7 +78,7 @@ public class UserIdentifierQueries {
INNER_JOIN + UserInfoTable.TABLE_NAME + " on " +
UsersTable.TABLE_NAME + '.' + UsersTable.ID + "=" + UserInfoTable.TABLE_NAME + '.' + UserInfoTable.USER_ID +
WHERE + UserInfoTable.SERVER_ID + "=" + ServerTable.SELECT_SERVER_ID;
return new QueryStatement<Set<UUID>>(sql, 1000) {
return new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -104,7 +104,7 @@ public class UserIdentifierQueries {
public static Query<Map<UUID, String>> fetchAllPlayerNames() {
String sql = Select.from(UsersTable.TABLE_NAME, UsersTable.USER_UUID, UsersTable.USER_NAME).toString();
return new QueryAllStatement<Map<UUID, String>>(sql, 20000) {
return new QueryAllStatement<>(sql, 20000) {
@Override
public Map<UUID, String> processResults(ResultSet set) throws SQLException {
Map<UUID, String> names = new HashMap<>();
@ -130,7 +130,7 @@ public class UserIdentifierQueries {
.where("UPPER(" + UsersTable.USER_NAME + ")=UPPER(?)")
.toString();
return new QueryStatement<Optional<UUID>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerName);
@ -156,7 +156,7 @@ public class UserIdentifierQueries {
public static Query<Optional<String>> fetchPlayerNameOf(UUID playerUUID) {
String sql = Select.from(UsersTable.TABLE_NAME, UsersTable.USER_NAME).where(UsersTable.USER_UUID + "=?").toString();
return new QueryStatement<Optional<String>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());
@ -183,7 +183,7 @@ public class UserIdentifierQueries {
UsersTable.TABLE_NAME + '.' + UsersTable.USER_UUID + "=" + NicknamesTable.TABLE_NAME + '.' + NicknamesTable.USER_UUID +
WHERE + "LOWER(" + NicknamesTable.NICKNAME + ") LIKE LOWER(?)";
return new QueryStatement<List<String>>(sql, 5000) {
return new QueryStatement<>(sql, 5000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, '%' + searchFor + '%');
@ -207,7 +207,7 @@ public class UserIdentifierQueries {
public static Query<Set<Integer>> fetchAllUserIds() {
String sql = Select.from(UsersTable.TABLE_NAME, UsersTable.ID).toString();
return new QueryAllStatement<Set<Integer>>(sql, 2000) {
return new QueryAllStatement<>(sql, 2000) {
@Override
public Set<Integer> processResults(ResultSet set) throws SQLException {
Set<Integer> playerUUIDs = new HashSet<>();
@ -222,7 +222,7 @@ public class UserIdentifierQueries {
public static Query<Optional<Integer>> fetchUserId(UUID playerUUID) {
String sql = Select.from(UsersTable.TABLE_NAME, UsersTable.ID).where(UsersTable.USER_UUID + "=?").toString();
return new QueryStatement<Optional<Integer>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());

View File

@ -64,7 +64,7 @@ public class UserInfoQueries {
INNER_JOIN + UsersTable.TABLE_NAME + " u on u." + UsersTable.ID + '=' + "ux." + UserInfoTable.USER_ID +
INNER_JOIN + ServerTable.TABLE_NAME + " s on s." + ServerTable.ID + '=' + "ux." + UserInfoTable.SERVER_ID;
return new QueryAllStatement<Map<ServerUUID, List<UserInfo>>>(sql, 50000) {
return new QueryAllStatement<>(sql, 50000) {
@Override
public Map<ServerUUID, List<UserInfo>> processResults(ResultSet set) throws SQLException {
Map<ServerUUID, List<UserInfo>> serverMap = new HashMap<>();
@ -103,7 +103,7 @@ public class UserInfoQueries {
INNER_JOIN + ServerTable.TABLE_NAME + " s on s." + ServerTable.ID + '=' + UserInfoTable.TABLE_NAME + '.' + UserInfoTable.SERVER_ID +
WHERE + UserInfoTable.TABLE_NAME + '.' + UserInfoTable.USER_ID + "=" + UsersTable.SELECT_USER_ID;
return new QueryStatement<Set<UserInfo>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());
@ -136,7 +136,7 @@ public class UserInfoQueries {
AND + "ux." + UserInfoTable.REGISTERED + ">=?" +
AND + "ux." + UserInfoTable.REGISTERED + "<=?";
return new QueryStatement<Map<UUID, Long>>(sql, 1000) {
return new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -167,7 +167,7 @@ public class UserInfoQueries {
FROM + UserInfoTable.TABLE_NAME +
INNER_JOIN + UsersTable.TABLE_NAME + " u on u." + UsersTable.ID + '=' + UserInfoTable.TABLE_NAME + '.' + UserInfoTable.USER_ID +
WHERE + column + "=?";
return new QueryStatement<Set<Integer>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setBoolean(1, value);
@ -215,7 +215,7 @@ public class UserInfoQueries {
INNER_JOIN + "(" + selectServerIds + ") sel_server on sel_server." + ServerTable.ID + "=ux." + UserInfoTable.SERVER_ID +
WHERE + "ux." + UserInfoTable.REGISTERED + ">=?" +
AND + "ux." + UserInfoTable.REGISTERED + "<=?";
return new QueryStatement<Set<Integer>>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setLong(1, after);

View File

@ -65,7 +65,7 @@ public class WorldTimesQueries {
WHERE + WorldTimesTable.TABLE_NAME + '.' + WorldTimesTable.SERVER_ID + "=" + ServerTable.SELECT_SERVER_ID +
GROUP_BY + WORLD_COLUMN;
return new QueryStatement<WorldTimes>(sql, 1000) {
return new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -100,7 +100,7 @@ public class WorldTimesQueries {
WHERE + WorldTimesTable.USER_ID + "=" + UsersTable.SELECT_USER_ID +
GROUP_BY + WORLD_COLUMN;
return new QueryStatement<WorldTimes>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());
@ -137,7 +137,7 @@ public class WorldTimesQueries {
WHERE + WorldTimesTable.TABLE_NAME + '.' + WorldTimesTable.USER_ID + "=" + UsersTable.SELECT_USER_ID +
GROUP_BY + WORLD_COLUMN + ',' + WorldTimesTable.TABLE_NAME + '.' + WorldTimesTable.SERVER_ID;
return new QueryStatement<Map<ServerUUID, WorldTimes>>(sql, 1000) {
return new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, playerUUID.toString());
@ -183,7 +183,7 @@ public class WorldTimesQueries {
AND + SessionsTable.SESSION_START + ">=?" +
AND + SessionsTable.SESSION_END + "<=?";
return new QueryStatement<GMTimes>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -200,7 +200,7 @@ public class WorldTimesQueries {
public static QueryStatement<Set<World>> fetchWorlds() {
String worldNameSql = SELECT + '*' + FROM + WorldTable.TABLE_NAME;
return new QueryAllStatement<Set<World>>(worldNameSql) {
return new QueryAllStatement<>(worldNameSql) {
@Override
public Set<World> processResults(ResultSet set) throws SQLException {
Set<World> worlds = new HashSet<>();

View File

@ -93,7 +93,7 @@ public class NetworkTablePlayersQuery implements Query<List<TablePlayer>> {
LEFT_JOIN + '(' + NetworkActivityIndexQueries.selectActivityIndexSQL() + ") act on u." + UsersTable.ID + "=act." + UserInfoTable.USER_ID +
ORDER_BY + "ses.last_seen DESC LIMIT ?";
return db.query(new QueryStatement<List<TablePlayer>>(selectBaseUsers, 1000) {
return db.query(new QueryStatement<>(selectBaseUsers, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setBoolean(1, true);

View File

@ -118,7 +118,7 @@ public class QueryTablePlayersQuery implements Query<List<TablePlayer>> {
WHERE + "u." + UsersTable.ID + userIdsInSet +
ORDER_BY + "ses.last_seen DESC";
return db.query(new QueryStatement<List<TablePlayer>>(selectBaseUsers, 1000) {
return db.query(new QueryStatement<>(selectBaseUsers, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setBoolean(1, true);

View File

@ -99,7 +99,7 @@ public class ServerTablePlayersQuery implements Query<List<TablePlayer>> {
WHERE + UserInfoTable.SERVER_ID + "=" + ServerTable.SELECT_SERVER_ID +
ORDER_BY + "ses.last_seen DESC LIMIT ?";
return db.query(new QueryStatement<List<TablePlayer>>(selectBaseUsers, 1000) {
return db.query(new QueryStatement<>(selectBaseUsers, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString()); // Session query

View File

@ -54,7 +54,7 @@ public class MySQLSchemaQueries {
FROM + "INFORMATION_SCHEMA.KEY_COLUMN_USAGE" +
WHERE + "REFERENCED_TABLE_SCHEMA = DATABASE()" +
AND + "REFERENCED_TABLE_NAME = ?";
return new QueryStatement<List<ForeignKeyConstraint>>(keySQL) {
return new QueryStatement<>(keySQL) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, referencedTable);
@ -114,7 +114,7 @@ public class MySQLSchemaQueries {
FROM + "information_schema.COLUMNS" +
WHERE + "TABLE_NAME=? AND COLUMN_NAME=? AND TABLE_SCHEMA=DATABASE()";
return new QueryStatement<Integer>(sql) {
return new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, table);

View File

@ -49,7 +49,7 @@ public class SQLiteSchemaQueries {
}
public static Query<Boolean> doesColumnExist(String tableName, String columnName) {
return new QueryAllStatement<Boolean>("PRAGMA table_info(" + tableName + ')') {
return new QueryAllStatement<>("PRAGMA table_info(" + tableName + ')') {
@Override
public Boolean processResults(ResultSet set) throws SQLException {
while (set.next()) {

View File

@ -88,7 +88,7 @@ public class KillsTable {
ServerUUID serverUUID = session.getServerUUID();
Optional<PlayerKills> playerKills = session.getExtraData().get(PlayerKills.class);
if (!playerKills.isPresent()) return;
if (playerKills.isEmpty()) return;
for (PlayerKill kill : playerKills.get().asList()) {
// Session ID select statement parameters

View File

@ -101,7 +101,7 @@ public class WorldTimesTable {
UUID uuid = session.getPlayerUUID();
ServerUUID serverUUID = session.getServerUUID();
Optional<WorldTimes> worldTimes = session.getExtraData().get(WorldTimes.class);
if (!worldTimes.isPresent()) return;
if (worldTimes.isEmpty()) return;
for (Map.Entry<String, GMTimes> worldTimesEntry : worldTimes.get().getWorldTimes().entrySet()) {
String worldName = worldTimesEntry.getKey();

View File

@ -59,11 +59,9 @@ public abstract class ExecStatement implements Executable {
}
public boolean execute(PreparedStatement statement) throws SQLException {
try {
try (statement) {
prepare(statement);
return callExecute(statement);
} finally {
statement.close();
}
}

View File

@ -65,7 +65,7 @@ public class RemoveDuplicateUserInfoTransaction extends ThrowawayTransaction {
}
private Collection<Integer> getDuplicates() {
return query(new QueryAllStatement<Collection<Integer>>(STATEMENT_SELECT_DUPLICATE_IDS) {
return query(new QueryAllStatement<>(STATEMENT_SELECT_DUPLICATE_IDS) {
@Override
public Collection<Integer> processResults(ResultSet set) throws SQLException {
Set<Integer> duplicateIDs = new HashSet<>();

View File

@ -129,7 +129,7 @@ public class RemoveOldExtensionsTransaction extends ThrowawayTransaction {
FROM + ExtensionProviderTable.TABLE_NAME + " pr" +
INNER_JOIN + ExtensionPluginTable.TABLE_NAME + " pl on pl." + ExtensionPluginTable.ID + "=pr." + ExtensionProviderTable.PLUGIN_ID +
WHERE + ExtensionPluginTable.SERVER_UUID + "=?";
return new QueryStatement<Collection<Integer>>(sql, 100) {
return new QueryStatement<>(sql, 100) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -156,7 +156,7 @@ public class RemoveOldExtensionsTransaction extends ThrowawayTransaction {
INNER_JOIN + ExtensionPluginTable.TABLE_NAME + " pl on pl." + ExtensionPluginTable.ID + "=pr." + ExtensionTableProviderTable.PLUGIN_ID +
WHERE + ExtensionPluginTable.LAST_UPDATED + "<?" +
AND + ExtensionPluginTable.SERVER_UUID + "=?";
return new QueryStatement<Collection<Integer>>(sql, 100) {
return new QueryStatement<>(sql, 100) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setLong(1, deleteOlder);

View File

@ -72,13 +72,13 @@ public class DeleteIPsPatch extends Patch {
}
private boolean hasLessDataInPlanIPs() {
Integer inIPs = query(new QueryAllStatement<Integer>(SELECT + "COUNT(1) as c" + FROM + oldTableName) {
Integer inIPs = query(new QueryAllStatement<>(SELECT + "COUNT(1) as c" + FROM + oldTableName) {
@Override
public Integer processResults(ResultSet set) throws SQLException {
return set.next() ? set.getInt("c") : 0;
}
});
Integer inGeoInfo = query(new QueryAllStatement<Integer>(SELECT + "COUNT(1) as c" + FROM + GeoInfoTable.TABLE_NAME) {
Integer inGeoInfo = query(new QueryAllStatement<>(SELECT + "COUNT(1) as c" + FROM + GeoInfoTable.TABLE_NAME) {
@Override
public Integer processResults(ResultSet set) throws SQLException {
return set.next() ? set.getInt("c") : 0;

View File

@ -60,7 +60,7 @@ public class LinkUsersToPlayersSecurityTablePatch extends Patch {
String sql = "UPDATE " + SecurityTable.TABLE_NAME + " SET " + SecurityTable.LINKED_TO + "=?" +
WHERE + SecurityTable.USERNAME + "=?";
Map<String, String> byUsername = query(new QueryAllStatement<Map<String, String>>(querySQL) {
Map<String, String> byUsername = query(new QueryAllStatement<>(querySQL) {
@Override
public Map<String, String> processResults(ResultSet set) throws SQLException {
Map<String, String> byUsername = new HashMap<>();

View File

@ -50,7 +50,7 @@ public class LitebansTableHeaderPatch extends Patch {
OR + "pr." + ExtensionTableProviderTable.PROVIDER_NAME + "=?" +
OR + "pr." + ExtensionTableProviderTable.PROVIDER_NAME + "=?" +
OR + "pr." + ExtensionTableProviderTable.PROVIDER_NAME + "=?)";
found = query(new QueryStatement<Set<Integer>>(sql) {
found = query(new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, "Litebans");

View File

@ -81,7 +81,7 @@ public class NicknameLastSeenPatch extends Patch {
ServerTable.ID, ServerTable.SERVER_UUID)
.toString();
return query(new QueryAllStatement<Map<Integer, ServerUUID>>(sql) {
return query(new QueryAllStatement<>(sql) {
@Override
public Map<Integer, ServerUUID> processResults(ResultSet set) throws SQLException {
Map<Integer, ServerUUID> uuids = new HashMap<>();
@ -96,7 +96,7 @@ public class NicknameLastSeenPatch extends Patch {
private Map<Integer, Set<Nickname>> getNicknamesByUserID(Map<Integer, ServerUUID> serverUUIDsByID) {
String fetchSQL = "SELECT * FROM plan_actions WHERE action_id=3 ORDER BY date DESC";
return query(new QueryAllStatement<Map<Integer, Set<Nickname>>>(fetchSQL, 10000) {
return query(new QueryAllStatement<>(fetchSQL, 10000) {
@Override
public Map<Integer, Set<Nickname>> processResults(ResultSet set) throws SQLException {
Map<Integer, Set<Nickname>> map = new HashMap<>();

View File

@ -145,7 +145,7 @@ public abstract class Patch extends OperationCriticalTransaction {
protected boolean allValuesHaveValueZero(String tableName, String column) {
String sql = SELECT + '*' + FROM + tableName + WHERE + column + "=? LIMIT 1";
return query(new QueryStatement<Boolean>(sql) {
return query(new QueryStatement<>(sql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setInt(1, 0);

View File

@ -47,7 +47,7 @@ public class PlayerTableRowPatch extends Patch {
FROM + TABLE_NAME +
WHERE + TABLE_ROW + "=?" +
GROUP_BY + TABLE_ID;
return query(new QueryStatement<Boolean>(columnCountPerTableSql) {
return query(new QueryStatement<>(columnCountPerTableSql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setInt(1, 0);
@ -92,7 +92,7 @@ public class PlayerTableRowPatch extends Patch {
public Map<Integer, List<Integer>> fetchTableRowIds() {
String columnCountPerTableSql = SELECT + TABLE_ID + ',' + ID + FROM + TABLE_NAME;
return query(new QueryAllStatement<Map<Integer, List<Integer>>>(columnCountPerTableSql) {
return query(new QueryAllStatement<>(columnCountPerTableSql) {
@Override
public Map<Integer, List<Integer>> processResults(ResultSet set) throws SQLException {
HashMap<Integer, List<Integer>> rowsPerTableId = new HashMap<>();

View File

@ -62,7 +62,7 @@ public class RegisterDateMinimizationPatch extends Patch {
INNER_JOIN + UsersTable.TABLE_NAME + " u1 on u1." + UsersTable.ID + "=u2." + UserInfoTable.USER_ID +
WHERE + "u1." + UsersTable.REGISTERED + ">min_registered";
return new QueryAllStatement<Map<UUID, Long>>(sql, 500) {
return new QueryAllStatement<>(sql, 500) {
@Override
public Map<UUID, Long> processResults(ResultSet set) throws SQLException {
Map<UUID, Long> dates = new HashMap<>();

View File

@ -103,7 +103,7 @@ public class RemoveDanglingServerDataPatch extends Patch {
private Query<Set<String>> getServerUuids() {
String sql = "SELECT uuid FROM " + ServerTable.TABLE_NAME;
return new QueryAllStatement<Set<String>>(sql) {
return new QueryAllStatement<>(sql) {
@Override
public Set<String> processResults(ResultSet set) throws SQLException {
HashSet<String> uuids = new HashSet<>();
@ -118,7 +118,7 @@ public class RemoveDanglingServerDataPatch extends Patch {
private Query<Set<String>> getServerUuids(String tableName) {
String sql = "SELECT DISTINCT server_uuid FROM " + tableName;
return new QueryAllStatement<Set<String>>(sql) {
return new QueryAllStatement<>(sql) {
@Override
public Set<String> processResults(ResultSet set) throws SQLException {
HashSet<String> uuids = new HashSet<>();

View File

@ -111,7 +111,7 @@ public class RemoveDanglingUserDataPatch extends Patch {
private Query<Set<String>> getUuids(String tableName) {
String sql = "SELECT DISTINCT uuid FROM " + tableName;
return new QueryAllStatement<Set<String>>(sql) {
return new QueryAllStatement<>(sql) {
@Override
public Set<String> processResults(ResultSet set) throws SQLException {
HashSet<String> uuids = new HashSet<>();

View File

@ -47,7 +47,7 @@ public class ServerTableRowPatch extends Patch {
FROM + TABLE_NAME +
WHERE + TABLE_ROW + "=?" +
GROUP_BY + TABLE_ID;
return query(new QueryStatement<Boolean>(columnCountPerTableSql) {
return query(new QueryStatement<>(columnCountPerTableSql) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setInt(1, 0);
@ -92,7 +92,7 @@ public class ServerTableRowPatch extends Patch {
public Map<Integer, List<Integer>> fetchTableRowIds() {
String columnCountPerTableSql = SELECT + TABLE_ID + ',' + ID + FROM + TABLE_NAME;
return query(new QueryAllStatement<Map<Integer, List<Integer>>>(columnCountPerTableSql) {
return query(new QueryAllStatement<>(columnCountPerTableSql) {
@Override
public Map<Integer, List<Integer>> processResults(ResultSet set) throws SQLException {
HashMap<Integer, List<Integer>> rowsPerTableId = new HashMap<>();

View File

@ -46,7 +46,7 @@ public class SessionJoinAddressPatch extends Patch {
String sql = SELECT + DISTINCT + "LOWER(COALESCE(" + UserInfoTable.JOIN_ADDRESS + ", ?)) as address" +
FROM + UserInfoTable.TABLE_NAME +
ORDER_BY + "address ASC";
return new QueryStatement<List<String>>(sql, 100) {
return new QueryStatement<>(sql, 100) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, JoinAddressTable.DEFAULT_VALUE_FOR_LOOKUP);
@ -76,7 +76,7 @@ public class SessionJoinAddressPatch extends Patch {
}
private Integer getDefaultAddressId() {
return query(new QueryStatement<Integer>(SELECT + ID +
return query(new QueryStatement<>(SELECT + ID +
FROM + JoinAddressTable.TABLE_NAME +
WHERE + JoinAddressTable.JOIN_ADDRESS + "=LOWER(?)") {
@Override
@ -115,7 +115,7 @@ public class SessionJoinAddressPatch extends Patch {
INNER_JOIN + JoinAddressTable.TABLE_NAME + " j on j." + JoinAddressTable.JOIN_ADDRESS + "=u." + UserInfoTable.JOIN_ADDRESS +
GROUP_BY + "u." + UserInfoTable.USER_ID + ",u." + UserInfoTable.SERVER_ID;
Map<Integer, Integer> joinAddressIdsBySessionId = query(new QueryAllStatement<Map<Integer, Integer>>(sql) {
Map<Integer, Integer> joinAddressIdsBySessionId = query(new QueryAllStatement<>(sql) {
@Override
public Map<Integer, Integer> processResults(ResultSet set) throws SQLException {
Map<Integer, Integer> joinAddressBySessionId = new TreeMap<>();

View File

@ -86,7 +86,7 @@ public class WorldsServerIDPatch extends Patch {
INNER_JOIN + ServerTable.TABLE_NAME + " on " + serverIDColumn + "=" + sessionServerIDColumn +
WHERE + serverUUIDColumn + "=?";
return query(new QueryStatement<Set<String>>(sql, 1000) {
return query(new QueryStatement<>(sql, 1000) {
@Override
public void prepare(PreparedStatement statement) throws SQLException {
statement.setString(1, serverUUID.toString());
@ -138,7 +138,7 @@ public class WorldsServerIDPatch extends Patch {
public List<WorldObj> getWorldObjects() {
String sql = SELECT + '*' + FROM + WorldTable.TABLE_NAME;
return query(new QueryAllStatement<List<WorldObj>>(sql, 100) {
return query(new QueryAllStatement<>(sql, 100) {
@Override
public List<WorldObj> processResults(ResultSet set) throws SQLException {
List<WorldObj> objects = new ArrayList<>();

View File

@ -76,7 +76,7 @@ public class FileResource implements Resource {
@Override
public String asString() throws IOException {
StringBuilder flat = new StringBuilder();
try (Scanner scanner = new Scanner(file, "UTF-8")) {
try (Scanner scanner = new Scanner(file, StandardCharsets.UTF_8)) {
while (scanner.hasNextLine()) {
flat.append(scanner.nextLine()).append("\r\n");
}

Some files were not shown because too many files have changed in this diff Show More