From b5d07de18bf5f138746413b555e9aeff4d91f161 Mon Sep 17 00:00:00 2001 From: Rsl1122 <24460436+Rsl1122@users.noreply.github.com> Date: Sun, 1 Mar 2020 21:24:48 +0200 Subject: [PATCH] Removed unused code --- .../web/resolver/request/Headers.java | 16 ++ .../web/resolver/request/Request.java | 3 +- .../resolver/{ => request}/URIPathTest.java | 3 +- .../commands/subcommands/RegisterCommand.java | 8 +- .../subcommands/webuser/WebCheckCommand.java | 6 +- .../subcommands/webuser/WebDeleteCommand.java | 4 +- .../webuser/WebListUsersCommand.java | 6 +- .../domain/{WebUser_old.java => WebUser.java} | 12 +- .../domain/container/DataContainer.java | 38 +++++ .../delivery/export/NetworkPageExporter.java | 2 +- .../delivery/export/PlayerJSONExporter.java | 2 +- .../delivery/export/PlayerPageExporter.java | 2 +- .../delivery/export/PlayersPageExporter.java | 2 +- .../delivery/export/ServerPageExporter.java | 2 +- .../rendering/json/graphs/pie/WorldPie.java | 6 +- .../delivery/webserver/RequestHandler.java | 1 - .../delivery/webserver/RequestInternal.java | 12 +- .../delivery/webserver/RequestTarget.java | 96 ----------- .../{response => }/ResponseFactory.java | 35 +--- .../delivery/webserver/ResponseResolver.java | 13 +- .../webserver/auth/Authentication.java | 4 +- .../webserver/auth/BasicAuthentication.java | 6 +- .../delivery/webserver/cache/JSONCache.java | 10 +- .../pages/CompositePageResolver.java | 110 ------------ .../webserver/pages/PageResolver.java | 48 ------ .../DebugPageResolver.java | 4 +- .../PlayerPageResolver.java | 4 +- .../PlayersPageResolver.java | 4 +- .../{pages => resolver}/RootPageResolver.java | 4 +- .../ServerPageResolver.java | 8 +- .../StaticResourceResolver.java | 4 +- .../json/GraphsJSONResolver.java | 2 +- .../json/NetworkJSONResolver.java | 2 +- .../json/NetworkTabJSONResolver.java | 2 +- .../json/PlayerJSONResolver.java | 2 +- .../json/PlayerKillsJSONResolver.java | 2 +- .../json/PlayersTableJSONResolver.java | 2 +- .../json/RootJSONResolver.java | 2 +- .../json/ServerTabJSONResolver.java | 2 +- .../json/SessionsJSONResolver.java | 2 +- .../webserver/response/ByteResponse.java | 60 ------- .../webserver/response/CSSResponse.java | 42 ----- .../webserver/response/FileResponse.java | 55 ------ .../response/JavaScriptResponse.java | 34 ---- .../webserver/response/OptionsResponse.java | 30 ---- .../response/PromptAuthorizationResponse.java | 102 ----------- .../webserver/response/RedirectResponse.java | 42 ----- .../webserver/response/ResponseType.java | 46 ----- .../webserver/response/Response_old.java | 159 ------------------ .../webserver/response/TextResponse.java | 30 ---- .../webserver/response/data/JSONResponse.java | 46 ----- .../response/errors/BadRequestResponse.java | 30 ---- .../response/errors/ErrorResponse.java | 97 ----------- .../response/errors/ForbiddenResponse.java | 37 ---- .../errors/InternalErrorResponse.java | 67 -------- .../response/errors/NotFoundResponse.java | 40 ----- .../response/pages/DebugPageResponse.java | 42 ----- .../response/pages/PageResponse.java | 66 -------- .../response/pages/PlayersPageResponse.java | 30 ---- .../response/pages/RawDataResponse.java | 75 --------- .../response/pages/RawPlayerDataResponse.java | 31 ---- .../plan/gathering/cache/CacheSystem.java | 3 +- .../database/queries/LargeStoreQueries.java | 6 +- .../database/queries/objects/PingQueries.java | 3 +- .../queries/objects/WebUserQueries.java | 22 +-- .../commands/RegisterWebUserTransaction.java | 8 +- .../commands/RemoveWebUserTransaction.java | 4 +- .../comparators/WebUserComparator.java | 6 +- .../webserver/JksHttpsServerTest.java | 4 +- .../webserver/Pkcs12HttpsServerTest.java | 4 +- .../webserver/cache/JSONCacheTest.java | 5 +- .../plan/storage/database/DatabaseTest.java | 8 +- .../utilities/comparators/ComparatorTest.java | 8 +- .../src/test/java/utilities/RandomData.java | 24 +-- 74 files changed, 167 insertions(+), 1592 deletions(-) rename Plan/api/src/test/java/com/djrapitops/plan/delivery/web/resolver/{ => request}/URIPathTest.java (97%) rename Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/{WebUser_old.java => WebUser.java} (88%) delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestTarget.java rename Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/{response => }/ResponseFactory.java (90%) delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/CompositePageResolver.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PageResolver.java rename Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/{pages => resolver}/DebugPageResolver.java (92%) rename Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/{pages => resolver}/PlayerPageResolver.java (95%) rename Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/{pages => resolver}/PlayersPageResolver.java (92%) rename Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/{pages => resolver}/RootPageResolver.java (96%) rename Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/{pages => resolver}/ServerPageResolver.java (91%) rename Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/{pages => resolver}/StaticResourceResolver.java (94%) rename Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/{pages => resolver}/json/GraphsJSONResolver.java (98%) rename Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/{pages => resolver}/json/NetworkJSONResolver.java (97%) rename Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/{pages => resolver}/json/NetworkTabJSONResolver.java (97%) rename Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/{pages => resolver}/json/PlayerJSONResolver.java (97%) rename Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/{pages => resolver}/json/PlayerKillsJSONResolver.java (97%) rename Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/{pages => resolver}/json/PlayersTableJSONResolver.java (97%) rename Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/{pages => resolver}/json/RootJSONResolver.java (98%) rename Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/{pages => resolver}/json/ServerTabJSONResolver.java (97%) rename Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/{pages => resolver}/json/SessionsJSONResolver.java (97%) delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ByteResponse.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/CSSResponse.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/FileResponse.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/JavaScriptResponse.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/OptionsResponse.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/PromptAuthorizationResponse.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/RedirectResponse.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseType.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/Response_old.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/TextResponse.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/data/JSONResponse.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/BadRequestResponse.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ErrorResponse.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ForbiddenResponse.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/InternalErrorResponse.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/NotFoundResponse.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/DebugPageResponse.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PageResponse.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PlayersPageResponse.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawDataResponse.java delete mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawPlayerDataResponse.java diff --git a/Plan/api/src/main/java/com/djrapitops/plan/delivery/web/resolver/request/Headers.java b/Plan/api/src/main/java/com/djrapitops/plan/delivery/web/resolver/request/Headers.java index 3173fd795..1663a3f24 100644 --- a/Plan/api/src/main/java/com/djrapitops/plan/delivery/web/resolver/request/Headers.java +++ b/Plan/api/src/main/java/com/djrapitops/plan/delivery/web/resolver/request/Headers.java @@ -1,3 +1,19 @@ +/* + * This file is part of Player Analytics (Plan). + * + * Plan is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License v3 as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Plan is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Plan. If not, see . + */ package com.djrapitops.plan.delivery.web.resolver.request; import java.util.Map; diff --git a/Plan/api/src/main/java/com/djrapitops/plan/delivery/web/resolver/request/Request.java b/Plan/api/src/main/java/com/djrapitops/plan/delivery/web/resolver/request/Request.java index cb67a000d..230e1f1fa 100644 --- a/Plan/api/src/main/java/com/djrapitops/plan/delivery/web/resolver/request/Request.java +++ b/Plan/api/src/main/java/com/djrapitops/plan/delivery/web/resolver/request/Request.java @@ -17,6 +17,7 @@ package com.djrapitops.plan.delivery.web.resolver.request; import com.djrapitops.plan.delivery.web.resolver.Resolver; +import org.apache.commons.lang3.StringUtils; import java.util.Map; import java.util.Optional; @@ -55,7 +56,7 @@ public final class Request { public Request(String method, String target, WebUser user, Map headers) { this.method = method; if (target.contains("?")) { - String[] halves = target.split("\\?", 2); + String[] halves = StringUtils.split(target, "?", 2); this.path = new URIPath(halves[0]); this.query = new URIQuery(halves[1]); } else { diff --git a/Plan/api/src/test/java/com/djrapitops/plan/delivery/web/resolver/URIPathTest.java b/Plan/api/src/test/java/com/djrapitops/plan/delivery/web/resolver/request/URIPathTest.java similarity index 97% rename from Plan/api/src/test/java/com/djrapitops/plan/delivery/web/resolver/URIPathTest.java rename to Plan/api/src/test/java/com/djrapitops/plan/delivery/web/resolver/request/URIPathTest.java index 2fb1e30e0..36d1e57bd 100644 --- a/Plan/api/src/test/java/com/djrapitops/plan/delivery/web/resolver/URIPathTest.java +++ b/Plan/api/src/test/java/com/djrapitops/plan/delivery/web/resolver/request/URIPathTest.java @@ -14,9 +14,8 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.web.resolver; +package com.djrapitops.plan.delivery.web.resolver.request; -import com.djrapitops.plan.delivery.web.resolver.request.URIPath; import org.junit.jupiter.api.Test; import org.junit.platform.runner.JUnitPlatform; import org.junit.runner.RunWith; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/commands/subcommands/RegisterCommand.java b/Plan/common/src/main/java/com/djrapitops/plan/commands/subcommands/RegisterCommand.java index 0cca45414..efdb6c735 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/commands/subcommands/RegisterCommand.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/commands/subcommands/RegisterCommand.java @@ -17,7 +17,7 @@ package com.djrapitops.plan.commands.subcommands; import com.djrapitops.plan.PlanSystem; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.webserver.WebServer; import com.djrapitops.plan.exceptions.database.DBOpException; import com.djrapitops.plan.processing.Processing; @@ -129,7 +129,7 @@ public class RegisterCommand extends CommandNode { Verify.isTrue(userName.length() <= 100, () -> new IllegalArgumentException("Username can only be 100 characters long.")); int permLevel = Integer.parseInt(args[2]); String passHash = PassEncryptUtil.createHash(args[0]); - registerUser(new WebUser_old(userName, passHash, permLevel), sender); + registerUser(new WebUser(userName, passHash, permLevel), sender); } private void playerRegister(String[] args, Sender sender) throws PassEncryptUtil.CannotPerformOperationException { @@ -138,7 +138,7 @@ public class RegisterCommand extends CommandNode { String user = sender.getName(); String pass = PassEncryptUtil.createHash(args[0]); int permLvl = getPermissionLevel(sender); - registerUser(new WebUser_old(user, pass, permLvl), sender); + registerUser(new WebUser(user, pass, permLvl), sender); } else if (sender.hasPermission(Permissions.MANAGE_WEB.getPermission())) { consoleRegister(args, sender, notEnoughArgsMsg); } else { @@ -162,7 +162,7 @@ public class RegisterCommand extends CommandNode { return 100; } - private void registerUser(WebUser_old webUser, Sender sender) { + private void registerUser(WebUser webUser, Sender sender) { processing.submitCritical(() -> { String userName = webUser.getName(); try { diff --git a/Plan/common/src/main/java/com/djrapitops/plan/commands/subcommands/webuser/WebCheckCommand.java b/Plan/common/src/main/java/com/djrapitops/plan/commands/subcommands/webuser/WebCheckCommand.java index 439457589..05144209e 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/commands/subcommands/webuser/WebCheckCommand.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/commands/subcommands/webuser/WebCheckCommand.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.commands.subcommands.webuser; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.processing.Processing; import com.djrapitops.plan.settings.Permissions; import com.djrapitops.plan.settings.locale.Locale; @@ -85,12 +85,12 @@ public class WebCheckCommand extends CommandNode { processing.submitNonCritical(() -> { try { Database db = dbSystem.getDatabase(); - Optional found = db.query(WebUserQueries.fetchWebUser(user)); + Optional found = db.query(WebUserQueries.fetchWebUser(user)); if (!found.isPresent()) { sender.sendMessage(locale.getString(CommandLang.FAIL_WEB_USER_NOT_EXISTS)); return; } - WebUser_old info = found.get(); + WebUser info = found.get(); sender.sendMessage(locale.getString(CommandLang.WEB_USER_LIST, info.getName(), info.getPermLevel())); } catch (Exception e) { errorHandler.log(L.ERROR, this.getClass(), e); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/commands/subcommands/webuser/WebDeleteCommand.java b/Plan/common/src/main/java/com/djrapitops/plan/commands/subcommands/webuser/WebDeleteCommand.java index b611a6c69..4c05fe30b 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/commands/subcommands/webuser/WebDeleteCommand.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/commands/subcommands/webuser/WebDeleteCommand.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.commands.subcommands.webuser; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.processing.Processing; import com.djrapitops.plan.settings.Permissions; import com.djrapitops.plan.settings.locale.Locale; @@ -86,7 +86,7 @@ public class WebDeleteCommand extends CommandNode { processing.submitNonCritical(() -> { try { Database db = dbSystem.getDatabase(); - Optional found = db.query(WebUserQueries.fetchWebUser(user)); + Optional found = db.query(WebUserQueries.fetchWebUser(user)); if (!found.isPresent()) { sender.sendMessage("§c[Plan] User Doesn't exist."); return; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/commands/subcommands/webuser/WebListUsersCommand.java b/Plan/common/src/main/java/com/djrapitops/plan/commands/subcommands/webuser/WebListUsersCommand.java index aadb9bf89..e4dbc368a 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/commands/subcommands/webuser/WebListUsersCommand.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/commands/subcommands/webuser/WebListUsersCommand.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.commands.subcommands.webuser; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.processing.Processing; import com.djrapitops.plan.settings.Permissions; import com.djrapitops.plan.settings.locale.Locale; @@ -76,9 +76,9 @@ public class WebListUsersCommand extends CommandNode { processing.submitNonCritical(() -> { try { - List users = dbSystem.getDatabase().query(WebUserQueries.fetchAllPlanWebUsers()); + List users = dbSystem.getDatabase().query(WebUserQueries.fetchAllPlanWebUsers()); sender.sendMessage(locale.getString(CommandLang.HEADER_WEB_USERS, users.size())); - for (WebUser_old user : users) { + for (WebUser user : users) { sender.sendMessage(locale.getString(CommandLang.WEB_USER_LIST, user.getName(), user.getPermLevel())); } sender.sendMessage(">"); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/WebUser_old.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/WebUser.java similarity index 88% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/WebUser_old.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/WebUser.java index f2db71b2c..d49a46254 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/WebUser_old.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/WebUser.java @@ -16,8 +16,6 @@ */ package com.djrapitops.plan.delivery.domain; -import com.djrapitops.plan.delivery.web.resolver.request.WebUser; - import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -28,13 +26,13 @@ import java.util.Objects; * @author Rsl1122 */ @Deprecated -public class WebUser_old { +public class WebUser { private final String user; private final String saltedPassHash; private final int permLevel; - public WebUser_old(String user, String saltedPassHash, int permLevel) { + public WebUser(String user, String saltedPassHash, int permLevel) { this.user = user; this.saltedPassHash = saltedPassHash; this.permLevel = permLevel; @@ -56,7 +54,7 @@ public class WebUser_old { public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - WebUser_old webUser = (WebUser_old) o; + WebUser webUser = (WebUser) o; return permLevel == webUser.permLevel && Objects.equals(user, webUser.user) && Objects.equals(saltedPassHash, webUser.saltedPassHash); @@ -67,7 +65,7 @@ public class WebUser_old { return Objects.hash(user, saltedPassHash, permLevel); } - public WebUser toNewWebUser() { + public com.djrapitops.plan.delivery.web.resolver.request.WebUser toNewWebUser() { List permissions = new ArrayList<>(); if (permLevel <= 0) { permissions.add("page.network"); @@ -82,7 +80,7 @@ public class WebUser_old { if (permLevel <= 2) { permissions.add("page.player.self"); } - return new WebUser( + return new com.djrapitops.plan.delivery.web.resolver.request.WebUser( user, permissions.toArray(new String[0]) ); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/DataContainer.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/DataContainer.java index 4394d1531..e8adf96b9 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/DataContainer.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/DataContainer.java @@ -18,7 +18,10 @@ package com.djrapitops.plan.delivery.domain.container; import com.djrapitops.plan.delivery.domain.keys.Key; import com.djrapitops.plan.delivery.formatting.Formatter; +import com.djrapitops.plan.utilities.java.Lists; +import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Optional; import java.util.function.Supplier; @@ -33,6 +36,41 @@ import java.util.function.Supplier; */ public interface DataContainer { + default Map mapToNormalMap() { + Map values = new HashMap<>(); + getMap().forEach((key, value) -> + { + if (value instanceof DataContainer) { + value = ((DataContainer) value).mapToNormalMap(); + } + if (value instanceof Map) { + value = handleMap((Map, ?>) value); + } + if (value instanceof List) { + value = handleList((List>) value); + } + values.put(key.getKeyName(), value); + } + ); + return values; + } + + default List> handleList(List> list) { + if (list.stream().findAny().orElse(null) instanceof DataContainer) { + return Lists.map(list, obj -> ((DataContainer) obj).mapToNormalMap()); + } + return list; + } + + default Map, ?> handleMap(Map, ?> map) { + if (map.values().stream().findAny().orElse(null) instanceof DataContainer) { + Map newMap = new HashMap<>(); + map.forEach((key, value) -> newMap.put(key, ((DataContainer) value).mapToNormalMap())); + return newMap; + } + return map; + } + /** * Place your data inside the container. * diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/NetworkPageExporter.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/NetworkPageExporter.java index 76539227a..931e366e0 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/NetworkPageExporter.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/NetworkPageExporter.java @@ -20,7 +20,7 @@ import com.djrapitops.plan.delivery.rendering.pages.Page; import com.djrapitops.plan.delivery.rendering.pages.PageFactory; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; -import com.djrapitops.plan.delivery.webserver.pages.json.RootJSONResolver; +import com.djrapitops.plan.delivery.webserver.resolver.json.RootJSONResolver; import com.djrapitops.plan.exceptions.connection.NotFoundException; import com.djrapitops.plan.exceptions.connection.WebException; import com.djrapitops.plan.identification.Server; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerJSONExporter.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerJSONExporter.java index ba401b56b..990da7473 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerJSONExporter.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerJSONExporter.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.delivery.export; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import com.djrapitops.plan.storage.database.DBSystem; import com.djrapitops.plan.storage.database.Database; import com.djrapitops.plan.storage.database.queries.PlayerFetchQueries; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerPageExporter.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerPageExporter.java index a65c98109..87f3958c7 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerPageExporter.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerPageExporter.java @@ -20,7 +20,7 @@ import com.djrapitops.plan.delivery.rendering.pages.Page; import com.djrapitops.plan.delivery.rendering.pages.PageFactory; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; -import com.djrapitops.plan.delivery.webserver.pages.json.RootJSONResolver; +import com.djrapitops.plan.delivery.webserver.resolver.json.RootJSONResolver; import com.djrapitops.plan.exceptions.connection.NotFoundException; import com.djrapitops.plan.exceptions.connection.WebException; import com.djrapitops.plan.settings.locale.Locale; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayersPageExporter.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayersPageExporter.java index 616bcd56c..748b24531 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayersPageExporter.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayersPageExporter.java @@ -20,7 +20,7 @@ import com.djrapitops.plan.delivery.rendering.pages.Page; import com.djrapitops.plan.delivery.rendering.pages.PageFactory; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; -import com.djrapitops.plan.delivery.webserver.pages.json.RootJSONResolver; +import com.djrapitops.plan.delivery.webserver.resolver.json.RootJSONResolver; import com.djrapitops.plan.exceptions.connection.NotFoundException; import com.djrapitops.plan.exceptions.connection.WebException; import com.djrapitops.plan.identification.ServerInfo; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/ServerPageExporter.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/ServerPageExporter.java index 8682638a1..4479cb77b 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/ServerPageExporter.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/ServerPageExporter.java @@ -20,7 +20,7 @@ import com.djrapitops.plan.delivery.rendering.pages.Page; import com.djrapitops.plan.delivery.rendering.pages.PageFactory; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; -import com.djrapitops.plan.delivery.webserver.pages.json.RootJSONResolver; +import com.djrapitops.plan.delivery.webserver.resolver.json.RootJSONResolver; import com.djrapitops.plan.exceptions.connection.NotFoundException; import com.djrapitops.plan.exceptions.connection.WebException; import com.djrapitops.plan.identification.Server; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/WorldPie.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/WorldPie.java index 62771d1a8..716db6c47 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/WorldPie.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/WorldPie.java @@ -71,10 +71,10 @@ public class WorldPie extends PieWithDrilldown { return drilldowns; } - private List createGMTimesForWorld(GMTimes gmTimes) { - List data = new ArrayList<>(); + private List> createGMTimesForWorld(GMTimes gmTimes) { + List> data = new ArrayList<>(); for (Map.Entry gmEntry : gmTimes.getTimes().entrySet()) { - List gmList = Arrays.asList(gmEntry.getKey(), gmEntry.getValue()); + List gmList = Arrays.asList(gmEntry.getKey(), gmEntry.getValue()); data.add(gmList); } return data; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestHandler.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestHandler.java index 89a11cb5a..570afbebe 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestHandler.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestHandler.java @@ -19,7 +19,6 @@ package com.djrapitops.plan.delivery.webserver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.webserver.auth.Authentication; import com.djrapitops.plan.delivery.webserver.auth.BasicAuthentication; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; import com.djrapitops.plan.settings.config.PlanConfig; import com.djrapitops.plan.settings.config.paths.PluginSettings; import com.djrapitops.plan.settings.config.paths.WebserverSettings; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestInternal.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestInternal.java index 559a31628..9149a5462 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestInternal.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestInternal.java @@ -25,7 +25,6 @@ import com.djrapitops.plan.exceptions.WebUserAuthException; import com.djrapitops.plan.settings.locale.Locale; import com.sun.net.httpserver.HttpExchange; -import java.io.InputStream; import java.net.URI; import java.util.HashMap; import java.util.List; @@ -84,10 +83,6 @@ public class RequestInternal { return new URIQuery(requestURI.getQuery()); } - public InputStream getRequestBody() { - return exchange.getRequestBody(); - } - @Override public String toString() { return "Request:" + requestMethod + " " + requestURI.getPath(); @@ -101,11 +96,6 @@ public class RequestInternal { return locale; } - @Deprecated - public RequestTarget getRequestTarget() { - return new RequestTarget(requestURI); - } - public Request toAPIRequest() throws WebUserAuthException { return new Request( requestMethod, @@ -118,7 +108,7 @@ public class RequestInternal { private WebUser getWebUser() throws WebUserAuthException { Optional auth = getAuth(); - return auth.isPresent() ? auth.get().getWebUser().toNewWebUser() : null; + return auth.map(authentication -> authentication.getWebUser().toNewWebUser()).orElse(null); } private Map getRequestHeaders() { diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestTarget.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestTarget.java deleted file mode 100644 index 78f5004e1..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestTarget.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver; - -import org.apache.commons.lang3.StringUtils; - -import java.net.URI; -import java.util.*; -import java.util.stream.Collectors; - -/** - * Represents URI of a requested resource. - * - * @author Rsl1122 - */ -@Deprecated -public class RequestTarget { - - private final String resourceString; - private final List resource; - private final Map parameters; - - public RequestTarget(URI targetURI) { - resourceString = targetURI.getPath(); - resource = Arrays.stream(StringUtils.split(resourceString, '/')) - .filter(part -> !part.isEmpty()).collect(Collectors.toList()); - - parameters = new TreeMap<>(); - parseParameters(targetURI.getQuery()); - } - - private void parseParameters(String parameterString) { - if (parameterString == null || parameterString.isEmpty()) { - return; - } - - String[] keysAndValues = StringUtils.split(parameterString, '&'); - for (String kv : keysAndValues) { - if (kv.isEmpty()) { - continue; - } - String[] keyAndValue = StringUtils.split(kv, "=", 2); - if (keyAndValue.length >= 2) { - parameters.put(keyAndValue[0], keyAndValue[1]); - } - } - } - - public boolean isEmpty() { - return resource.isEmpty(); - } - - public int size() { - return resource.size(); - } - - public String get(int index) { - return resource.get(index); - } - - public void removeFirst() { - if (!isEmpty()) { - resource.remove(0); - } - } - - public boolean endsWith(String suffix) { - return resourceString.endsWith(suffix); - } - - public boolean endsWithAny(String... suffixes) { - return StringUtils.endsWithAny(resourceString, suffixes); - } - - public Optional getParameter(String key) { - return Optional.ofNullable(parameters.get(key)); - } - - public String getResourceString() { - return resourceString; - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseFactory.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseFactory.java similarity index 90% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseFactory.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseFactory.java index 3922b68b8..d2eda281b 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseFactory.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseFactory.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.response; +package com.djrapitops.plan.delivery.webserver; import com.djrapitops.plan.delivery.domain.container.PlayerContainer; import com.djrapitops.plan.delivery.rendering.html.icon.Family; @@ -24,10 +24,6 @@ import com.djrapitops.plan.delivery.rendering.pages.PageFactory; import com.djrapitops.plan.delivery.web.resolver.MimeType; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.webserver.auth.FailReason; -import com.djrapitops.plan.delivery.webserver.response.errors.ErrorResponse; -import com.djrapitops.plan.delivery.webserver.response.errors.InternalErrorResponse; -import com.djrapitops.plan.delivery.webserver.response.errors.NotFoundResponse; -import com.djrapitops.plan.delivery.webserver.response.pages.RawDataResponse; import com.djrapitops.plan.exceptions.WebUserAuthException; import com.djrapitops.plan.exceptions.connection.NotFoundException; import com.djrapitops.plan.settings.locale.Locale; @@ -135,19 +131,6 @@ public class ResponseFactory { .build(); } - @Deprecated - public ErrorResponse internalErrorResponse_old(Throwable e, String s) { - try { - return new InternalErrorResponse(s, e, versionCheckSystem, files); - } catch (IOException improperRestartException) { - return new ErrorResponse( - "Error occurred: " + e.toString() + - ", additional error occurred when attempting to send error page to user: " + - improperRestartException.toString() - ); - } - } - public Response internalErrorResponse(Throwable e, String s) { return forInternalError(e, s); } @@ -178,7 +161,7 @@ public class ResponseFactory { PlayerContainer player = dbSystem.getDatabase().query(ContainerFetchQueries.fetchPlayerContainer(playerUUID)); return Response.builder() .setMimeType(MimeType.JSON) - .setJSONContent(RawDataResponse.mapToNormalMap(player)) + .setJSONContent(player.mapToNormalMap()) .build(); } @@ -258,11 +241,6 @@ public class ResponseFactory { } } - @Deprecated - public ErrorResponse pageNotFound404_old() { - return notFound404_old(locale.getString(ErrorPageLang.UNKNOWN_PAGE_404)); - } - public Response pageNotFound404() { return notFound404(locale.getString(ErrorPageLang.UNKNOWN_PAGE_404)); } @@ -275,15 +253,6 @@ public class ResponseFactory { return notFound404(locale.getString(ErrorPageLang.NOT_PLAYED_404)); } - @Deprecated - public ErrorResponse notFound404_old(String message) { - try { - return new NotFoundResponse(message, versionCheckSystem, files); - } catch (IOException e) { - return internalErrorResponse_old(e, "Failed to generate 404 page"); - } - } - public Response notFound404(String message) { try { return Response.builder() diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseResolver.java index 151378401..57a55a6ca 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseResolver.java @@ -23,10 +23,8 @@ import com.djrapitops.plan.delivery.web.resolver.Resolver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; import com.djrapitops.plan.delivery.webserver.auth.Authentication; -import com.djrapitops.plan.delivery.webserver.pages.*; -import com.djrapitops.plan.delivery.webserver.pages.json.RootJSONResolver; -import com.djrapitops.plan.delivery.webserver.response.OptionsResponse; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; +import com.djrapitops.plan.delivery.webserver.resolver.*; +import com.djrapitops.plan.delivery.webserver.resolver.json.RootJSONResolver; import com.djrapitops.plan.exceptions.WebUserAuthException; import com.djrapitops.plan.exceptions.connection.BadRequestException; import com.djrapitops.plan.exceptions.connection.ForbiddenException; @@ -109,7 +107,7 @@ public class ResponseResolver { } public NoAuthResolver noAuthResolverFor(Response response) { - return (request) -> Optional.of(response); + return request -> Optional.of(response); } public Response getResponse(RequestInternal request) { @@ -130,8 +128,9 @@ public class ResponseResolver { } private Response tryToGetResponse(RequestInternal internalRequest) throws WebException { - if ("OPTIONS" .equalsIgnoreCase(internalRequest.getRequestMethod())) { - return new OptionsResponse().toNewResponse(); + if ("OPTIONS".equalsIgnoreCase(internalRequest.getRequestMethod())) { + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/OPTIONS + return Response.builder().setStatus(204).setContent(new byte[0]).build(); } Optional authentication = internalRequest.getAuth(); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/auth/Authentication.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/auth/Authentication.java index 3914f25ad..3912fcddf 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/auth/Authentication.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/auth/Authentication.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.delivery.webserver.auth; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.exceptions.WebUserAuthException; /** @@ -26,6 +26,6 @@ import com.djrapitops.plan.exceptions.WebUserAuthException; */ public interface Authentication { - WebUser_old getWebUser() throws WebUserAuthException; + WebUser getWebUser() throws WebUserAuthException; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/auth/BasicAuthentication.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/auth/BasicAuthentication.java index f768536b2..0a1797868 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/auth/BasicAuthentication.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/auth/BasicAuthentication.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.delivery.webserver.auth; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.exceptions.PassEncryptException; import com.djrapitops.plan.exceptions.WebUserAuthException; import com.djrapitops.plan.exceptions.database.DBOpException; @@ -45,7 +45,7 @@ public class BasicAuthentication implements Authentication { } @Override - public WebUser_old getWebUser() throws WebUserAuthException { + public WebUser getWebUser() throws WebUserAuthException { String decoded = Base64Util.decode(authenticationString); String[] userInfo = StringUtils.split(decoded, ':'); @@ -62,7 +62,7 @@ public class BasicAuthentication implements Authentication { } try { - WebUser_old webUser = database.query(WebUserQueries.fetchWebUser(user)) + WebUser webUser = database.query(WebUserQueries.fetchWebUser(user)) .orElseThrow(() -> new WebUserAuthException(FailReason.USER_DOES_NOT_EXIST, user)); boolean correctPass = PassEncryptUtil.verifyPassword(passwordRaw, webUser.getSaltedPassHash()); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/cache/JSONCache.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/cache/JSONCache.java index 2e9905630..077629b90 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/cache/JSONCache.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/cache/JSONCache.java @@ -18,7 +18,7 @@ package com.djrapitops.plan.delivery.webserver.cache; import com.djrapitops.plan.delivery.web.resolver.MimeType; import com.djrapitops.plan.delivery.web.resolver.Response; -import com.djrapitops.plan.delivery.webserver.pages.json.RootJSONResolver; +import com.djrapitops.plan.delivery.webserver.resolver.json.RootJSONResolver; import com.djrapitops.plan.storage.file.ResourceCache; import com.djrapitops.plugin.task.AbsRunnable; import com.github.benmanes.caffeine.cache.Cache; @@ -72,17 +72,17 @@ public class JSONCache { return new String(found, StandardCharsets.UTF_8); } - public static Response getOrCache(DataID dataID, Supplier jsonResponseSupplier) { + public static Response getOrCache(DataID dataID, Supplier objectSupplier) { return getOrCache(dataID.name(), () -> Response.builder() .setMimeType(MimeType.JSON) - .setJSONContent(jsonResponseSupplier.get()) + .setJSONContent(objectSupplier.get()) .build()); } - public static Response getOrCache(DataID dataID, UUID serverUUID, Supplier jsonResponseSupplier) { + public static Response getOrCache(DataID dataID, UUID serverUUID, Supplier objectSupplier) { return getOrCache(dataID.of(serverUUID), () -> Response.builder() .setMimeType(MimeType.JSON) - .setJSONContent(jsonResponseSupplier.get()) + .setJSONContent(objectSupplier.get()) .build()); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/CompositePageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/CompositePageResolver.java deleted file mode 100644 index 10bd1c3c3..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/CompositePageResolver.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.pages; - -import com.djrapitops.plan.delivery.webserver.RequestInternal; -import com.djrapitops.plan.delivery.webserver.RequestTarget; -import com.djrapitops.plan.delivery.webserver.auth.Authentication; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; -import com.djrapitops.plan.delivery.webserver.response.Response_old; -import com.djrapitops.plan.exceptions.WebUserAuthException; -import com.djrapitops.plan.exceptions.connection.WebException; - -import java.util.HashMap; -import java.util.Map; - -/** - * Extended {@link PageResolver} to implement layered resolution of addresses. - * - * Allows resolving /example/foo and /example/bar with different PageResolvers as if the address being resolved - * was at the root of the address (/example/foo - FooPageResolver sees /foo). - * - * Tree-like pattern for URL resolution. - * - * @author Rsl1122 - */ -@Deprecated -public abstract class CompositePageResolver implements PageResolver { - - protected final ResponseFactory responseFactory; - - private final Map pages; - - public CompositePageResolver(ResponseFactory responseFactory) { - this.responseFactory = responseFactory; - pages = new HashMap<>(); - } - - @Deprecated - public void registerPage(String targetPage, PageResolver resolver) { - pages.put(targetPage, resolver); - } - - @Deprecated - public void registerPage(String targetPage, PageResolver resolver, int requiredPerm) { - pages.put(targetPage, new PageResolver() { - @Override - public Response_old resolve(RequestInternal request, RequestTarget target) throws WebException { - return resolver.resolve(request, target); - } - - @Override - public boolean isAuthorized(Authentication auth, RequestTarget target) throws WebUserAuthException { - return auth.getWebUser().getPermLevel() <= requiredPerm; - } - }); - } - - @Deprecated - public void registerPage(String targetPage, Response_old response, int requiredPerm) { - pages.put(targetPage, new PageResolver() { - @Override - public Response_old resolve(RequestInternal request, RequestTarget target) { - return response; - } - - @Override - public boolean isAuthorized(Authentication auth, RequestTarget target) throws WebUserAuthException { - return auth.getWebUser().getPermLevel() <= requiredPerm; - } - }); - } - - @Override - @Deprecated - public Response_old resolve(RequestInternal request, RequestTarget target) throws WebException { - PageResolver pageResolver = getPageResolver(target); - return pageResolver != null - ? pageResolver.resolve(request, target) - : responseFactory.pageNotFound404_old(); - } - - @Deprecated - public PageResolver getPageResolver(RequestTarget target) { - if (target.isEmpty()) { - return pages.get(""); - } - String targetPage = target.get(0); - target.removeFirst(); - return pages.get(targetPage); - } - - @Deprecated - public PageResolver getPageResolver(String targetPage) { - return pages.get(targetPage); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PageResolver.java deleted file mode 100644 index 6b4ffe0fb..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PageResolver.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.pages; - -import com.djrapitops.plan.delivery.webserver.RequestInternal; -import com.djrapitops.plan.delivery.webserver.RequestTarget; -import com.djrapitops.plan.delivery.webserver.auth.Authentication; -import com.djrapitops.plan.delivery.webserver.response.Response_old; -import com.djrapitops.plan.exceptions.WebUserAuthException; -import com.djrapitops.plan.exceptions.connection.WebException; - -/** - * Used for Response resolution and authorization. - * - * @author Rsl1122 - * @see CompositePageResolver for larger depth resolution than 1. - */ -@Deprecated -public interface PageResolver { - - /** - * Resolve the request to a response. - * - * @param request Request in case it is useful for choosing page. - * @param target Rest of the target coordinates after this page has been solved. - * @return Appropriate response. - */ - Response_old resolve(RequestInternal request, RequestTarget target) throws WebException; - - default boolean isAuthorized(Authentication auth, RequestTarget target) throws WebUserAuthException { - return true; - } - -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/DebugPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/DebugPageResolver.java similarity index 92% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/DebugPageResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/DebugPageResolver.java index c7060cba8..e49ed6b74 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/DebugPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/DebugPageResolver.java @@ -14,12 +14,12 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages; +package com.djrapitops.plan.delivery.webserver.resolver; import com.djrapitops.plan.delivery.web.resolver.Resolver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayerPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/PlayerPageResolver.java similarity index 95% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayerPageResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/PlayerPageResolver.java index 169585e77..570dd7ed6 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayerPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/PlayerPageResolver.java @@ -14,14 +14,14 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages; +package com.djrapitops.plan.delivery.webserver.resolver; import com.djrapitops.plan.delivery.web.resolver.Resolver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; import com.djrapitops.plan.delivery.web.resolver.request.URIPath; import com.djrapitops.plan.delivery.web.resolver.request.WebUser; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import com.djrapitops.plan.identification.UUIDUtility; import javax.inject.Inject; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayersPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/PlayersPageResolver.java similarity index 92% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayersPageResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/PlayersPageResolver.java index 337d71f3b..07309136b 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayersPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/PlayersPageResolver.java @@ -14,12 +14,12 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages; +package com.djrapitops.plan.delivery.webserver.resolver; import com.djrapitops.plan.delivery.web.resolver.Resolver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/RootPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/RootPageResolver.java similarity index 96% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/RootPageResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/RootPageResolver.java index 9df6d4eea..184ebad3d 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/RootPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/RootPageResolver.java @@ -14,15 +14,15 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages; +package com.djrapitops.plan.delivery.webserver.resolver; import com.djrapitops.plan.delivery.rendering.html.Html; import com.djrapitops.plan.delivery.web.resolver.NoAuthResolver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; import com.djrapitops.plan.delivery.web.resolver.request.WebUser; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import com.djrapitops.plan.delivery.webserver.WebServer; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; import com.djrapitops.plan.identification.Server; import com.djrapitops.plan.identification.ServerInfo; import dagger.Lazy; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/ServerPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/ServerPageResolver.java similarity index 91% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/ServerPageResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/ServerPageResolver.java index fb60e70e4..29c848d4f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/ServerPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/ServerPageResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages; +package com.djrapitops.plan.delivery.webserver.resolver; import com.djrapitops.plan.delivery.rendering.html.Html; import com.djrapitops.plan.delivery.web.resolver.Resolver; @@ -22,8 +22,8 @@ import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; import com.djrapitops.plan.delivery.web.resolver.request.URIPath; import com.djrapitops.plan.delivery.web.resolver.request.WebUser; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import com.djrapitops.plan.delivery.webserver.WebServer; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; import com.djrapitops.plan.identification.Server; import com.djrapitops.plan.identification.ServerInfo; import com.djrapitops.plan.storage.database.DBSystem; @@ -65,8 +65,8 @@ public class ServerPageResolver implements Resolver { public boolean canAccess(Request request) { String firstPart = request.getPath().getPart(0).orElse(""); WebUser permissions = request.getUser().orElse(new WebUser("")); - boolean forServerPage = firstPart.equalsIgnoreCase("server") && permissions.hasPermission("page.server"); - boolean forNetworkPage = firstPart.equalsIgnoreCase("network") && permissions.hasPermission("page.network"); + boolean forServerPage = "server".equalsIgnoreCase(firstPart) && permissions.hasPermission("page.server"); + boolean forNetworkPage = "network".equalsIgnoreCase(firstPart) && permissions.hasPermission("page.network"); return forServerPage || forNetworkPage; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/StaticResourceResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/StaticResourceResolver.java similarity index 94% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/StaticResourceResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/StaticResourceResolver.java index ee593993f..93b535e80 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/StaticResourceResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/StaticResourceResolver.java @@ -14,12 +14,12 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages; +package com.djrapitops.plan.delivery.webserver.resolver; import com.djrapitops.plan.delivery.web.resolver.NoAuthResolver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import org.apache.commons.lang3.StringUtils; import javax.inject.Inject; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/GraphsJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/GraphsJSONResolver.java similarity index 98% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/GraphsJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/GraphsJSONResolver.java index 0a0f43158..f1e14ecde 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/GraphsJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/GraphsJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.graphs.GraphJSONCreator; import com.djrapitops.plan.delivery.web.resolver.Resolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/NetworkJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/NetworkJSONResolver.java index b29e04016..42d486791 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/NetworkJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.JSONFactory; import com.djrapitops.plan.delivery.rendering.json.network.NetworkOverviewJSONCreator; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkTabJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/NetworkTabJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkTabJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/NetworkTabJSONResolver.java index c74b1c6ce..80df5e5a6 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkTabJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/NetworkTabJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.network.NetworkTabJSONCreator; import com.djrapitops.plan.delivery.web.resolver.Resolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayerJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayerJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayerJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayerJSONResolver.java index aae7e33ba..0f6ec0709 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayerJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayerJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.PlayerJSONCreator; import com.djrapitops.plan.delivery.web.resolver.MimeType; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayerKillsJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayerKillsJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayerKillsJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayerKillsJSONResolver.java index 60d34589c..59aba8c31 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayerKillsJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayerKillsJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.JSONFactory; import com.djrapitops.plan.delivery.web.resolver.Resolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayersTableJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayersTableJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayersTableJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayersTableJSONResolver.java index 3cac51150..19242db63 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayersTableJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayersTableJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.JSONFactory; import com.djrapitops.plan.delivery.web.resolver.Resolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/RootJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/RootJSONResolver.java similarity index 98% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/RootJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/RootJSONResolver.java index 7b548a085..5aea92e4f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/RootJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/RootJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.*; import com.djrapitops.plan.delivery.web.resolver.CompositeResolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/ServerTabJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/ServerTabJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/ServerTabJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/ServerTabJSONResolver.java index 0517dd451..a7f449e50 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/ServerTabJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/ServerTabJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.ServerTabJSONCreator; import com.djrapitops.plan.delivery.web.resolver.Resolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/SessionsJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/SessionsJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/SessionsJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/SessionsJSONResolver.java index 5996fa373..fc47016f7 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/SessionsJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/SessionsJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.JSONFactory; import com.djrapitops.plan.delivery.web.resolver.Resolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ByteResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ByteResponse.java deleted file mode 100644 index 28d6f7119..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ByteResponse.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.sun.net.httpserver.HttpExchange; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -/** - * {@link Response_old} for raw bytes. - * - * @author Rsl1122 - */ -public class ByteResponse extends Response_old { - - private final PlanFiles files; - private final String fileName; - - public ByteResponse(ResponseType type, String fileName, PlanFiles files) { - super(type); - this.fileName = fileName; - this.files = files; - - setHeader("HTTP/1.1 200 OK"); - } - - @Override - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - responseHeaders.set("Accept-Ranges", "bytes"); - exchange.sendResponseHeaders(getCode(), 0); - - try (OutputStream out = exchange.getResponseBody(); - InputStream bis = files.getCustomizableResourceOrDefault(fileName).asInputStream()) { - byte[] buffer = new byte[2048]; - int count; - while ((count = bis.read(buffer)) != -1) { - out.write(buffer, 0, count); - } - } - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/CSSResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/CSSResponse.java deleted file mode 100644 index 4430aae22..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/CSSResponse.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.sun.net.httpserver.HttpExchange; - -import java.io.IOException; - -/** - * @author Rsl1122 - */ -public class CSSResponse extends FileResponse { - - public CSSResponse(String fileName, PlanFiles files) throws IOException { - super(format(fileName), files); - super.setType(ResponseType.CSS); - setContent(getContent()); - } - - @Override - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - fixThemeColors(theme); - super.send(exchange, locale, theme); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/FileResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/FileResponse.java deleted file mode 100644 index eef72d07b..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/FileResponse.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plugin.utilities.Verify; -import org.apache.commons.lang3.StringUtils; - -import java.io.IOException; - -/** - * Response class for returning file contents. - * - * Created to remove copy-paste. - * - * @author Rsl1122 - */ -public class FileResponse extends Response_old { - - public FileResponse(String fileName, PlanFiles files) throws IOException { - super.setHeader("HTTP/1.1 200 OK"); - super.setContent(files.getCustomizableResourceOrDefault(fileName).asString()); - } - - public static String format(String fileName) { - String[] split = StringUtils.split(fileName, '/'); - int i; - for (i = 0; i < split.length; i++) { - String s = split[i]; - if (Verify.equalsOne(s, "css", "js", "vendor", "img")) { - break; - } - } - StringBuilder b = new StringBuilder("web"); - for (int j = i; j < split.length; j++) { - String s = split[j]; - b.append('/').append(s); - } - return b.toString(); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/JavaScriptResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/JavaScriptResponse.java deleted file mode 100644 index d49119695..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/JavaScriptResponse.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.storage.file.PlanFiles; - -import java.io.IOException; - -/** - * @author Rsl1122 - */ -public class JavaScriptResponse extends FileResponse { - - JavaScriptResponse(String fileName, PlanFiles files, Locale locale) throws IOException { - super(format(fileName), files); - super.translate(locale::replaceLanguageInJavascript); - super.setType(ResponseType.JAVASCRIPT); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/OptionsResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/OptionsResponse.java deleted file mode 100644 index b9b94f977..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/OptionsResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -/** - * Response for an OPTIONS request. - * https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/OPTIONS - * - * @author Rsl1122 - */ -public class OptionsResponse extends Response_old { - - public OptionsResponse() { - setHeader("HTTP/1.1 204 No Content"); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/PromptAuthorizationResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/PromptAuthorizationResponse.java deleted file mode 100644 index 7098214a7..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/PromptAuthorizationResponse.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.delivery.webserver.auth.FailReason; -import com.djrapitops.plan.delivery.webserver.response.errors.ErrorResponse; -import com.djrapitops.plan.exceptions.WebUserAuthException; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Rsl1122 - */ -public class PromptAuthorizationResponse extends ErrorResponse { - - private static final String TIPS = "- Ensure you have registered a user with /plan register" - + "- Check that the username and password are correct" - + "- Username and password are case-sensitive" - + "If you have forgotten your password, ask a staff member to delete your old user and re-register."; - - private PromptAuthorizationResponse(VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setTitle(Icon.called("lock").build() + " 401 Unauthorized"); - } - - public static PromptAuthorizationResponse getBasicAuthResponse(VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - PromptAuthorizationResponse response = new PromptAuthorizationResponse(versionCheckSystem, files); - response.setHeader("HTTP/1.1 401 Access Denied\r\n" - + "WWW-Authenticate: Basic realm=\"Plan WebUser (/plan register)\""); - - response.setParagraph("Authentication Failed." + TIPS); - response.replacePlaceholders(); - return response; - } - - public static PromptAuthorizationResponse getBasicAuthResponse(WebUserAuthException e, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - PromptAuthorizationResponse response = new PromptAuthorizationResponse(versionCheckSystem, files); - - FailReason failReason = e.getFailReason(); - String reason = failReason.getReason(); - - if (failReason == FailReason.ERROR) { - StringBuilder errorBuilder = new StringBuilder(""); - for (String line : getStackTrace(e.getCause())) { - errorBuilder.append(line); - } - errorBuilder.append(""); - - reason += errorBuilder.toString(); - } - - response.setHeader("HTTP/1.1 401 Access Denied\r\n" - + "WWW-Authenticate: Basic realm=\"" + failReason.getReason() + "\""); - response.setParagraph("Authentication Failed.Reason: " + reason + "" + TIPS); - response.replacePlaceholders(); - return response; - } - - /** - * Gets lines for stack trace recursively. - * - * @param throwable Throwable element - * @return lines of stack trace. - */ - private static List getStackTrace(Throwable throwable) { - List stackTrace = new ArrayList<>(); - stackTrace.add(throwable.toString()); - for (StackTraceElement element : throwable.getStackTrace()) { - stackTrace.add(" " + element.toString()); - } - - Throwable cause = throwable.getCause(); - if (cause != null) { - List causeTrace = getStackTrace(cause); - if (!causeTrace.isEmpty()) { - causeTrace.set(0, "Caused by: " + causeTrace.get(0)); - stackTrace.addAll(causeTrace); - } - } - - return stackTrace; - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/RedirectResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/RedirectResponse.java deleted file mode 100644 index 45b10d733..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/RedirectResponse.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.sun.net.httpserver.HttpExchange; - -import java.io.IOException; - -/** - * @author Rsl1122 - */ -public class RedirectResponse extends Response_old { - - private final String direct; - - public RedirectResponse(String direct) { - super.setHeader("HTTP/1.1 302 Found"); - this.direct = direct; - } - - @Override - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - responseHeaders.set("Location", direct); - super.send(exchange, locale, theme); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseType.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseType.java deleted file mode 100644 index ded47649c..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseType.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -/** - * Enum for HTTP content-type response header Strings. - * - * @author Rsl1122 - */ -public enum ResponseType { - HTML("text/html; charset=utf-8"), - CSS("text/css"), - JSON("application/json"), - JAVASCRIPT("application/javascript"), - IMAGE("image/gif"), - X_ICON("image/x-icon"), - FONT_TTF("application/x-font-ttf"), - FONT_WOFF("application/font-woff"), - FONT_WOFF2("application/font-woff2"), - FONT_EOT("application/vnd.ms-fontobject"), - FONT_BYTESTREAM("application/octet-stream"); - - private final String type; - - ResponseType(String type) { - this.type = type; - } - - public String get() { - return type; - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/Response_old.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/Response_old.java deleted file mode 100644 index e30d3f7e9..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/Response_old.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.delivery.web.resolver.Response; -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.sun.net.httpserver.Headers; -import com.sun.net.httpserver.HttpExchange; -import org.apache.commons.lang3.StringUtils; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.util.Objects; -import java.util.Optional; -import java.util.function.Function; -import java.util.zip.GZIPOutputStream; - -/** - * @author Rsl1122 - */ -@Deprecated -public abstract class Response_old { - - private String type; - private String header; - private String content; - - protected Headers responseHeaders; - - public Response_old(ResponseType type) { - this.type = type.get(); - } - - /** - * Default Response constructor that defaults ResponseType to HTML. - */ - public Response_old() { - this(ResponseType.HTML); - } - - protected String getHeader() { - return header; - } - - public Optional getHeader(String called) { - if (header != null) { - for (String header : StringUtils.split(header, "\r\n")) { - if (called == null) { - return Optional.of(header); - } - if (StringUtils.startsWith(header, called)) { - return Optional.of(StringUtils.split(header, ':')[1].trim()); - } - } - } - return Optional.empty(); - } - - public void setHeader(String header) { - this.header = header; - } - - public String getResponse() { - return header + "\r\n" - + "Content-Type: " + type + ";\r\n" - + "Content-Length: " + content.length() + "\r\n" - + "\r\n" - + content; - } - - public String getContent() { - return content; - } - - public void setContent(String content) { - this.content = content; - } - - public int getCode() { - return getHeader(null).map(h -> Integer.parseInt(StringUtils.split(h, ' ')[1])).orElse(500); - } - - public Response toNewResponse() { - return Response.builder() - .setStatus(getCode()) - .setMimeType(type) - .setContent(content) - .build(); - } - - @Override - public int hashCode() { - return Objects.hash(header, content); - } - - protected void setType(ResponseType type) { - this.type = type.get(); - } - - public void setResponseHeaders(Headers responseHeaders) { - this.responseHeaders = responseHeaders; - } - - protected void translate(Function translator) { - content = translator.apply(content); - } - - protected void fixThemeColors(Theme theme) { - content = theme.replaceThemeColors(content); - } - - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - responseHeaders.set("Content-Type", type); - responseHeaders.set("Content-Encoding", "gzip"); - // TODO handle case of ByteResponse when "Accept-Ranges", "bytes" is set - exchange.sendResponseHeaders(getCode(), 0); - - try ( - GZIPOutputStream out = new GZIPOutputStream(exchange.getResponseBody()); - ByteArrayInputStream bis = new ByteArrayInputStream((content != null ? content : "").getBytes(StandardCharsets.UTF_8)) - ) { - byte[] buffer = new byte[2048]; - int count; - while ((count = bis.read(buffer)) != -1) { - out.write(buffer, 0, count); - } - } - } - - @Override - public String toString() { - return header + " | " + getResponse(); - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - Response_old response = (Response_old) o; - return Objects.equals(header, response.header) && - Objects.equals(content, response.content); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/TextResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/TextResponse.java deleted file mode 100644 index 1b5bfe80c..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/TextResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -/** - * Response for raw text. - * - * @author Rsl1122 - */ -public class TextResponse extends Response_old { - - public TextResponse(String content) { - setHeader("HTTP/1.1 200 OK"); - setContent(content); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/data/JSONResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/data/JSONResponse.java deleted file mode 100644 index c855ed707..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/data/JSONResponse.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.data; - -import com.djrapitops.plan.delivery.webserver.response.ResponseType; -import com.djrapitops.plan.delivery.webserver.response.Response_old; -import com.google.gson.Gson; -import com.google.gson.JsonElement; - -/** - * Generic JSON response implemented using Gson. - * - * Returns a JSON version of the given object. - * - * @author Rsl1122 - */ -public class JSONResponse extends Response_old { - - public JSONResponse(Object object) { - this(new Gson().toJson(object)); - } - - public JSONResponse(JsonElement json) { - this(json.getAsString()); - } - - public JSONResponse(String jsonString) { - super(ResponseType.JSON); - super.setHeader("HTTP/1.1 200 OK"); - super.setContent(jsonString); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/BadRequestResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/BadRequestResponse.java deleted file mode 100644 index 0ef06c70d..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/BadRequestResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.webserver.response.Response_old; - -/** - * @author Fuzzlemann - */ -public class BadRequestResponse extends Response_old { - - public BadRequestResponse(String error) { - super.setHeader("HTTP/1.1 400 Bad Request " + error); - super.setContent("400 Bad Request: " + error); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ErrorResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ErrorResponse.java deleted file mode 100644 index 28b12e3a3..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ErrorResponse.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.rendering.html.Contributors; -import com.djrapitops.plan.delivery.webserver.response.pages.PageResponse; -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; -import com.sun.net.httpserver.HttpExchange; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.text.StringSubstitutor; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; - -/** - * Represents generic HTTP Error response that has the page style in it. - * - * @author Rsl1122 - */ -public class ErrorResponse extends PageResponse { - - private String title; - private String paragraph; - - private VersionCheckSystem versionCheckSystem; - - public ErrorResponse(VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - this.versionCheckSystem = versionCheckSystem; - setContent(files.getCustomizableResourceOrDefault("web/error.html").asString()); - } - - public ErrorResponse(String message) { - setContent(message); - } - - public void replacePlaceholders() { - Map placeholders = new HashMap<>(); - placeholders.put("title", title); - String[] split = StringUtils.split(title, ">", 3); - placeholders.put("titleText", split.length == 3 ? split[2] : title); - placeholders.put("paragraph", paragraph); - placeholders.put("version", versionCheckSystem.getUpdateButton().orElse(versionCheckSystem.getCurrentVersionButton())); - placeholders.put("updateModal", versionCheckSystem.getUpdateModal()); - placeholders.put("contributors", Contributors.generateContributorHtml()); - - setContent(StringSubstitutor.replace(getContent(), placeholders)); - } - - public void setTitle(String title) { - this.title = title; - } - - public void setParagraph(String paragraph) { - this.paragraph = paragraph; - } - - @Override - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - translate(locale::replaceLanguageInHtml); - fixThemeColors(theme); - super.send(exchange, locale, theme); - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof ErrorResponse)) return false; - if (!super.equals(o)) return false; - ErrorResponse that = (ErrorResponse) o; - return Objects.equals(title, that.title) && - Objects.equals(paragraph, that.paragraph); - } - - @Override - public int hashCode() { - return Objects.hash(super.hashCode(), title, paragraph); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ForbiddenResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ForbiddenResponse.java deleted file mode 100644 index 8d9b11670..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ForbiddenResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.rendering.html.icon.Family; -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; - -/** - * @author Rsl1122 - */ -public class ForbiddenResponse extends ErrorResponse { - public ForbiddenResponse(String msg, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setHeader("HTTP/1.1 403 Forbidden"); - super.setTitle(Icon.called("hand-paper").of(Family.REGULAR) + " 403 Forbidden - Access Denied"); - super.setParagraph(msg); - super.replacePlaceholders(); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/InternalErrorResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/InternalErrorResponse.java deleted file mode 100644 index c8f8d65b1..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/InternalErrorResponse.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.rendering.html.Html; -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; - -/** - * @author Rsl1122 - */ -public class InternalErrorResponse extends ErrorResponse { - - public InternalErrorResponse(String cause, Throwable e, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setHeader("HTTP/1.1 500 Internal Error"); - - super.setTitle(Icon.called("bug") + " 500 Internal Error occurred"); - - StringBuilder paragraph = new StringBuilder(); - paragraph.append("Please report this issue here: "); - paragraph.append(Html.LINK.create("https://github.com/Rsl1122/Plan-PlayerAnalytics/issues", "Issues")); - paragraph.append(""); - paragraph.append(e).append(" | ").append(cause); - - for (StackTraceElement element : e.getStackTrace()) { - paragraph.append(""); - paragraph.append(" ").append(element); - } - if (e.getCause() != null) { - appendCause(e.getCause(), paragraph); - } - - paragraph.append(""); - - super.setParagraph(paragraph.toString()); - super.replacePlaceholders(); - } - - private void appendCause(Throwable cause, StringBuilder paragraph) { - paragraph.append("Caused by: ").append(cause); - for (StackTraceElement element : cause.getStackTrace()) { - paragraph.append(""); - paragraph.append(" ").append(element); - } - if (cause.getCause() != null) { - appendCause(cause.getCause(), paragraph); - } - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/NotFoundResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/NotFoundResponse.java deleted file mode 100644 index c5bd50781..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/NotFoundResponse.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; - -/** - * Generic 404 response. - * - * @author Rsl1122 - */ -public class NotFoundResponse extends ErrorResponse { - - public NotFoundResponse(String msg, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setHeader("HTTP/1.1 404 Not Found"); - super.setTitle(Icon.called("map-signs") + " 404 Not Found"); - super.setParagraph(msg); - super.replacePlaceholders(); - } - -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/DebugPageResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/DebugPageResponse.java deleted file mode 100644 index 0895829d2..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/DebugPageResponse.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.delivery.rendering.pages.DebugPage; -import com.djrapitops.plan.delivery.webserver.response.errors.ErrorResponse; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; - -/** - * WebServer response for /debug-page used for easing issue reporting. - * - * @author Rsl1122 - */ -public class DebugPageResponse extends ErrorResponse { - - public DebugPageResponse(DebugPage debugPage, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setHeader("HTTP/1.1 200 OK"); - super.setTitle(Icon.called("bug") + " Debug Information"); - super.setParagraph(debugPage.toHtml()); - replacePlaceholders(); - } - -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PageResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PageResponse.java deleted file mode 100644 index d111efb76..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PageResponse.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.rendering.pages.Page; -import com.djrapitops.plan.delivery.webserver.response.ResponseType; -import com.djrapitops.plan.delivery.webserver.response.Response_old; -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.googlecode.htmlcompressor.compressor.HtmlCompressor; -import com.sun.net.httpserver.HttpExchange; - -import java.io.IOException; - -/** - * Response for all HTML Page responses. - * - * @author Rsl1122 - */ -public class PageResponse extends Response_old { - - private static final HtmlCompressor HTML_COMPRESSOR = new HtmlCompressor(); - - static { - HTML_COMPRESSOR.setRemoveIntertagSpaces(true); - } - - public PageResponse(ResponseType type) { - super(type); - } - - public PageResponse(Page page) { - this(ResponseType.HTML); - super.setHeader("HTTP/1.1 200 OK"); - setContent(page.toHtml()); - } - - public PageResponse() { - } - - @Override - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - translate(locale::replaceLanguageInHtml); - fixThemeColors(theme); - super.send(exchange, locale, theme); - } - - @Override - public void setContent(String content) { - super.setContent(HTML_COMPRESSOR.compress(content)); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PlayersPageResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PlayersPageResponse.java deleted file mode 100644 index e5cb3a4af..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PlayersPageResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.rendering.pages.PlayersPage; - -/** - * @author Rsl1122 - */ -public class PlayersPageResponse extends PageResponse { - - public PlayersPageResponse(PlayersPage playersPage) { - setHeader("HTTP/1.1 200 OK"); - setContent(playersPage.toHtml()); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawDataResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawDataResponse.java deleted file mode 100644 index 458178b53..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawDataResponse.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.domain.container.DataContainer; -import com.djrapitops.plan.delivery.webserver.response.data.JSONResponse; -import com.djrapitops.plan.utilities.java.Lists; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * Response for sending raw data as JSON when it is inside a DataContainer. - * - * This transform class is required to remove Key-Supplier object pollution in the resulting JSON, as well as to remove - * the effects of the caching layer. - * - * @author Rsl1122 - */ -public class RawDataResponse extends JSONResponse { - - public RawDataResponse(DataContainer dataContainer) { - super(mapToNormalMap(dataContainer)); - } - - public static Map mapToNormalMap(DataContainer player) { - Map values = new HashMap<>(); - player.getMap().forEach((key, value) -> - { - if (value instanceof DataContainer) { - value = mapToNormalMap((DataContainer) value); - } - if (value instanceof Map) { - value = handleMap((Map, ?>) value); - } - if (value instanceof List) { - value = handleList((List>) value); - } - values.put(key.getKeyName(), value); - } - ); - return values; - } - - private static List> handleList(List> list) { - if (list.stream().findAny().orElse(null) instanceof DataContainer) { - return Lists.map(list, obj -> mapToNormalMap((DataContainer) obj)); - } - return list; - } - - private static Map, ?> handleMap(Map, ?> map) { - if (map.values().stream().findAny().orElse(null) instanceof DataContainer) { - Map newMap = new HashMap<>(); - map.forEach((key, value) -> newMap.put(key, mapToNormalMap((DataContainer) value))); - return newMap; - } - return map; - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawPlayerDataResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawPlayerDataResponse.java deleted file mode 100644 index a4eb8deac..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawPlayerDataResponse.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.domain.container.PlayerContainer; - -/** - * Raw Data JSON response for a Player. - * - * @author Rsl1122 - */ -public class RawPlayerDataResponse extends RawDataResponse { - - public RawPlayerDataResponse(PlayerContainer playerContainer) { - super(playerContainer); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java b/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java index 536f8a37f..05076f875 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java @@ -17,7 +17,6 @@ package com.djrapitops.plan.gathering.cache; import com.djrapitops.plan.SubSystem; -import com.djrapitops.plan.exceptions.EnableException; import com.djrapitops.plan.gathering.geolocation.GeolocationCache; import javax.inject.Inject; @@ -47,7 +46,7 @@ public class CacheSystem implements SubSystem { } @Override - public void enable() throws EnableException { + public void enable() { nicknameCache.enable(); geolocationCache.enable(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java index 3484e76b2..2f12a8e09 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java @@ -17,7 +17,7 @@ package com.djrapitops.plan.storage.database.queries; import com.djrapitops.plan.delivery.domain.Nickname; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.domain.keys.SessionKeys; import com.djrapitops.plan.gathering.domain.*; import com.djrapitops.plan.identification.Server; @@ -119,7 +119,7 @@ public class LargeStoreQueries { * @param users Collection of Plan WebUsers. * @return Executable, use inside a {@link com.djrapitops.plan.storage.database.transactions.Transaction} */ - public static Executable storeAllPlanWebUsers(Collection users) { + public static Executable storeAllPlanWebUsers(Collection users) { if (Verify.isEmpty(users)) { return Executable.empty(); } @@ -127,7 +127,7 @@ public class LargeStoreQueries { return new ExecBatchStatement(SecurityTable.INSERT_STATEMENT) { @Override public void prepare(PreparedStatement statement) throws SQLException { - for (WebUser_old user : users) { + for (WebUser user : users) { String userName = user.getName(); String pass = user.getSaltedPassHash(); int permLvl = user.getPermLevel(); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java index 5a0146017..ea316c449 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java @@ -16,7 +16,6 @@ */ package com.djrapitops.plan.storage.database.queries.objects; -import com.djrapitops.plan.delivery.domain.WebUser_old; import com.djrapitops.plan.gathering.domain.Ping; import com.djrapitops.plan.storage.database.queries.Query; import com.djrapitops.plan.storage.database.queries.QueryAllStatement; @@ -33,7 +32,7 @@ import java.util.*; import static com.djrapitops.plan.storage.database.sql.building.Sql.*; /** - * Queries for {@link WebUser_old} objects. + * Queries for {@link Ping} objects. * * @author Rsl1122 */ diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java index 601750e5e..085b77caa 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.storage.database.queries.objects; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.storage.database.queries.Query; import com.djrapitops.plan.storage.database.queries.QueryAllStatement; import com.djrapitops.plan.storage.database.queries.QueryStatement; @@ -32,7 +32,7 @@ import java.util.Optional; import static com.djrapitops.plan.storage.database.sql.building.Sql.*; /** - * Queries for {@link WebUser_old} objects. + * Queries for {@link WebUser} objects. * * @author Rsl1122 */ @@ -47,18 +47,18 @@ public class WebUserQueries { * * @return List of Plan WebUsers. */ - public static Query> fetchAllPlanWebUsers() { + public static Query> fetchAllPlanWebUsers() { String sql = SELECT + '*' + FROM + SecurityTable.TABLE_NAME + ORDER_BY + SecurityTable.PERMISSION_LEVEL + " ASC"; - return new QueryAllStatement>(sql, 5000) { + return new QueryAllStatement>(sql, 5000) { @Override - public List processResults(ResultSet set) throws SQLException { - List list = new ArrayList<>(); + public List processResults(ResultSet set) throws SQLException { + List list = new ArrayList<>(); while (set.next()) { String user = set.getString(SecurityTable.USERNAME); String saltedPassHash = set.getString(SecurityTable.SALT_PASSWORD_HASH); int permissionLevel = set.getInt(SecurityTable.PERMISSION_LEVEL); - WebUser_old info = new WebUser_old(user, saltedPassHash, permissionLevel); + WebUser info = new WebUser(user, saltedPassHash, permissionLevel); list.add(info); } return list; @@ -66,21 +66,21 @@ public class WebUserQueries { }; } - public static Query> fetchWebUser(String called) { + public static Query> fetchWebUser(String called) { String sql = SELECT + '*' + FROM + SecurityTable.TABLE_NAME + WHERE + SecurityTable.USERNAME + "=? LIMIT 1"; - return new QueryStatement>(sql) { + return new QueryStatement>(sql) { @Override public void prepare(PreparedStatement statement) throws SQLException { statement.setString(1, called); } @Override - public Optional processResults(ResultSet set) throws SQLException { + public Optional processResults(ResultSet set) throws SQLException { if (set.next()) { String saltedPassHash = set.getString(SecurityTable.SALT_PASSWORD_HASH); int permissionLevel = set.getInt(SecurityTable.PERMISSION_LEVEL); - return Optional.of(new WebUser_old(called, saltedPassHash, permissionLevel)); + return Optional.of(new WebUser(called, saltedPassHash, permissionLevel)); } return Optional.empty(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java index 6a762818d..4dd004a37 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.storage.database.transactions.commands; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.storage.database.sql.tables.SecurityTable; import com.djrapitops.plan.storage.database.transactions.ExecStatement; import com.djrapitops.plan.storage.database.transactions.Transaction; @@ -25,15 +25,15 @@ import java.sql.PreparedStatement; import java.sql.SQLException; /** - * Transaction to save a new Plan {@link WebUser_old} to the database. + * Transaction to save a new Plan {@link WebUser} to the database. * * @author Rsl1122 */ public class RegisterWebUserTransaction extends Transaction { - private final WebUser_old webUser; + private final WebUser webUser; - public RegisterWebUserTransaction(WebUser_old webUser) { + public RegisterWebUserTransaction(WebUser webUser) { this.webUser = webUser; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java index e5c984b3f..d2ee58f72 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.storage.database.transactions.commands; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.storage.database.sql.tables.SecurityTable; import com.djrapitops.plan.storage.database.transactions.ExecStatement; import com.djrapitops.plan.storage.database.transactions.Transaction; @@ -28,7 +28,7 @@ import static com.djrapitops.plan.storage.database.sql.building.Sql.DELETE_FROM; import static com.djrapitops.plan.storage.database.sql.building.Sql.WHERE; /** - * Transaction to remove a Plan {@link WebUser_old} from the database. + * Transaction to remove a Plan {@link WebUser} from the database. * * @author Rsl1122 */ diff --git a/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java b/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java index 8d6e009d8..856274b15 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.utilities.comparators; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import java.util.Comparator; @@ -25,10 +25,10 @@ import java.util.Comparator; * * @author Rsl1122 */ -public class WebUserComparator implements Comparator { +public class WebUserComparator implements Comparator { @Override - public int compare(WebUser_old o1, WebUser_old o2) { + public int compare(WebUser o1, WebUser o2) { return Integer.compare(o2.getPermLevel(), o1.getPermLevel()); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java index fc2eb2993..b32398329 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java @@ -17,7 +17,7 @@ package com.djrapitops.plan.delivery.webserver; import com.djrapitops.plan.PlanSystem; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.settings.config.PlanConfig; import com.djrapitops.plan.settings.config.paths.WebserverSettings; import com.djrapitops.plan.storage.database.transactions.commands.RegisterWebUserTransaction; @@ -61,7 +61,7 @@ class JksHttpsServerTest implements HttpsServerTest { system.enable(); - WebUser_old webUser = new WebUser_old("test", PassEncryptUtil.createHash("testPass"), 0); + WebUser webUser = new WebUser("test", PassEncryptUtil.createHash("testPass"), 0); system.getDatabaseSystem().getDatabase().executeTransaction(new RegisterWebUserTransaction(webUser)); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java index 2f935a3ac..3ec52abdb 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java @@ -17,7 +17,7 @@ package com.djrapitops.plan.delivery.webserver; import com.djrapitops.plan.PlanSystem; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.settings.config.PlanConfig; import com.djrapitops.plan.settings.config.changes.ConfigUpdater; import com.djrapitops.plan.settings.config.paths.WebserverSettings; @@ -66,7 +66,7 @@ class Pkcs12HttpsServerTest implements HttpsServerTest { system.enable(); - WebUser_old webUser = new WebUser_old("test", PassEncryptUtil.createHash("testPass"), 0); + WebUser webUser = new WebUser("test", PassEncryptUtil.createHash("testPass"), 0); system.getDatabaseSystem().getDatabase().executeTransaction(new RegisterWebUserTransaction(webUser)); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java index 8b5bf7965..30d22782f 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java @@ -16,7 +16,6 @@ */ package com.djrapitops.plan.delivery.webserver.cache; -import com.djrapitops.plan.delivery.webserver.response.data.JSONResponse; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.platform.runner.JUnitPlatform; @@ -47,7 +46,7 @@ class JSONCacheTest { @Test void cachedByDataIDName() { - JSONCache.getOrCache(TEST_ID, () -> new JSONResponse(CACHED)); + JSONCache.getOrCache(TEST_ID, () -> CACHED); assertContains(); } @@ -77,7 +76,7 @@ class JSONCacheTest { @Test void cachedByServerUUID() { - JSONCache.getOrCache(TEST_ID, TEST_UUID, () -> new JSONResponse(CACHED)); + JSONCache.getOrCache(TEST_ID, TEST_UUID, () -> CACHED); assertContainsUUID(); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java b/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java index 0fbb29415..900b0cb4b 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java @@ -21,7 +21,7 @@ import com.djrapitops.plan.data.element.TableContainer; import com.djrapitops.plan.delivery.domain.DateObj; import com.djrapitops.plan.delivery.domain.Nickname; import com.djrapitops.plan.delivery.domain.TablePlayer; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.domain.container.PlayerContainer; import com.djrapitops.plan.delivery.domain.container.ServerContainer; import com.djrapitops.plan.delivery.domain.keys.Key; @@ -208,11 +208,11 @@ public interface DatabaseTest { @Test default void webUserIsRegistered() { - WebUser_old expected = new WebUser_old(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); + WebUser expected = new WebUser(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); db().executeTransaction(new RegisterWebUserTransaction(expected)); commitTest(); - Optional found = db().query(WebUserQueries.fetchWebUser(TestConstants.PLAYER_ONE_NAME)); + Optional found = db().query(WebUserQueries.fetchWebUser(TestConstants.PLAYER_ONE_NAME)); assertTrue(found.isPresent()); assertEquals(expected, found.get()); } @@ -500,7 +500,7 @@ public interface DatabaseTest { Collections.singletonList(new DateObj<>(System.currentTimeMillis(), r.nextInt()))) ); - WebUser_old webUser = new WebUser_old(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); + WebUser webUser = new WebUser(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); db().executeTransaction(new RegisterWebUserTransaction(webUser)); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java b/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java index 4505f07b0..df7d8a6ef 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.utilities.comparators; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.domain.keys.SessionKeys; import com.djrapitops.plan.delivery.rendering.json.graphs.line.Point; import com.djrapitops.plan.gathering.domain.GeoInfo; @@ -83,14 +83,14 @@ class ComparatorTest { @Test void webUserComparator() throws PassEncryptUtil.CannotPerformOperationException { - List webUsers = RandomData.randomWebUsers(); + List webUsers = RandomData.randomWebUsers(); - List expected = webUsers.stream().map(WebUser_old::getPermLevel) + List expected = webUsers.stream().map(WebUser::getPermLevel) .sorted(Integer::compare).collect(Collectors.toList()); Collections.reverse(expected); webUsers.sort(new WebUserComparator()); - List result = Lists.map(webUsers, WebUser_old::getPermLevel); + List result = Lists.map(webUsers, WebUser::getPermLevel); assertEquals(expected, result); } diff --git a/Plan/common/src/test/java/utilities/RandomData.java b/Plan/common/src/test/java/utilities/RandomData.java index fa20db9af..8be20eca1 100644 --- a/Plan/common/src/test/java/utilities/RandomData.java +++ b/Plan/common/src/test/java/utilities/RandomData.java @@ -16,19 +16,17 @@ */ package utilities; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.rendering.json.graphs.line.Point; import com.djrapitops.plan.gathering.domain.GeoInfo; import com.djrapitops.plan.gathering.domain.Session; import com.djrapitops.plan.gathering.domain.TPS; -import com.djrapitops.plan.gathering.domain.UserInfo; import com.djrapitops.plan.utilities.PassEncryptUtil; import org.apache.commons.lang3.RandomStringUtils; import java.util.ArrayList; import java.util.List; import java.util.Random; -import java.util.UUID; import java.util.concurrent.ThreadLocalRandom; public class RandomData { @@ -51,10 +49,10 @@ public class RandomData { return RandomStringUtils.randomAlphanumeric(size); } - public static List randomWebUsers() throws PassEncryptUtil.CannotPerformOperationException { - List test = new ArrayList<>(); + public static List randomWebUsers() throws PassEncryptUtil.CannotPerformOperationException { + List test = new ArrayList<>(); for (int i = 0; i < 20; i++) { - test.add(new WebUser_old(randomString(5), PassEncryptUtil.createHash(randomString(7)), r.nextInt())); + test.add(new WebUser(randomString(5), PassEncryptUtil.createHash(randomString(7)), r.nextInt())); } return test; } @@ -89,20 +87,6 @@ public class RandomData { return test; } - public static T randomEnum(Class clazz) { - int x = r.nextInt(clazz.getEnumConstants().length); - return clazz.getEnumConstants()[x]; - } - - public static List randomUserData() { - List test = new ArrayList<>(); - for (int i = 0; i < 20; i++) { - UserInfo info = new UserInfo(UUID.randomUUID(), UUID.randomUUID(), r.nextLong(), r.nextBoolean(), r.nextBoolean()); - test.add(info); - } - return test; - } - public static List randomGeoInfo() { List test = new ArrayList<>(); for (int i = 0; i < 20; i++) {
diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/NetworkPageExporter.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/NetworkPageExporter.java index 76539227a..931e366e0 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/NetworkPageExporter.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/NetworkPageExporter.java @@ -20,7 +20,7 @@ import com.djrapitops.plan.delivery.rendering.pages.Page; import com.djrapitops.plan.delivery.rendering.pages.PageFactory; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; -import com.djrapitops.plan.delivery.webserver.pages.json.RootJSONResolver; +import com.djrapitops.plan.delivery.webserver.resolver.json.RootJSONResolver; import com.djrapitops.plan.exceptions.connection.NotFoundException; import com.djrapitops.plan.exceptions.connection.WebException; import com.djrapitops.plan.identification.Server; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerJSONExporter.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerJSONExporter.java index ba401b56b..990da7473 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerJSONExporter.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerJSONExporter.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.delivery.export; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import com.djrapitops.plan.storage.database.DBSystem; import com.djrapitops.plan.storage.database.Database; import com.djrapitops.plan.storage.database.queries.PlayerFetchQueries; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerPageExporter.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerPageExporter.java index a65c98109..87f3958c7 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerPageExporter.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerPageExporter.java @@ -20,7 +20,7 @@ import com.djrapitops.plan.delivery.rendering.pages.Page; import com.djrapitops.plan.delivery.rendering.pages.PageFactory; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; -import com.djrapitops.plan.delivery.webserver.pages.json.RootJSONResolver; +import com.djrapitops.plan.delivery.webserver.resolver.json.RootJSONResolver; import com.djrapitops.plan.exceptions.connection.NotFoundException; import com.djrapitops.plan.exceptions.connection.WebException; import com.djrapitops.plan.settings.locale.Locale; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayersPageExporter.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayersPageExporter.java index 616bcd56c..748b24531 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayersPageExporter.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayersPageExporter.java @@ -20,7 +20,7 @@ import com.djrapitops.plan.delivery.rendering.pages.Page; import com.djrapitops.plan.delivery.rendering.pages.PageFactory; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; -import com.djrapitops.plan.delivery.webserver.pages.json.RootJSONResolver; +import com.djrapitops.plan.delivery.webserver.resolver.json.RootJSONResolver; import com.djrapitops.plan.exceptions.connection.NotFoundException; import com.djrapitops.plan.exceptions.connection.WebException; import com.djrapitops.plan.identification.ServerInfo; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/ServerPageExporter.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/ServerPageExporter.java index 8682638a1..4479cb77b 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/ServerPageExporter.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/ServerPageExporter.java @@ -20,7 +20,7 @@ import com.djrapitops.plan.delivery.rendering.pages.Page; import com.djrapitops.plan.delivery.rendering.pages.PageFactory; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; -import com.djrapitops.plan.delivery.webserver.pages.json.RootJSONResolver; +import com.djrapitops.plan.delivery.webserver.resolver.json.RootJSONResolver; import com.djrapitops.plan.exceptions.connection.NotFoundException; import com.djrapitops.plan.exceptions.connection.WebException; import com.djrapitops.plan.identification.Server; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/WorldPie.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/WorldPie.java index 62771d1a8..716db6c47 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/WorldPie.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/WorldPie.java @@ -71,10 +71,10 @@ public class WorldPie extends PieWithDrilldown { return drilldowns; } - private List createGMTimesForWorld(GMTimes gmTimes) { - List data = new ArrayList<>(); + private List> createGMTimesForWorld(GMTimes gmTimes) { + List> data = new ArrayList<>(); for (Map.Entry gmEntry : gmTimes.getTimes().entrySet()) { - List gmList = Arrays.asList(gmEntry.getKey(), gmEntry.getValue()); + List gmList = Arrays.asList(gmEntry.getKey(), gmEntry.getValue()); data.add(gmList); } return data; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestHandler.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestHandler.java index 89a11cb5a..570afbebe 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestHandler.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestHandler.java @@ -19,7 +19,6 @@ package com.djrapitops.plan.delivery.webserver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.webserver.auth.Authentication; import com.djrapitops.plan.delivery.webserver.auth.BasicAuthentication; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; import com.djrapitops.plan.settings.config.PlanConfig; import com.djrapitops.plan.settings.config.paths.PluginSettings; import com.djrapitops.plan.settings.config.paths.WebserverSettings; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestInternal.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestInternal.java index 559a31628..9149a5462 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestInternal.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestInternal.java @@ -25,7 +25,6 @@ import com.djrapitops.plan.exceptions.WebUserAuthException; import com.djrapitops.plan.settings.locale.Locale; import com.sun.net.httpserver.HttpExchange; -import java.io.InputStream; import java.net.URI; import java.util.HashMap; import java.util.List; @@ -84,10 +83,6 @@ public class RequestInternal { return new URIQuery(requestURI.getQuery()); } - public InputStream getRequestBody() { - return exchange.getRequestBody(); - } - @Override public String toString() { return "Request:" + requestMethod + " " + requestURI.getPath(); @@ -101,11 +96,6 @@ public class RequestInternal { return locale; } - @Deprecated - public RequestTarget getRequestTarget() { - return new RequestTarget(requestURI); - } - public Request toAPIRequest() throws WebUserAuthException { return new Request( requestMethod, @@ -118,7 +108,7 @@ public class RequestInternal { private WebUser getWebUser() throws WebUserAuthException { Optional auth = getAuth(); - return auth.isPresent() ? auth.get().getWebUser().toNewWebUser() : null; + return auth.map(authentication -> authentication.getWebUser().toNewWebUser()).orElse(null); } private Map getRequestHeaders() { diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestTarget.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestTarget.java deleted file mode 100644 index 78f5004e1..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestTarget.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver; - -import org.apache.commons.lang3.StringUtils; - -import java.net.URI; -import java.util.*; -import java.util.stream.Collectors; - -/** - * Represents URI of a requested resource. - * - * @author Rsl1122 - */ -@Deprecated -public class RequestTarget { - - private final String resourceString; - private final List resource; - private final Map parameters; - - public RequestTarget(URI targetURI) { - resourceString = targetURI.getPath(); - resource = Arrays.stream(StringUtils.split(resourceString, '/')) - .filter(part -> !part.isEmpty()).collect(Collectors.toList()); - - parameters = new TreeMap<>(); - parseParameters(targetURI.getQuery()); - } - - private void parseParameters(String parameterString) { - if (parameterString == null || parameterString.isEmpty()) { - return; - } - - String[] keysAndValues = StringUtils.split(parameterString, '&'); - for (String kv : keysAndValues) { - if (kv.isEmpty()) { - continue; - } - String[] keyAndValue = StringUtils.split(kv, "=", 2); - if (keyAndValue.length >= 2) { - parameters.put(keyAndValue[0], keyAndValue[1]); - } - } - } - - public boolean isEmpty() { - return resource.isEmpty(); - } - - public int size() { - return resource.size(); - } - - public String get(int index) { - return resource.get(index); - } - - public void removeFirst() { - if (!isEmpty()) { - resource.remove(0); - } - } - - public boolean endsWith(String suffix) { - return resourceString.endsWith(suffix); - } - - public boolean endsWithAny(String... suffixes) { - return StringUtils.endsWithAny(resourceString, suffixes); - } - - public Optional getParameter(String key) { - return Optional.ofNullable(parameters.get(key)); - } - - public String getResourceString() { - return resourceString; - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseFactory.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseFactory.java similarity index 90% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseFactory.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseFactory.java index 3922b68b8..d2eda281b 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseFactory.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseFactory.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.response; +package com.djrapitops.plan.delivery.webserver; import com.djrapitops.plan.delivery.domain.container.PlayerContainer; import com.djrapitops.plan.delivery.rendering.html.icon.Family; @@ -24,10 +24,6 @@ import com.djrapitops.plan.delivery.rendering.pages.PageFactory; import com.djrapitops.plan.delivery.web.resolver.MimeType; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.webserver.auth.FailReason; -import com.djrapitops.plan.delivery.webserver.response.errors.ErrorResponse; -import com.djrapitops.plan.delivery.webserver.response.errors.InternalErrorResponse; -import com.djrapitops.plan.delivery.webserver.response.errors.NotFoundResponse; -import com.djrapitops.plan.delivery.webserver.response.pages.RawDataResponse; import com.djrapitops.plan.exceptions.WebUserAuthException; import com.djrapitops.plan.exceptions.connection.NotFoundException; import com.djrapitops.plan.settings.locale.Locale; @@ -135,19 +131,6 @@ public class ResponseFactory { .build(); } - @Deprecated - public ErrorResponse internalErrorResponse_old(Throwable e, String s) { - try { - return new InternalErrorResponse(s, e, versionCheckSystem, files); - } catch (IOException improperRestartException) { - return new ErrorResponse( - "Error occurred: " + e.toString() + - ", additional error occurred when attempting to send error page to user: " + - improperRestartException.toString() - ); - } - } - public Response internalErrorResponse(Throwable e, String s) { return forInternalError(e, s); } @@ -178,7 +161,7 @@ public class ResponseFactory { PlayerContainer player = dbSystem.getDatabase().query(ContainerFetchQueries.fetchPlayerContainer(playerUUID)); return Response.builder() .setMimeType(MimeType.JSON) - .setJSONContent(RawDataResponse.mapToNormalMap(player)) + .setJSONContent(player.mapToNormalMap()) .build(); } @@ -258,11 +241,6 @@ public class ResponseFactory { } } - @Deprecated - public ErrorResponse pageNotFound404_old() { - return notFound404_old(locale.getString(ErrorPageLang.UNKNOWN_PAGE_404)); - } - public Response pageNotFound404() { return notFound404(locale.getString(ErrorPageLang.UNKNOWN_PAGE_404)); } @@ -275,15 +253,6 @@ public class ResponseFactory { return notFound404(locale.getString(ErrorPageLang.NOT_PLAYED_404)); } - @Deprecated - public ErrorResponse notFound404_old(String message) { - try { - return new NotFoundResponse(message, versionCheckSystem, files); - } catch (IOException e) { - return internalErrorResponse_old(e, "Failed to generate 404 page"); - } - } - public Response notFound404(String message) { try { return Response.builder() diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseResolver.java index 151378401..57a55a6ca 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseResolver.java @@ -23,10 +23,8 @@ import com.djrapitops.plan.delivery.web.resolver.Resolver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; import com.djrapitops.plan.delivery.webserver.auth.Authentication; -import com.djrapitops.plan.delivery.webserver.pages.*; -import com.djrapitops.plan.delivery.webserver.pages.json.RootJSONResolver; -import com.djrapitops.plan.delivery.webserver.response.OptionsResponse; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; +import com.djrapitops.plan.delivery.webserver.resolver.*; +import com.djrapitops.plan.delivery.webserver.resolver.json.RootJSONResolver; import com.djrapitops.plan.exceptions.WebUserAuthException; import com.djrapitops.plan.exceptions.connection.BadRequestException; import com.djrapitops.plan.exceptions.connection.ForbiddenException; @@ -109,7 +107,7 @@ public class ResponseResolver { } public NoAuthResolver noAuthResolverFor(Response response) { - return (request) -> Optional.of(response); + return request -> Optional.of(response); } public Response getResponse(RequestInternal request) { @@ -130,8 +128,9 @@ public class ResponseResolver { } private Response tryToGetResponse(RequestInternal internalRequest) throws WebException { - if ("OPTIONS" .equalsIgnoreCase(internalRequest.getRequestMethod())) { - return new OptionsResponse().toNewResponse(); + if ("OPTIONS".equalsIgnoreCase(internalRequest.getRequestMethod())) { + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/OPTIONS + return Response.builder().setStatus(204).setContent(new byte[0]).build(); } Optional authentication = internalRequest.getAuth(); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/auth/Authentication.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/auth/Authentication.java index 3914f25ad..3912fcddf 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/auth/Authentication.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/auth/Authentication.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.delivery.webserver.auth; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.exceptions.WebUserAuthException; /** @@ -26,6 +26,6 @@ import com.djrapitops.plan.exceptions.WebUserAuthException; */ public interface Authentication { - WebUser_old getWebUser() throws WebUserAuthException; + WebUser getWebUser() throws WebUserAuthException; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/auth/BasicAuthentication.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/auth/BasicAuthentication.java index f768536b2..0a1797868 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/auth/BasicAuthentication.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/auth/BasicAuthentication.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.delivery.webserver.auth; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.exceptions.PassEncryptException; import com.djrapitops.plan.exceptions.WebUserAuthException; import com.djrapitops.plan.exceptions.database.DBOpException; @@ -45,7 +45,7 @@ public class BasicAuthentication implements Authentication { } @Override - public WebUser_old getWebUser() throws WebUserAuthException { + public WebUser getWebUser() throws WebUserAuthException { String decoded = Base64Util.decode(authenticationString); String[] userInfo = StringUtils.split(decoded, ':'); @@ -62,7 +62,7 @@ public class BasicAuthentication implements Authentication { } try { - WebUser_old webUser = database.query(WebUserQueries.fetchWebUser(user)) + WebUser webUser = database.query(WebUserQueries.fetchWebUser(user)) .orElseThrow(() -> new WebUserAuthException(FailReason.USER_DOES_NOT_EXIST, user)); boolean correctPass = PassEncryptUtil.verifyPassword(passwordRaw, webUser.getSaltedPassHash()); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/cache/JSONCache.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/cache/JSONCache.java index 2e9905630..077629b90 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/cache/JSONCache.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/cache/JSONCache.java @@ -18,7 +18,7 @@ package com.djrapitops.plan.delivery.webserver.cache; import com.djrapitops.plan.delivery.web.resolver.MimeType; import com.djrapitops.plan.delivery.web.resolver.Response; -import com.djrapitops.plan.delivery.webserver.pages.json.RootJSONResolver; +import com.djrapitops.plan.delivery.webserver.resolver.json.RootJSONResolver; import com.djrapitops.plan.storage.file.ResourceCache; import com.djrapitops.plugin.task.AbsRunnable; import com.github.benmanes.caffeine.cache.Cache; @@ -72,17 +72,17 @@ public class JSONCache { return new String(found, StandardCharsets.UTF_8); } - public static Response getOrCache(DataID dataID, Supplier jsonResponseSupplier) { + public static Response getOrCache(DataID dataID, Supplier objectSupplier) { return getOrCache(dataID.name(), () -> Response.builder() .setMimeType(MimeType.JSON) - .setJSONContent(jsonResponseSupplier.get()) + .setJSONContent(objectSupplier.get()) .build()); } - public static Response getOrCache(DataID dataID, UUID serverUUID, Supplier jsonResponseSupplier) { + public static Response getOrCache(DataID dataID, UUID serverUUID, Supplier objectSupplier) { return getOrCache(dataID.of(serverUUID), () -> Response.builder() .setMimeType(MimeType.JSON) - .setJSONContent(jsonResponseSupplier.get()) + .setJSONContent(objectSupplier.get()) .build()); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/CompositePageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/CompositePageResolver.java deleted file mode 100644 index 10bd1c3c3..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/CompositePageResolver.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.pages; - -import com.djrapitops.plan.delivery.webserver.RequestInternal; -import com.djrapitops.plan.delivery.webserver.RequestTarget; -import com.djrapitops.plan.delivery.webserver.auth.Authentication; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; -import com.djrapitops.plan.delivery.webserver.response.Response_old; -import com.djrapitops.plan.exceptions.WebUserAuthException; -import com.djrapitops.plan.exceptions.connection.WebException; - -import java.util.HashMap; -import java.util.Map; - -/** - * Extended {@link PageResolver} to implement layered resolution of addresses. - * - * Allows resolving /example/foo and /example/bar with different PageResolvers as if the address being resolved - * was at the root of the address (/example/foo - FooPageResolver sees /foo). - * - * Tree-like pattern for URL resolution. - * - * @author Rsl1122 - */ -@Deprecated -public abstract class CompositePageResolver implements PageResolver { - - protected final ResponseFactory responseFactory; - - private final Map pages; - - public CompositePageResolver(ResponseFactory responseFactory) { - this.responseFactory = responseFactory; - pages = new HashMap<>(); - } - - @Deprecated - public void registerPage(String targetPage, PageResolver resolver) { - pages.put(targetPage, resolver); - } - - @Deprecated - public void registerPage(String targetPage, PageResolver resolver, int requiredPerm) { - pages.put(targetPage, new PageResolver() { - @Override - public Response_old resolve(RequestInternal request, RequestTarget target) throws WebException { - return resolver.resolve(request, target); - } - - @Override - public boolean isAuthorized(Authentication auth, RequestTarget target) throws WebUserAuthException { - return auth.getWebUser().getPermLevel() <= requiredPerm; - } - }); - } - - @Deprecated - public void registerPage(String targetPage, Response_old response, int requiredPerm) { - pages.put(targetPage, new PageResolver() { - @Override - public Response_old resolve(RequestInternal request, RequestTarget target) { - return response; - } - - @Override - public boolean isAuthorized(Authentication auth, RequestTarget target) throws WebUserAuthException { - return auth.getWebUser().getPermLevel() <= requiredPerm; - } - }); - } - - @Override - @Deprecated - public Response_old resolve(RequestInternal request, RequestTarget target) throws WebException { - PageResolver pageResolver = getPageResolver(target); - return pageResolver != null - ? pageResolver.resolve(request, target) - : responseFactory.pageNotFound404_old(); - } - - @Deprecated - public PageResolver getPageResolver(RequestTarget target) { - if (target.isEmpty()) { - return pages.get(""); - } - String targetPage = target.get(0); - target.removeFirst(); - return pages.get(targetPage); - } - - @Deprecated - public PageResolver getPageResolver(String targetPage) { - return pages.get(targetPage); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PageResolver.java deleted file mode 100644 index 6b4ffe0fb..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PageResolver.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.pages; - -import com.djrapitops.plan.delivery.webserver.RequestInternal; -import com.djrapitops.plan.delivery.webserver.RequestTarget; -import com.djrapitops.plan.delivery.webserver.auth.Authentication; -import com.djrapitops.plan.delivery.webserver.response.Response_old; -import com.djrapitops.plan.exceptions.WebUserAuthException; -import com.djrapitops.plan.exceptions.connection.WebException; - -/** - * Used for Response resolution and authorization. - * - * @author Rsl1122 - * @see CompositePageResolver for larger depth resolution than 1. - */ -@Deprecated -public interface PageResolver { - - /** - * Resolve the request to a response. - * - * @param request Request in case it is useful for choosing page. - * @param target Rest of the target coordinates after this page has been solved. - * @return Appropriate response. - */ - Response_old resolve(RequestInternal request, RequestTarget target) throws WebException; - - default boolean isAuthorized(Authentication auth, RequestTarget target) throws WebUserAuthException { - return true; - } - -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/DebugPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/DebugPageResolver.java similarity index 92% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/DebugPageResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/DebugPageResolver.java index c7060cba8..e49ed6b74 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/DebugPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/DebugPageResolver.java @@ -14,12 +14,12 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages; +package com.djrapitops.plan.delivery.webserver.resolver; import com.djrapitops.plan.delivery.web.resolver.Resolver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayerPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/PlayerPageResolver.java similarity index 95% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayerPageResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/PlayerPageResolver.java index 169585e77..570dd7ed6 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayerPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/PlayerPageResolver.java @@ -14,14 +14,14 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages; +package com.djrapitops.plan.delivery.webserver.resolver; import com.djrapitops.plan.delivery.web.resolver.Resolver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; import com.djrapitops.plan.delivery.web.resolver.request.URIPath; import com.djrapitops.plan.delivery.web.resolver.request.WebUser; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import com.djrapitops.plan.identification.UUIDUtility; import javax.inject.Inject; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayersPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/PlayersPageResolver.java similarity index 92% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayersPageResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/PlayersPageResolver.java index 337d71f3b..07309136b 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayersPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/PlayersPageResolver.java @@ -14,12 +14,12 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages; +package com.djrapitops.plan.delivery.webserver.resolver; import com.djrapitops.plan.delivery.web.resolver.Resolver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/RootPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/RootPageResolver.java similarity index 96% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/RootPageResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/RootPageResolver.java index 9df6d4eea..184ebad3d 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/RootPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/RootPageResolver.java @@ -14,15 +14,15 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages; +package com.djrapitops.plan.delivery.webserver.resolver; import com.djrapitops.plan.delivery.rendering.html.Html; import com.djrapitops.plan.delivery.web.resolver.NoAuthResolver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; import com.djrapitops.plan.delivery.web.resolver.request.WebUser; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import com.djrapitops.plan.delivery.webserver.WebServer; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; import com.djrapitops.plan.identification.Server; import com.djrapitops.plan.identification.ServerInfo; import dagger.Lazy; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/ServerPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/ServerPageResolver.java similarity index 91% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/ServerPageResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/ServerPageResolver.java index fb60e70e4..29c848d4f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/ServerPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/ServerPageResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages; +package com.djrapitops.plan.delivery.webserver.resolver; import com.djrapitops.plan.delivery.rendering.html.Html; import com.djrapitops.plan.delivery.web.resolver.Resolver; @@ -22,8 +22,8 @@ import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; import com.djrapitops.plan.delivery.web.resolver.request.URIPath; import com.djrapitops.plan.delivery.web.resolver.request.WebUser; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import com.djrapitops.plan.delivery.webserver.WebServer; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; import com.djrapitops.plan.identification.Server; import com.djrapitops.plan.identification.ServerInfo; import com.djrapitops.plan.storage.database.DBSystem; @@ -65,8 +65,8 @@ public class ServerPageResolver implements Resolver { public boolean canAccess(Request request) { String firstPart = request.getPath().getPart(0).orElse(""); WebUser permissions = request.getUser().orElse(new WebUser("")); - boolean forServerPage = firstPart.equalsIgnoreCase("server") && permissions.hasPermission("page.server"); - boolean forNetworkPage = firstPart.equalsIgnoreCase("network") && permissions.hasPermission("page.network"); + boolean forServerPage = "server".equalsIgnoreCase(firstPart) && permissions.hasPermission("page.server"); + boolean forNetworkPage = "network".equalsIgnoreCase(firstPart) && permissions.hasPermission("page.network"); return forServerPage || forNetworkPage; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/StaticResourceResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/StaticResourceResolver.java similarity index 94% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/StaticResourceResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/StaticResourceResolver.java index ee593993f..93b535e80 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/StaticResourceResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/StaticResourceResolver.java @@ -14,12 +14,12 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages; +package com.djrapitops.plan.delivery.webserver.resolver; import com.djrapitops.plan.delivery.web.resolver.NoAuthResolver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import org.apache.commons.lang3.StringUtils; import javax.inject.Inject; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/GraphsJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/GraphsJSONResolver.java similarity index 98% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/GraphsJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/GraphsJSONResolver.java index 0a0f43158..f1e14ecde 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/GraphsJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/GraphsJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.graphs.GraphJSONCreator; import com.djrapitops.plan.delivery.web.resolver.Resolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/NetworkJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/NetworkJSONResolver.java index b29e04016..42d486791 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/NetworkJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.JSONFactory; import com.djrapitops.plan.delivery.rendering.json.network.NetworkOverviewJSONCreator; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkTabJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/NetworkTabJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkTabJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/NetworkTabJSONResolver.java index c74b1c6ce..80df5e5a6 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkTabJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/NetworkTabJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.network.NetworkTabJSONCreator; import com.djrapitops.plan.delivery.web.resolver.Resolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayerJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayerJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayerJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayerJSONResolver.java index aae7e33ba..0f6ec0709 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayerJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayerJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.PlayerJSONCreator; import com.djrapitops.plan.delivery.web.resolver.MimeType; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayerKillsJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayerKillsJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayerKillsJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayerKillsJSONResolver.java index 60d34589c..59aba8c31 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayerKillsJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayerKillsJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.JSONFactory; import com.djrapitops.plan.delivery.web.resolver.Resolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayersTableJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayersTableJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayersTableJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayersTableJSONResolver.java index 3cac51150..19242db63 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayersTableJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayersTableJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.JSONFactory; import com.djrapitops.plan.delivery.web.resolver.Resolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/RootJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/RootJSONResolver.java similarity index 98% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/RootJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/RootJSONResolver.java index 7b548a085..5aea92e4f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/RootJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/RootJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.*; import com.djrapitops.plan.delivery.web.resolver.CompositeResolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/ServerTabJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/ServerTabJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/ServerTabJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/ServerTabJSONResolver.java index 0517dd451..a7f449e50 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/ServerTabJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/ServerTabJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.ServerTabJSONCreator; import com.djrapitops.plan.delivery.web.resolver.Resolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/SessionsJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/SessionsJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/SessionsJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/SessionsJSONResolver.java index 5996fa373..fc47016f7 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/SessionsJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/SessionsJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.JSONFactory; import com.djrapitops.plan.delivery.web.resolver.Resolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ByteResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ByteResponse.java deleted file mode 100644 index 28d6f7119..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ByteResponse.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.sun.net.httpserver.HttpExchange; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -/** - * {@link Response_old} for raw bytes. - * - * @author Rsl1122 - */ -public class ByteResponse extends Response_old { - - private final PlanFiles files; - private final String fileName; - - public ByteResponse(ResponseType type, String fileName, PlanFiles files) { - super(type); - this.fileName = fileName; - this.files = files; - - setHeader("HTTP/1.1 200 OK"); - } - - @Override - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - responseHeaders.set("Accept-Ranges", "bytes"); - exchange.sendResponseHeaders(getCode(), 0); - - try (OutputStream out = exchange.getResponseBody(); - InputStream bis = files.getCustomizableResourceOrDefault(fileName).asInputStream()) { - byte[] buffer = new byte[2048]; - int count; - while ((count = bis.read(buffer)) != -1) { - out.write(buffer, 0, count); - } - } - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/CSSResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/CSSResponse.java deleted file mode 100644 index 4430aae22..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/CSSResponse.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.sun.net.httpserver.HttpExchange; - -import java.io.IOException; - -/** - * @author Rsl1122 - */ -public class CSSResponse extends FileResponse { - - public CSSResponse(String fileName, PlanFiles files) throws IOException { - super(format(fileName), files); - super.setType(ResponseType.CSS); - setContent(getContent()); - } - - @Override - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - fixThemeColors(theme); - super.send(exchange, locale, theme); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/FileResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/FileResponse.java deleted file mode 100644 index eef72d07b..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/FileResponse.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plugin.utilities.Verify; -import org.apache.commons.lang3.StringUtils; - -import java.io.IOException; - -/** - * Response class for returning file contents. - * - * Created to remove copy-paste. - * - * @author Rsl1122 - */ -public class FileResponse extends Response_old { - - public FileResponse(String fileName, PlanFiles files) throws IOException { - super.setHeader("HTTP/1.1 200 OK"); - super.setContent(files.getCustomizableResourceOrDefault(fileName).asString()); - } - - public static String format(String fileName) { - String[] split = StringUtils.split(fileName, '/'); - int i; - for (i = 0; i < split.length; i++) { - String s = split[i]; - if (Verify.equalsOne(s, "css", "js", "vendor", "img")) { - break; - } - } - StringBuilder b = new StringBuilder("web"); - for (int j = i; j < split.length; j++) { - String s = split[j]; - b.append('/').append(s); - } - return b.toString(); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/JavaScriptResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/JavaScriptResponse.java deleted file mode 100644 index d49119695..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/JavaScriptResponse.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.storage.file.PlanFiles; - -import java.io.IOException; - -/** - * @author Rsl1122 - */ -public class JavaScriptResponse extends FileResponse { - - JavaScriptResponse(String fileName, PlanFiles files, Locale locale) throws IOException { - super(format(fileName), files); - super.translate(locale::replaceLanguageInJavascript); - super.setType(ResponseType.JAVASCRIPT); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/OptionsResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/OptionsResponse.java deleted file mode 100644 index b9b94f977..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/OptionsResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -/** - * Response for an OPTIONS request. - * https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/OPTIONS - * - * @author Rsl1122 - */ -public class OptionsResponse extends Response_old { - - public OptionsResponse() { - setHeader("HTTP/1.1 204 No Content"); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/PromptAuthorizationResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/PromptAuthorizationResponse.java deleted file mode 100644 index 7098214a7..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/PromptAuthorizationResponse.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.delivery.webserver.auth.FailReason; -import com.djrapitops.plan.delivery.webserver.response.errors.ErrorResponse; -import com.djrapitops.plan.exceptions.WebUserAuthException; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Rsl1122 - */ -public class PromptAuthorizationResponse extends ErrorResponse { - - private static final String TIPS = "- Ensure you have registered a user with /plan register" - + "- Check that the username and password are correct" - + "- Username and password are case-sensitive" - + "If you have forgotten your password, ask a staff member to delete your old user and re-register."; - - private PromptAuthorizationResponse(VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setTitle(Icon.called("lock").build() + " 401 Unauthorized"); - } - - public static PromptAuthorizationResponse getBasicAuthResponse(VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - PromptAuthorizationResponse response = new PromptAuthorizationResponse(versionCheckSystem, files); - response.setHeader("HTTP/1.1 401 Access Denied\r\n" - + "WWW-Authenticate: Basic realm=\"Plan WebUser (/plan register)\""); - - response.setParagraph("Authentication Failed." + TIPS); - response.replacePlaceholders(); - return response; - } - - public static PromptAuthorizationResponse getBasicAuthResponse(WebUserAuthException e, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - PromptAuthorizationResponse response = new PromptAuthorizationResponse(versionCheckSystem, files); - - FailReason failReason = e.getFailReason(); - String reason = failReason.getReason(); - - if (failReason == FailReason.ERROR) { - StringBuilder errorBuilder = new StringBuilder(""); - for (String line : getStackTrace(e.getCause())) { - errorBuilder.append(line); - } - errorBuilder.append(""); - - reason += errorBuilder.toString(); - } - - response.setHeader("HTTP/1.1 401 Access Denied\r\n" - + "WWW-Authenticate: Basic realm=\"" + failReason.getReason() + "\""); - response.setParagraph("Authentication Failed.Reason: " + reason + "" + TIPS); - response.replacePlaceholders(); - return response; - } - - /** - * Gets lines for stack trace recursively. - * - * @param throwable Throwable element - * @return lines of stack trace. - */ - private static List getStackTrace(Throwable throwable) { - List stackTrace = new ArrayList<>(); - stackTrace.add(throwable.toString()); - for (StackTraceElement element : throwable.getStackTrace()) { - stackTrace.add(" " + element.toString()); - } - - Throwable cause = throwable.getCause(); - if (cause != null) { - List causeTrace = getStackTrace(cause); - if (!causeTrace.isEmpty()) { - causeTrace.set(0, "Caused by: " + causeTrace.get(0)); - stackTrace.addAll(causeTrace); - } - } - - return stackTrace; - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/RedirectResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/RedirectResponse.java deleted file mode 100644 index 45b10d733..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/RedirectResponse.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.sun.net.httpserver.HttpExchange; - -import java.io.IOException; - -/** - * @author Rsl1122 - */ -public class RedirectResponse extends Response_old { - - private final String direct; - - public RedirectResponse(String direct) { - super.setHeader("HTTP/1.1 302 Found"); - this.direct = direct; - } - - @Override - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - responseHeaders.set("Location", direct); - super.send(exchange, locale, theme); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseType.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseType.java deleted file mode 100644 index ded47649c..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseType.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -/** - * Enum for HTTP content-type response header Strings. - * - * @author Rsl1122 - */ -public enum ResponseType { - HTML("text/html; charset=utf-8"), - CSS("text/css"), - JSON("application/json"), - JAVASCRIPT("application/javascript"), - IMAGE("image/gif"), - X_ICON("image/x-icon"), - FONT_TTF("application/x-font-ttf"), - FONT_WOFF("application/font-woff"), - FONT_WOFF2("application/font-woff2"), - FONT_EOT("application/vnd.ms-fontobject"), - FONT_BYTESTREAM("application/octet-stream"); - - private final String type; - - ResponseType(String type) { - this.type = type; - } - - public String get() { - return type; - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/Response_old.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/Response_old.java deleted file mode 100644 index e30d3f7e9..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/Response_old.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.delivery.web.resolver.Response; -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.sun.net.httpserver.Headers; -import com.sun.net.httpserver.HttpExchange; -import org.apache.commons.lang3.StringUtils; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.util.Objects; -import java.util.Optional; -import java.util.function.Function; -import java.util.zip.GZIPOutputStream; - -/** - * @author Rsl1122 - */ -@Deprecated -public abstract class Response_old { - - private String type; - private String header; - private String content; - - protected Headers responseHeaders; - - public Response_old(ResponseType type) { - this.type = type.get(); - } - - /** - * Default Response constructor that defaults ResponseType to HTML. - */ - public Response_old() { - this(ResponseType.HTML); - } - - protected String getHeader() { - return header; - } - - public Optional getHeader(String called) { - if (header != null) { - for (String header : StringUtils.split(header, "\r\n")) { - if (called == null) { - return Optional.of(header); - } - if (StringUtils.startsWith(header, called)) { - return Optional.of(StringUtils.split(header, ':')[1].trim()); - } - } - } - return Optional.empty(); - } - - public void setHeader(String header) { - this.header = header; - } - - public String getResponse() { - return header + "\r\n" - + "Content-Type: " + type + ";\r\n" - + "Content-Length: " + content.length() + "\r\n" - + "\r\n" - + content; - } - - public String getContent() { - return content; - } - - public void setContent(String content) { - this.content = content; - } - - public int getCode() { - return getHeader(null).map(h -> Integer.parseInt(StringUtils.split(h, ' ')[1])).orElse(500); - } - - public Response toNewResponse() { - return Response.builder() - .setStatus(getCode()) - .setMimeType(type) - .setContent(content) - .build(); - } - - @Override - public int hashCode() { - return Objects.hash(header, content); - } - - protected void setType(ResponseType type) { - this.type = type.get(); - } - - public void setResponseHeaders(Headers responseHeaders) { - this.responseHeaders = responseHeaders; - } - - protected void translate(Function translator) { - content = translator.apply(content); - } - - protected void fixThemeColors(Theme theme) { - content = theme.replaceThemeColors(content); - } - - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - responseHeaders.set("Content-Type", type); - responseHeaders.set("Content-Encoding", "gzip"); - // TODO handle case of ByteResponse when "Accept-Ranges", "bytes" is set - exchange.sendResponseHeaders(getCode(), 0); - - try ( - GZIPOutputStream out = new GZIPOutputStream(exchange.getResponseBody()); - ByteArrayInputStream bis = new ByteArrayInputStream((content != null ? content : "").getBytes(StandardCharsets.UTF_8)) - ) { - byte[] buffer = new byte[2048]; - int count; - while ((count = bis.read(buffer)) != -1) { - out.write(buffer, 0, count); - } - } - } - - @Override - public String toString() { - return header + " | " + getResponse(); - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - Response_old response = (Response_old) o; - return Objects.equals(header, response.header) && - Objects.equals(content, response.content); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/TextResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/TextResponse.java deleted file mode 100644 index 1b5bfe80c..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/TextResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -/** - * Response for raw text. - * - * @author Rsl1122 - */ -public class TextResponse extends Response_old { - - public TextResponse(String content) { - setHeader("HTTP/1.1 200 OK"); - setContent(content); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/data/JSONResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/data/JSONResponse.java deleted file mode 100644 index c855ed707..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/data/JSONResponse.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.data; - -import com.djrapitops.plan.delivery.webserver.response.ResponseType; -import com.djrapitops.plan.delivery.webserver.response.Response_old; -import com.google.gson.Gson; -import com.google.gson.JsonElement; - -/** - * Generic JSON response implemented using Gson. - * - * Returns a JSON version of the given object. - * - * @author Rsl1122 - */ -public class JSONResponse extends Response_old { - - public JSONResponse(Object object) { - this(new Gson().toJson(object)); - } - - public JSONResponse(JsonElement json) { - this(json.getAsString()); - } - - public JSONResponse(String jsonString) { - super(ResponseType.JSON); - super.setHeader("HTTP/1.1 200 OK"); - super.setContent(jsonString); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/BadRequestResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/BadRequestResponse.java deleted file mode 100644 index 0ef06c70d..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/BadRequestResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.webserver.response.Response_old; - -/** - * @author Fuzzlemann - */ -public class BadRequestResponse extends Response_old { - - public BadRequestResponse(String error) { - super.setHeader("HTTP/1.1 400 Bad Request " + error); - super.setContent("400 Bad Request: " + error); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ErrorResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ErrorResponse.java deleted file mode 100644 index 28b12e3a3..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ErrorResponse.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.rendering.html.Contributors; -import com.djrapitops.plan.delivery.webserver.response.pages.PageResponse; -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; -import com.sun.net.httpserver.HttpExchange; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.text.StringSubstitutor; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; - -/** - * Represents generic HTTP Error response that has the page style in it. - * - * @author Rsl1122 - */ -public class ErrorResponse extends PageResponse { - - private String title; - private String paragraph; - - private VersionCheckSystem versionCheckSystem; - - public ErrorResponse(VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - this.versionCheckSystem = versionCheckSystem; - setContent(files.getCustomizableResourceOrDefault("web/error.html").asString()); - } - - public ErrorResponse(String message) { - setContent(message); - } - - public void replacePlaceholders() { - Map placeholders = new HashMap<>(); - placeholders.put("title", title); - String[] split = StringUtils.split(title, ">", 3); - placeholders.put("titleText", split.length == 3 ? split[2] : title); - placeholders.put("paragraph", paragraph); - placeholders.put("version", versionCheckSystem.getUpdateButton().orElse(versionCheckSystem.getCurrentVersionButton())); - placeholders.put("updateModal", versionCheckSystem.getUpdateModal()); - placeholders.put("contributors", Contributors.generateContributorHtml()); - - setContent(StringSubstitutor.replace(getContent(), placeholders)); - } - - public void setTitle(String title) { - this.title = title; - } - - public void setParagraph(String paragraph) { - this.paragraph = paragraph; - } - - @Override - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - translate(locale::replaceLanguageInHtml); - fixThemeColors(theme); - super.send(exchange, locale, theme); - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof ErrorResponse)) return false; - if (!super.equals(o)) return false; - ErrorResponse that = (ErrorResponse) o; - return Objects.equals(title, that.title) && - Objects.equals(paragraph, that.paragraph); - } - - @Override - public int hashCode() { - return Objects.hash(super.hashCode(), title, paragraph); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ForbiddenResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ForbiddenResponse.java deleted file mode 100644 index 8d9b11670..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ForbiddenResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.rendering.html.icon.Family; -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; - -/** - * @author Rsl1122 - */ -public class ForbiddenResponse extends ErrorResponse { - public ForbiddenResponse(String msg, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setHeader("HTTP/1.1 403 Forbidden"); - super.setTitle(Icon.called("hand-paper").of(Family.REGULAR) + " 403 Forbidden - Access Denied"); - super.setParagraph(msg); - super.replacePlaceholders(); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/InternalErrorResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/InternalErrorResponse.java deleted file mode 100644 index c8f8d65b1..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/InternalErrorResponse.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.rendering.html.Html; -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; - -/** - * @author Rsl1122 - */ -public class InternalErrorResponse extends ErrorResponse { - - public InternalErrorResponse(String cause, Throwable e, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setHeader("HTTP/1.1 500 Internal Error"); - - super.setTitle(Icon.called("bug") + " 500 Internal Error occurred"); - - StringBuilder paragraph = new StringBuilder(); - paragraph.append("Please report this issue here: "); - paragraph.append(Html.LINK.create("https://github.com/Rsl1122/Plan-PlayerAnalytics/issues", "Issues")); - paragraph.append(""); - paragraph.append(e).append(" | ").append(cause); - - for (StackTraceElement element : e.getStackTrace()) { - paragraph.append(""); - paragraph.append(" ").append(element); - } - if (e.getCause() != null) { - appendCause(e.getCause(), paragraph); - } - - paragraph.append(""); - - super.setParagraph(paragraph.toString()); - super.replacePlaceholders(); - } - - private void appendCause(Throwable cause, StringBuilder paragraph) { - paragraph.append("Caused by: ").append(cause); - for (StackTraceElement element : cause.getStackTrace()) { - paragraph.append(""); - paragraph.append(" ").append(element); - } - if (cause.getCause() != null) { - appendCause(cause.getCause(), paragraph); - } - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/NotFoundResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/NotFoundResponse.java deleted file mode 100644 index c5bd50781..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/NotFoundResponse.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; - -/** - * Generic 404 response. - * - * @author Rsl1122 - */ -public class NotFoundResponse extends ErrorResponse { - - public NotFoundResponse(String msg, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setHeader("HTTP/1.1 404 Not Found"); - super.setTitle(Icon.called("map-signs") + " 404 Not Found"); - super.setParagraph(msg); - super.replacePlaceholders(); - } - -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/DebugPageResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/DebugPageResponse.java deleted file mode 100644 index 0895829d2..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/DebugPageResponse.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.delivery.rendering.pages.DebugPage; -import com.djrapitops.plan.delivery.webserver.response.errors.ErrorResponse; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; - -/** - * WebServer response for /debug-page used for easing issue reporting. - * - * @author Rsl1122 - */ -public class DebugPageResponse extends ErrorResponse { - - public DebugPageResponse(DebugPage debugPage, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setHeader("HTTP/1.1 200 OK"); - super.setTitle(Icon.called("bug") + " Debug Information"); - super.setParagraph(debugPage.toHtml()); - replacePlaceholders(); - } - -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PageResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PageResponse.java deleted file mode 100644 index d111efb76..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PageResponse.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.rendering.pages.Page; -import com.djrapitops.plan.delivery.webserver.response.ResponseType; -import com.djrapitops.plan.delivery.webserver.response.Response_old; -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.googlecode.htmlcompressor.compressor.HtmlCompressor; -import com.sun.net.httpserver.HttpExchange; - -import java.io.IOException; - -/** - * Response for all HTML Page responses. - * - * @author Rsl1122 - */ -public class PageResponse extends Response_old { - - private static final HtmlCompressor HTML_COMPRESSOR = new HtmlCompressor(); - - static { - HTML_COMPRESSOR.setRemoveIntertagSpaces(true); - } - - public PageResponse(ResponseType type) { - super(type); - } - - public PageResponse(Page page) { - this(ResponseType.HTML); - super.setHeader("HTTP/1.1 200 OK"); - setContent(page.toHtml()); - } - - public PageResponse() { - } - - @Override - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - translate(locale::replaceLanguageInHtml); - fixThemeColors(theme); - super.send(exchange, locale, theme); - } - - @Override - public void setContent(String content) { - super.setContent(HTML_COMPRESSOR.compress(content)); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PlayersPageResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PlayersPageResponse.java deleted file mode 100644 index e5cb3a4af..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PlayersPageResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.rendering.pages.PlayersPage; - -/** - * @author Rsl1122 - */ -public class PlayersPageResponse extends PageResponse { - - public PlayersPageResponse(PlayersPage playersPage) { - setHeader("HTTP/1.1 200 OK"); - setContent(playersPage.toHtml()); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawDataResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawDataResponse.java deleted file mode 100644 index 458178b53..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawDataResponse.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.domain.container.DataContainer; -import com.djrapitops.plan.delivery.webserver.response.data.JSONResponse; -import com.djrapitops.plan.utilities.java.Lists; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * Response for sending raw data as JSON when it is inside a DataContainer. - * - * This transform class is required to remove Key-Supplier object pollution in the resulting JSON, as well as to remove - * the effects of the caching layer. - * - * @author Rsl1122 - */ -public class RawDataResponse extends JSONResponse { - - public RawDataResponse(DataContainer dataContainer) { - super(mapToNormalMap(dataContainer)); - } - - public static Map mapToNormalMap(DataContainer player) { - Map values = new HashMap<>(); - player.getMap().forEach((key, value) -> - { - if (value instanceof DataContainer) { - value = mapToNormalMap((DataContainer) value); - } - if (value instanceof Map) { - value = handleMap((Map, ?>) value); - } - if (value instanceof List) { - value = handleList((List>) value); - } - values.put(key.getKeyName(), value); - } - ); - return values; - } - - private static List> handleList(List> list) { - if (list.stream().findAny().orElse(null) instanceof DataContainer) { - return Lists.map(list, obj -> mapToNormalMap((DataContainer) obj)); - } - return list; - } - - private static Map, ?> handleMap(Map, ?> map) { - if (map.values().stream().findAny().orElse(null) instanceof DataContainer) { - Map newMap = new HashMap<>(); - map.forEach((key, value) -> newMap.put(key, mapToNormalMap((DataContainer) value))); - return newMap; - } - return map; - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawPlayerDataResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawPlayerDataResponse.java deleted file mode 100644 index a4eb8deac..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawPlayerDataResponse.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.domain.container.PlayerContainer; - -/** - * Raw Data JSON response for a Player. - * - * @author Rsl1122 - */ -public class RawPlayerDataResponse extends RawDataResponse { - - public RawPlayerDataResponse(PlayerContainer playerContainer) { - super(playerContainer); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java b/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java index 536f8a37f..05076f875 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java @@ -17,7 +17,6 @@ package com.djrapitops.plan.gathering.cache; import com.djrapitops.plan.SubSystem; -import com.djrapitops.plan.exceptions.EnableException; import com.djrapitops.plan.gathering.geolocation.GeolocationCache; import javax.inject.Inject; @@ -47,7 +46,7 @@ public class CacheSystem implements SubSystem { } @Override - public void enable() throws EnableException { + public void enable() { nicknameCache.enable(); geolocationCache.enable(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java index 3484e76b2..2f12a8e09 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java @@ -17,7 +17,7 @@ package com.djrapitops.plan.storage.database.queries; import com.djrapitops.plan.delivery.domain.Nickname; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.domain.keys.SessionKeys; import com.djrapitops.plan.gathering.domain.*; import com.djrapitops.plan.identification.Server; @@ -119,7 +119,7 @@ public class LargeStoreQueries { * @param users Collection of Plan WebUsers. * @return Executable, use inside a {@link com.djrapitops.plan.storage.database.transactions.Transaction} */ - public static Executable storeAllPlanWebUsers(Collection users) { + public static Executable storeAllPlanWebUsers(Collection users) { if (Verify.isEmpty(users)) { return Executable.empty(); } @@ -127,7 +127,7 @@ public class LargeStoreQueries { return new ExecBatchStatement(SecurityTable.INSERT_STATEMENT) { @Override public void prepare(PreparedStatement statement) throws SQLException { - for (WebUser_old user : users) { + for (WebUser user : users) { String userName = user.getName(); String pass = user.getSaltedPassHash(); int permLvl = user.getPermLevel(); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java index 5a0146017..ea316c449 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java @@ -16,7 +16,6 @@ */ package com.djrapitops.plan.storage.database.queries.objects; -import com.djrapitops.plan.delivery.domain.WebUser_old; import com.djrapitops.plan.gathering.domain.Ping; import com.djrapitops.plan.storage.database.queries.Query; import com.djrapitops.plan.storage.database.queries.QueryAllStatement; @@ -33,7 +32,7 @@ import java.util.*; import static com.djrapitops.plan.storage.database.sql.building.Sql.*; /** - * Queries for {@link WebUser_old} objects. + * Queries for {@link Ping} objects. * * @author Rsl1122 */ diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java index 601750e5e..085b77caa 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.storage.database.queries.objects; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.storage.database.queries.Query; import com.djrapitops.plan.storage.database.queries.QueryAllStatement; import com.djrapitops.plan.storage.database.queries.QueryStatement; @@ -32,7 +32,7 @@ import java.util.Optional; import static com.djrapitops.plan.storage.database.sql.building.Sql.*; /** - * Queries for {@link WebUser_old} objects. + * Queries for {@link WebUser} objects. * * @author Rsl1122 */ @@ -47,18 +47,18 @@ public class WebUserQueries { * * @return List of Plan WebUsers. */ - public static Query> fetchAllPlanWebUsers() { + public static Query> fetchAllPlanWebUsers() { String sql = SELECT + '*' + FROM + SecurityTable.TABLE_NAME + ORDER_BY + SecurityTable.PERMISSION_LEVEL + " ASC"; - return new QueryAllStatement>(sql, 5000) { + return new QueryAllStatement>(sql, 5000) { @Override - public List processResults(ResultSet set) throws SQLException { - List list = new ArrayList<>(); + public List processResults(ResultSet set) throws SQLException { + List list = new ArrayList<>(); while (set.next()) { String user = set.getString(SecurityTable.USERNAME); String saltedPassHash = set.getString(SecurityTable.SALT_PASSWORD_HASH); int permissionLevel = set.getInt(SecurityTable.PERMISSION_LEVEL); - WebUser_old info = new WebUser_old(user, saltedPassHash, permissionLevel); + WebUser info = new WebUser(user, saltedPassHash, permissionLevel); list.add(info); } return list; @@ -66,21 +66,21 @@ public class WebUserQueries { }; } - public static Query> fetchWebUser(String called) { + public static Query> fetchWebUser(String called) { String sql = SELECT + '*' + FROM + SecurityTable.TABLE_NAME + WHERE + SecurityTable.USERNAME + "=? LIMIT 1"; - return new QueryStatement>(sql) { + return new QueryStatement>(sql) { @Override public void prepare(PreparedStatement statement) throws SQLException { statement.setString(1, called); } @Override - public Optional processResults(ResultSet set) throws SQLException { + public Optional processResults(ResultSet set) throws SQLException { if (set.next()) { String saltedPassHash = set.getString(SecurityTable.SALT_PASSWORD_HASH); int permissionLevel = set.getInt(SecurityTable.PERMISSION_LEVEL); - return Optional.of(new WebUser_old(called, saltedPassHash, permissionLevel)); + return Optional.of(new WebUser(called, saltedPassHash, permissionLevel)); } return Optional.empty(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java index 6a762818d..4dd004a37 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.storage.database.transactions.commands; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.storage.database.sql.tables.SecurityTable; import com.djrapitops.plan.storage.database.transactions.ExecStatement; import com.djrapitops.plan.storage.database.transactions.Transaction; @@ -25,15 +25,15 @@ import java.sql.PreparedStatement; import java.sql.SQLException; /** - * Transaction to save a new Plan {@link WebUser_old} to the database. + * Transaction to save a new Plan {@link WebUser} to the database. * * @author Rsl1122 */ public class RegisterWebUserTransaction extends Transaction { - private final WebUser_old webUser; + private final WebUser webUser; - public RegisterWebUserTransaction(WebUser_old webUser) { + public RegisterWebUserTransaction(WebUser webUser) { this.webUser = webUser; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java index e5c984b3f..d2ee58f72 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.storage.database.transactions.commands; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.storage.database.sql.tables.SecurityTable; import com.djrapitops.plan.storage.database.transactions.ExecStatement; import com.djrapitops.plan.storage.database.transactions.Transaction; @@ -28,7 +28,7 @@ import static com.djrapitops.plan.storage.database.sql.building.Sql.DELETE_FROM; import static com.djrapitops.plan.storage.database.sql.building.Sql.WHERE; /** - * Transaction to remove a Plan {@link WebUser_old} from the database. + * Transaction to remove a Plan {@link WebUser} from the database. * * @author Rsl1122 */ diff --git a/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java b/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java index 8d6e009d8..856274b15 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.utilities.comparators; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import java.util.Comparator; @@ -25,10 +25,10 @@ import java.util.Comparator; * * @author Rsl1122 */ -public class WebUserComparator implements Comparator { +public class WebUserComparator implements Comparator { @Override - public int compare(WebUser_old o1, WebUser_old o2) { + public int compare(WebUser o1, WebUser o2) { return Integer.compare(o2.getPermLevel(), o1.getPermLevel()); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java index fc2eb2993..b32398329 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java @@ -17,7 +17,7 @@ package com.djrapitops.plan.delivery.webserver; import com.djrapitops.plan.PlanSystem; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.settings.config.PlanConfig; import com.djrapitops.plan.settings.config.paths.WebserverSettings; import com.djrapitops.plan.storage.database.transactions.commands.RegisterWebUserTransaction; @@ -61,7 +61,7 @@ class JksHttpsServerTest implements HttpsServerTest { system.enable(); - WebUser_old webUser = new WebUser_old("test", PassEncryptUtil.createHash("testPass"), 0); + WebUser webUser = new WebUser("test", PassEncryptUtil.createHash("testPass"), 0); system.getDatabaseSystem().getDatabase().executeTransaction(new RegisterWebUserTransaction(webUser)); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java index 2f935a3ac..3ec52abdb 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java @@ -17,7 +17,7 @@ package com.djrapitops.plan.delivery.webserver; import com.djrapitops.plan.PlanSystem; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.settings.config.PlanConfig; import com.djrapitops.plan.settings.config.changes.ConfigUpdater; import com.djrapitops.plan.settings.config.paths.WebserverSettings; @@ -66,7 +66,7 @@ class Pkcs12HttpsServerTest implements HttpsServerTest { system.enable(); - WebUser_old webUser = new WebUser_old("test", PassEncryptUtil.createHash("testPass"), 0); + WebUser webUser = new WebUser("test", PassEncryptUtil.createHash("testPass"), 0); system.getDatabaseSystem().getDatabase().executeTransaction(new RegisterWebUserTransaction(webUser)); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java index 8b5bf7965..30d22782f 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java @@ -16,7 +16,6 @@ */ package com.djrapitops.plan.delivery.webserver.cache; -import com.djrapitops.plan.delivery.webserver.response.data.JSONResponse; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.platform.runner.JUnitPlatform; @@ -47,7 +46,7 @@ class JSONCacheTest { @Test void cachedByDataIDName() { - JSONCache.getOrCache(TEST_ID, () -> new JSONResponse(CACHED)); + JSONCache.getOrCache(TEST_ID, () -> CACHED); assertContains(); } @@ -77,7 +76,7 @@ class JSONCacheTest { @Test void cachedByServerUUID() { - JSONCache.getOrCache(TEST_ID, TEST_UUID, () -> new JSONResponse(CACHED)); + JSONCache.getOrCache(TEST_ID, TEST_UUID, () -> CACHED); assertContainsUUID(); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java b/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java index 0fbb29415..900b0cb4b 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java @@ -21,7 +21,7 @@ import com.djrapitops.plan.data.element.TableContainer; import com.djrapitops.plan.delivery.domain.DateObj; import com.djrapitops.plan.delivery.domain.Nickname; import com.djrapitops.plan.delivery.domain.TablePlayer; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.domain.container.PlayerContainer; import com.djrapitops.plan.delivery.domain.container.ServerContainer; import com.djrapitops.plan.delivery.domain.keys.Key; @@ -208,11 +208,11 @@ public interface DatabaseTest { @Test default void webUserIsRegistered() { - WebUser_old expected = new WebUser_old(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); + WebUser expected = new WebUser(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); db().executeTransaction(new RegisterWebUserTransaction(expected)); commitTest(); - Optional found = db().query(WebUserQueries.fetchWebUser(TestConstants.PLAYER_ONE_NAME)); + Optional found = db().query(WebUserQueries.fetchWebUser(TestConstants.PLAYER_ONE_NAME)); assertTrue(found.isPresent()); assertEquals(expected, found.get()); } @@ -500,7 +500,7 @@ public interface DatabaseTest { Collections.singletonList(new DateObj<>(System.currentTimeMillis(), r.nextInt()))) ); - WebUser_old webUser = new WebUser_old(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); + WebUser webUser = new WebUser(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); db().executeTransaction(new RegisterWebUserTransaction(webUser)); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java b/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java index 4505f07b0..df7d8a6ef 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.utilities.comparators; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.domain.keys.SessionKeys; import com.djrapitops.plan.delivery.rendering.json.graphs.line.Point; import com.djrapitops.plan.gathering.domain.GeoInfo; @@ -83,14 +83,14 @@ class ComparatorTest { @Test void webUserComparator() throws PassEncryptUtil.CannotPerformOperationException { - List webUsers = RandomData.randomWebUsers(); + List webUsers = RandomData.randomWebUsers(); - List expected = webUsers.stream().map(WebUser_old::getPermLevel) + List expected = webUsers.stream().map(WebUser::getPermLevel) .sorted(Integer::compare).collect(Collectors.toList()); Collections.reverse(expected); webUsers.sort(new WebUserComparator()); - List result = Lists.map(webUsers, WebUser_old::getPermLevel); + List result = Lists.map(webUsers, WebUser::getPermLevel); assertEquals(expected, result); } diff --git a/Plan/common/src/test/java/utilities/RandomData.java b/Plan/common/src/test/java/utilities/RandomData.java index fa20db9af..8be20eca1 100644 --- a/Plan/common/src/test/java/utilities/RandomData.java +++ b/Plan/common/src/test/java/utilities/RandomData.java @@ -16,19 +16,17 @@ */ package utilities; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.rendering.json.graphs.line.Point; import com.djrapitops.plan.gathering.domain.GeoInfo; import com.djrapitops.plan.gathering.domain.Session; import com.djrapitops.plan.gathering.domain.TPS; -import com.djrapitops.plan.gathering.domain.UserInfo; import com.djrapitops.plan.utilities.PassEncryptUtil; import org.apache.commons.lang3.RandomStringUtils; import java.util.ArrayList; import java.util.List; import java.util.Random; -import java.util.UUID; import java.util.concurrent.ThreadLocalRandom; public class RandomData { @@ -51,10 +49,10 @@ public class RandomData { return RandomStringUtils.randomAlphanumeric(size); } - public static List randomWebUsers() throws PassEncryptUtil.CannotPerformOperationException { - List test = new ArrayList<>(); + public static List randomWebUsers() throws PassEncryptUtil.CannotPerformOperationException { + List test = new ArrayList<>(); for (int i = 0; i < 20; i++) { - test.add(new WebUser_old(randomString(5), PassEncryptUtil.createHash(randomString(7)), r.nextInt())); + test.add(new WebUser(randomString(5), PassEncryptUtil.createHash(randomString(7)), r.nextInt())); } return test; } @@ -89,20 +87,6 @@ public class RandomData { return test; } - public static T randomEnum(Class clazz) { - int x = r.nextInt(clazz.getEnumConstants().length); - return clazz.getEnumConstants()[x]; - } - - public static List randomUserData() { - List test = new ArrayList<>(); - for (int i = 0; i < 20; i++) { - UserInfo info = new UserInfo(UUID.randomUUID(), UUID.randomUUID(), r.nextLong(), r.nextBoolean(), r.nextBoolean()); - test.add(info); - } - return test; - } - public static List randomGeoInfo() { List test = new ArrayList<>(); for (int i = 0; i < 20; i++) {
- * Allows resolving /example/foo and /example/bar with different PageResolvers as if the address being resolved - * was at the root of the address (/example/foo - FooPageResolver sees /foo). - *
- * Tree-like pattern for URL resolution. - * - * @author Rsl1122 - */ -@Deprecated -public abstract class CompositePageResolver implements PageResolver { - - protected final ResponseFactory responseFactory; - - private final Map pages; - - public CompositePageResolver(ResponseFactory responseFactory) { - this.responseFactory = responseFactory; - pages = new HashMap<>(); - } - - @Deprecated - public void registerPage(String targetPage, PageResolver resolver) { - pages.put(targetPage, resolver); - } - - @Deprecated - public void registerPage(String targetPage, PageResolver resolver, int requiredPerm) { - pages.put(targetPage, new PageResolver() { - @Override - public Response_old resolve(RequestInternal request, RequestTarget target) throws WebException { - return resolver.resolve(request, target); - } - - @Override - public boolean isAuthorized(Authentication auth, RequestTarget target) throws WebUserAuthException { - return auth.getWebUser().getPermLevel() <= requiredPerm; - } - }); - } - - @Deprecated - public void registerPage(String targetPage, Response_old response, int requiredPerm) { - pages.put(targetPage, new PageResolver() { - @Override - public Response_old resolve(RequestInternal request, RequestTarget target) { - return response; - } - - @Override - public boolean isAuthorized(Authentication auth, RequestTarget target) throws WebUserAuthException { - return auth.getWebUser().getPermLevel() <= requiredPerm; - } - }); - } - - @Override - @Deprecated - public Response_old resolve(RequestInternal request, RequestTarget target) throws WebException { - PageResolver pageResolver = getPageResolver(target); - return pageResolver != null - ? pageResolver.resolve(request, target) - : responseFactory.pageNotFound404_old(); - } - - @Deprecated - public PageResolver getPageResolver(RequestTarget target) { - if (target.isEmpty()) { - return pages.get(""); - } - String targetPage = target.get(0); - target.removeFirst(); - return pages.get(targetPage); - } - - @Deprecated - public PageResolver getPageResolver(String targetPage) { - return pages.get(targetPage); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PageResolver.java deleted file mode 100644 index 6b4ffe0fb..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PageResolver.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.pages; - -import com.djrapitops.plan.delivery.webserver.RequestInternal; -import com.djrapitops.plan.delivery.webserver.RequestTarget; -import com.djrapitops.plan.delivery.webserver.auth.Authentication; -import com.djrapitops.plan.delivery.webserver.response.Response_old; -import com.djrapitops.plan.exceptions.WebUserAuthException; -import com.djrapitops.plan.exceptions.connection.WebException; - -/** - * Used for Response resolution and authorization. - * - * @author Rsl1122 - * @see CompositePageResolver for larger depth resolution than 1. - */ -@Deprecated -public interface PageResolver { - - /** - * Resolve the request to a response. - * - * @param request Request in case it is useful for choosing page. - * @param target Rest of the target coordinates after this page has been solved. - * @return Appropriate response. - */ - Response_old resolve(RequestInternal request, RequestTarget target) throws WebException; - - default boolean isAuthorized(Authentication auth, RequestTarget target) throws WebUserAuthException { - return true; - } - -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/DebugPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/DebugPageResolver.java similarity index 92% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/DebugPageResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/DebugPageResolver.java index c7060cba8..e49ed6b74 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/DebugPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/DebugPageResolver.java @@ -14,12 +14,12 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages; +package com.djrapitops.plan.delivery.webserver.resolver; import com.djrapitops.plan.delivery.web.resolver.Resolver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayerPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/PlayerPageResolver.java similarity index 95% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayerPageResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/PlayerPageResolver.java index 169585e77..570dd7ed6 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayerPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/PlayerPageResolver.java @@ -14,14 +14,14 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages; +package com.djrapitops.plan.delivery.webserver.resolver; import com.djrapitops.plan.delivery.web.resolver.Resolver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; import com.djrapitops.plan.delivery.web.resolver.request.URIPath; import com.djrapitops.plan.delivery.web.resolver.request.WebUser; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import com.djrapitops.plan.identification.UUIDUtility; import javax.inject.Inject; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayersPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/PlayersPageResolver.java similarity index 92% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayersPageResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/PlayersPageResolver.java index 337d71f3b..07309136b 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayersPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/PlayersPageResolver.java @@ -14,12 +14,12 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages; +package com.djrapitops.plan.delivery.webserver.resolver; import com.djrapitops.plan.delivery.web.resolver.Resolver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/RootPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/RootPageResolver.java similarity index 96% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/RootPageResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/RootPageResolver.java index 9df6d4eea..184ebad3d 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/RootPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/RootPageResolver.java @@ -14,15 +14,15 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages; +package com.djrapitops.plan.delivery.webserver.resolver; import com.djrapitops.plan.delivery.rendering.html.Html; import com.djrapitops.plan.delivery.web.resolver.NoAuthResolver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; import com.djrapitops.plan.delivery.web.resolver.request.WebUser; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import com.djrapitops.plan.delivery.webserver.WebServer; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; import com.djrapitops.plan.identification.Server; import com.djrapitops.plan.identification.ServerInfo; import dagger.Lazy; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/ServerPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/ServerPageResolver.java similarity index 91% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/ServerPageResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/ServerPageResolver.java index fb60e70e4..29c848d4f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/ServerPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/ServerPageResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages; +package com.djrapitops.plan.delivery.webserver.resolver; import com.djrapitops.plan.delivery.rendering.html.Html; import com.djrapitops.plan.delivery.web.resolver.Resolver; @@ -22,8 +22,8 @@ import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; import com.djrapitops.plan.delivery.web.resolver.request.URIPath; import com.djrapitops.plan.delivery.web.resolver.request.WebUser; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import com.djrapitops.plan.delivery.webserver.WebServer; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; import com.djrapitops.plan.identification.Server; import com.djrapitops.plan.identification.ServerInfo; import com.djrapitops.plan.storage.database.DBSystem; @@ -65,8 +65,8 @@ public class ServerPageResolver implements Resolver { public boolean canAccess(Request request) { String firstPart = request.getPath().getPart(0).orElse(""); WebUser permissions = request.getUser().orElse(new WebUser("")); - boolean forServerPage = firstPart.equalsIgnoreCase("server") && permissions.hasPermission("page.server"); - boolean forNetworkPage = firstPart.equalsIgnoreCase("network") && permissions.hasPermission("page.network"); + boolean forServerPage = "server".equalsIgnoreCase(firstPart) && permissions.hasPermission("page.server"); + boolean forNetworkPage = "network".equalsIgnoreCase(firstPart) && permissions.hasPermission("page.network"); return forServerPage || forNetworkPage; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/StaticResourceResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/StaticResourceResolver.java similarity index 94% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/StaticResourceResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/StaticResourceResolver.java index ee593993f..93b535e80 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/StaticResourceResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/StaticResourceResolver.java @@ -14,12 +14,12 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages; +package com.djrapitops.plan.delivery.webserver.resolver; import com.djrapitops.plan.delivery.web.resolver.NoAuthResolver; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.web.resolver.request.Request; -import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; +import com.djrapitops.plan.delivery.webserver.ResponseFactory; import org.apache.commons.lang3.StringUtils; import javax.inject.Inject; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/GraphsJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/GraphsJSONResolver.java similarity index 98% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/GraphsJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/GraphsJSONResolver.java index 0a0f43158..f1e14ecde 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/GraphsJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/GraphsJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.graphs.GraphJSONCreator; import com.djrapitops.plan.delivery.web.resolver.Resolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/NetworkJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/NetworkJSONResolver.java index b29e04016..42d486791 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/NetworkJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.JSONFactory; import com.djrapitops.plan.delivery.rendering.json.network.NetworkOverviewJSONCreator; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkTabJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/NetworkTabJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkTabJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/NetworkTabJSONResolver.java index c74b1c6ce..80df5e5a6 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkTabJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/NetworkTabJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.network.NetworkTabJSONCreator; import com.djrapitops.plan.delivery.web.resolver.Resolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayerJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayerJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayerJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayerJSONResolver.java index aae7e33ba..0f6ec0709 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayerJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayerJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.PlayerJSONCreator; import com.djrapitops.plan.delivery.web.resolver.MimeType; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayerKillsJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayerKillsJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayerKillsJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayerKillsJSONResolver.java index 60d34589c..59aba8c31 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayerKillsJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayerKillsJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.JSONFactory; import com.djrapitops.plan.delivery.web.resolver.Resolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayersTableJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayersTableJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayersTableJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayersTableJSONResolver.java index 3cac51150..19242db63 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/PlayersTableJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/PlayersTableJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.JSONFactory; import com.djrapitops.plan.delivery.web.resolver.Resolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/RootJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/RootJSONResolver.java similarity index 98% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/RootJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/RootJSONResolver.java index 7b548a085..5aea92e4f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/RootJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/RootJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.*; import com.djrapitops.plan.delivery.web.resolver.CompositeResolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/ServerTabJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/ServerTabJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/ServerTabJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/ServerTabJSONResolver.java index 0517dd451..a7f449e50 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/ServerTabJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/ServerTabJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.ServerTabJSONCreator; import com.djrapitops.plan.delivery.web.resolver.Resolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/SessionsJSONResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/SessionsJSONResolver.java similarity index 97% rename from Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/SessionsJSONResolver.java rename to Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/SessionsJSONResolver.java index 5996fa373..fc47016f7 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/SessionsJSONResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/resolver/json/SessionsJSONResolver.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Plan. If not, see . */ -package com.djrapitops.plan.delivery.webserver.pages.json; +package com.djrapitops.plan.delivery.webserver.resolver.json; import com.djrapitops.plan.delivery.rendering.json.JSONFactory; import com.djrapitops.plan.delivery.web.resolver.Resolver; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ByteResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ByteResponse.java deleted file mode 100644 index 28d6f7119..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ByteResponse.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.sun.net.httpserver.HttpExchange; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -/** - * {@link Response_old} for raw bytes. - * - * @author Rsl1122 - */ -public class ByteResponse extends Response_old { - - private final PlanFiles files; - private final String fileName; - - public ByteResponse(ResponseType type, String fileName, PlanFiles files) { - super(type); - this.fileName = fileName; - this.files = files; - - setHeader("HTTP/1.1 200 OK"); - } - - @Override - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - responseHeaders.set("Accept-Ranges", "bytes"); - exchange.sendResponseHeaders(getCode(), 0); - - try (OutputStream out = exchange.getResponseBody(); - InputStream bis = files.getCustomizableResourceOrDefault(fileName).asInputStream()) { - byte[] buffer = new byte[2048]; - int count; - while ((count = bis.read(buffer)) != -1) { - out.write(buffer, 0, count); - } - } - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/CSSResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/CSSResponse.java deleted file mode 100644 index 4430aae22..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/CSSResponse.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.sun.net.httpserver.HttpExchange; - -import java.io.IOException; - -/** - * @author Rsl1122 - */ -public class CSSResponse extends FileResponse { - - public CSSResponse(String fileName, PlanFiles files) throws IOException { - super(format(fileName), files); - super.setType(ResponseType.CSS); - setContent(getContent()); - } - - @Override - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - fixThemeColors(theme); - super.send(exchange, locale, theme); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/FileResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/FileResponse.java deleted file mode 100644 index eef72d07b..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/FileResponse.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plugin.utilities.Verify; -import org.apache.commons.lang3.StringUtils; - -import java.io.IOException; - -/** - * Response class for returning file contents. - * - * Created to remove copy-paste. - * - * @author Rsl1122 - */ -public class FileResponse extends Response_old { - - public FileResponse(String fileName, PlanFiles files) throws IOException { - super.setHeader("HTTP/1.1 200 OK"); - super.setContent(files.getCustomizableResourceOrDefault(fileName).asString()); - } - - public static String format(String fileName) { - String[] split = StringUtils.split(fileName, '/'); - int i; - for (i = 0; i < split.length; i++) { - String s = split[i]; - if (Verify.equalsOne(s, "css", "js", "vendor", "img")) { - break; - } - } - StringBuilder b = new StringBuilder("web"); - for (int j = i; j < split.length; j++) { - String s = split[j]; - b.append('/').append(s); - } - return b.toString(); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/JavaScriptResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/JavaScriptResponse.java deleted file mode 100644 index d49119695..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/JavaScriptResponse.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.storage.file.PlanFiles; - -import java.io.IOException; - -/** - * @author Rsl1122 - */ -public class JavaScriptResponse extends FileResponse { - - JavaScriptResponse(String fileName, PlanFiles files, Locale locale) throws IOException { - super(format(fileName), files); - super.translate(locale::replaceLanguageInJavascript); - super.setType(ResponseType.JAVASCRIPT); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/OptionsResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/OptionsResponse.java deleted file mode 100644 index b9b94f977..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/OptionsResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -/** - * Response for an OPTIONS request. - * https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/OPTIONS - * - * @author Rsl1122 - */ -public class OptionsResponse extends Response_old { - - public OptionsResponse() { - setHeader("HTTP/1.1 204 No Content"); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/PromptAuthorizationResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/PromptAuthorizationResponse.java deleted file mode 100644 index 7098214a7..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/PromptAuthorizationResponse.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.delivery.webserver.auth.FailReason; -import com.djrapitops.plan.delivery.webserver.response.errors.ErrorResponse; -import com.djrapitops.plan.exceptions.WebUserAuthException; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Rsl1122 - */ -public class PromptAuthorizationResponse extends ErrorResponse { - - private static final String TIPS = "- Ensure you have registered a user with /plan register" - + "- Check that the username and password are correct" - + "- Username and password are case-sensitive" - + "If you have forgotten your password, ask a staff member to delete your old user and re-register."; - - private PromptAuthorizationResponse(VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setTitle(Icon.called("lock").build() + " 401 Unauthorized"); - } - - public static PromptAuthorizationResponse getBasicAuthResponse(VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - PromptAuthorizationResponse response = new PromptAuthorizationResponse(versionCheckSystem, files); - response.setHeader("HTTP/1.1 401 Access Denied\r\n" - + "WWW-Authenticate: Basic realm=\"Plan WebUser (/plan register)\""); - - response.setParagraph("Authentication Failed." + TIPS); - response.replacePlaceholders(); - return response; - } - - public static PromptAuthorizationResponse getBasicAuthResponse(WebUserAuthException e, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - PromptAuthorizationResponse response = new PromptAuthorizationResponse(versionCheckSystem, files); - - FailReason failReason = e.getFailReason(); - String reason = failReason.getReason(); - - if (failReason == FailReason.ERROR) { - StringBuilder errorBuilder = new StringBuilder(""); - for (String line : getStackTrace(e.getCause())) { - errorBuilder.append(line); - } - errorBuilder.append(""); - - reason += errorBuilder.toString(); - } - - response.setHeader("HTTP/1.1 401 Access Denied\r\n" - + "WWW-Authenticate: Basic realm=\"" + failReason.getReason() + "\""); - response.setParagraph("Authentication Failed.
- * Created to remove copy-paste. - * - * @author Rsl1122 - */ -public class FileResponse extends Response_old { - - public FileResponse(String fileName, PlanFiles files) throws IOException { - super.setHeader("HTTP/1.1 200 OK"); - super.setContent(files.getCustomizableResourceOrDefault(fileName).asString()); - } - - public static String format(String fileName) { - String[] split = StringUtils.split(fileName, '/'); - int i; - for (i = 0; i < split.length; i++) { - String s = split[i]; - if (Verify.equalsOne(s, "css", "js", "vendor", "img")) { - break; - } - } - StringBuilder b = new StringBuilder("web"); - for (int j = i; j < split.length; j++) { - String s = split[j]; - b.append('/').append(s); - } - return b.toString(); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/JavaScriptResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/JavaScriptResponse.java deleted file mode 100644 index d49119695..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/JavaScriptResponse.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.storage.file.PlanFiles; - -import java.io.IOException; - -/** - * @author Rsl1122 - */ -public class JavaScriptResponse extends FileResponse { - - JavaScriptResponse(String fileName, PlanFiles files, Locale locale) throws IOException { - super(format(fileName), files); - super.translate(locale::replaceLanguageInJavascript); - super.setType(ResponseType.JAVASCRIPT); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/OptionsResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/OptionsResponse.java deleted file mode 100644 index b9b94f977..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/OptionsResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -/** - * Response for an OPTIONS request. - * https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/OPTIONS - * - * @author Rsl1122 - */ -public class OptionsResponse extends Response_old { - - public OptionsResponse() { - setHeader("HTTP/1.1 204 No Content"); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/PromptAuthorizationResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/PromptAuthorizationResponse.java deleted file mode 100644 index 7098214a7..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/PromptAuthorizationResponse.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.delivery.webserver.auth.FailReason; -import com.djrapitops.plan.delivery.webserver.response.errors.ErrorResponse; -import com.djrapitops.plan.exceptions.WebUserAuthException; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Rsl1122 - */ -public class PromptAuthorizationResponse extends ErrorResponse { - - private static final String TIPS = "- Ensure you have registered a user with /plan register" - + "- Check that the username and password are correct" - + "- Username and password are case-sensitive" - + "If you have forgotten your password, ask a staff member to delete your old user and re-register."; - - private PromptAuthorizationResponse(VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setTitle(Icon.called("lock").build() + " 401 Unauthorized"); - } - - public static PromptAuthorizationResponse getBasicAuthResponse(VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - PromptAuthorizationResponse response = new PromptAuthorizationResponse(versionCheckSystem, files); - response.setHeader("HTTP/1.1 401 Access Denied\r\n" - + "WWW-Authenticate: Basic realm=\"Plan WebUser (/plan register)\""); - - response.setParagraph("Authentication Failed." + TIPS); - response.replacePlaceholders(); - return response; - } - - public static PromptAuthorizationResponse getBasicAuthResponse(WebUserAuthException e, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - PromptAuthorizationResponse response = new PromptAuthorizationResponse(versionCheckSystem, files); - - FailReason failReason = e.getFailReason(); - String reason = failReason.getReason(); - - if (failReason == FailReason.ERROR) { - StringBuilder errorBuilder = new StringBuilder("
"); - for (String line : getStackTrace(e.getCause())) { - errorBuilder.append(line); - } - errorBuilder.append("
Reason: " + reason + "
" + TIPS); - response.replacePlaceholders(); - return response; - } - - /** - * Gets lines for stack trace recursively. - * - * @param throwable Throwable element - * @return lines of stack trace. - */ - private static List getStackTrace(Throwable throwable) { - List stackTrace = new ArrayList<>(); - stackTrace.add(throwable.toString()); - for (StackTraceElement element : throwable.getStackTrace()) { - stackTrace.add(" " + element.toString()); - } - - Throwable cause = throwable.getCause(); - if (cause != null) { - List causeTrace = getStackTrace(cause); - if (!causeTrace.isEmpty()) { - causeTrace.set(0, "Caused by: " + causeTrace.get(0)); - stackTrace.addAll(causeTrace); - } - } - - return stackTrace; - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/RedirectResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/RedirectResponse.java deleted file mode 100644 index 45b10d733..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/RedirectResponse.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.sun.net.httpserver.HttpExchange; - -import java.io.IOException; - -/** - * @author Rsl1122 - */ -public class RedirectResponse extends Response_old { - - private final String direct; - - public RedirectResponse(String direct) { - super.setHeader("HTTP/1.1 302 Found"); - this.direct = direct; - } - - @Override - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - responseHeaders.set("Location", direct); - super.send(exchange, locale, theme); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseType.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseType.java deleted file mode 100644 index ded47649c..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseType.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -/** - * Enum for HTTP content-type response header Strings. - * - * @author Rsl1122 - */ -public enum ResponseType { - HTML("text/html; charset=utf-8"), - CSS("text/css"), - JSON("application/json"), - JAVASCRIPT("application/javascript"), - IMAGE("image/gif"), - X_ICON("image/x-icon"), - FONT_TTF("application/x-font-ttf"), - FONT_WOFF("application/font-woff"), - FONT_WOFF2("application/font-woff2"), - FONT_EOT("application/vnd.ms-fontobject"), - FONT_BYTESTREAM("application/octet-stream"); - - private final String type; - - ResponseType(String type) { - this.type = type; - } - - public String get() { - return type; - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/Response_old.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/Response_old.java deleted file mode 100644 index e30d3f7e9..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/Response_old.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -import com.djrapitops.plan.delivery.web.resolver.Response; -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.sun.net.httpserver.Headers; -import com.sun.net.httpserver.HttpExchange; -import org.apache.commons.lang3.StringUtils; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.util.Objects; -import java.util.Optional; -import java.util.function.Function; -import java.util.zip.GZIPOutputStream; - -/** - * @author Rsl1122 - */ -@Deprecated -public abstract class Response_old { - - private String type; - private String header; - private String content; - - protected Headers responseHeaders; - - public Response_old(ResponseType type) { - this.type = type.get(); - } - - /** - * Default Response constructor that defaults ResponseType to HTML. - */ - public Response_old() { - this(ResponseType.HTML); - } - - protected String getHeader() { - return header; - } - - public Optional getHeader(String called) { - if (header != null) { - for (String header : StringUtils.split(header, "\r\n")) { - if (called == null) { - return Optional.of(header); - } - if (StringUtils.startsWith(header, called)) { - return Optional.of(StringUtils.split(header, ':')[1].trim()); - } - } - } - return Optional.empty(); - } - - public void setHeader(String header) { - this.header = header; - } - - public String getResponse() { - return header + "\r\n" - + "Content-Type: " + type + ";\r\n" - + "Content-Length: " + content.length() + "\r\n" - + "\r\n" - + content; - } - - public String getContent() { - return content; - } - - public void setContent(String content) { - this.content = content; - } - - public int getCode() { - return getHeader(null).map(h -> Integer.parseInt(StringUtils.split(h, ' ')[1])).orElse(500); - } - - public Response toNewResponse() { - return Response.builder() - .setStatus(getCode()) - .setMimeType(type) - .setContent(content) - .build(); - } - - @Override - public int hashCode() { - return Objects.hash(header, content); - } - - protected void setType(ResponseType type) { - this.type = type.get(); - } - - public void setResponseHeaders(Headers responseHeaders) { - this.responseHeaders = responseHeaders; - } - - protected void translate(Function translator) { - content = translator.apply(content); - } - - protected void fixThemeColors(Theme theme) { - content = theme.replaceThemeColors(content); - } - - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - responseHeaders.set("Content-Type", type); - responseHeaders.set("Content-Encoding", "gzip"); - // TODO handle case of ByteResponse when "Accept-Ranges", "bytes" is set - exchange.sendResponseHeaders(getCode(), 0); - - try ( - GZIPOutputStream out = new GZIPOutputStream(exchange.getResponseBody()); - ByteArrayInputStream bis = new ByteArrayInputStream((content != null ? content : "").getBytes(StandardCharsets.UTF_8)) - ) { - byte[] buffer = new byte[2048]; - int count; - while ((count = bis.read(buffer)) != -1) { - out.write(buffer, 0, count); - } - } - } - - @Override - public String toString() { - return header + " | " + getResponse(); - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - Response_old response = (Response_old) o; - return Objects.equals(header, response.header) && - Objects.equals(content, response.content); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/TextResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/TextResponse.java deleted file mode 100644 index 1b5bfe80c..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/TextResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -/** - * Response for raw text. - * - * @author Rsl1122 - */ -public class TextResponse extends Response_old { - - public TextResponse(String content) { - setHeader("HTTP/1.1 200 OK"); - setContent(content); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/data/JSONResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/data/JSONResponse.java deleted file mode 100644 index c855ed707..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/data/JSONResponse.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.data; - -import com.djrapitops.plan.delivery.webserver.response.ResponseType; -import com.djrapitops.plan.delivery.webserver.response.Response_old; -import com.google.gson.Gson; -import com.google.gson.JsonElement; - -/** - * Generic JSON response implemented using Gson. - * - * Returns a JSON version of the given object. - * - * @author Rsl1122 - */ -public class JSONResponse extends Response_old { - - public JSONResponse(Object object) { - this(new Gson().toJson(object)); - } - - public JSONResponse(JsonElement json) { - this(json.getAsString()); - } - - public JSONResponse(String jsonString) { - super(ResponseType.JSON); - super.setHeader("HTTP/1.1 200 OK"); - super.setContent(jsonString); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/BadRequestResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/BadRequestResponse.java deleted file mode 100644 index 0ef06c70d..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/BadRequestResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.webserver.response.Response_old; - -/** - * @author Fuzzlemann - */ -public class BadRequestResponse extends Response_old { - - public BadRequestResponse(String error) { - super.setHeader("HTTP/1.1 400 Bad Request " + error); - super.setContent("400 Bad Request: " + error); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ErrorResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ErrorResponse.java deleted file mode 100644 index 28b12e3a3..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ErrorResponse.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.rendering.html.Contributors; -import com.djrapitops.plan.delivery.webserver.response.pages.PageResponse; -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; -import com.sun.net.httpserver.HttpExchange; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.text.StringSubstitutor; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; - -/** - * Represents generic HTTP Error response that has the page style in it. - * - * @author Rsl1122 - */ -public class ErrorResponse extends PageResponse { - - private String title; - private String paragraph; - - private VersionCheckSystem versionCheckSystem; - - public ErrorResponse(VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - this.versionCheckSystem = versionCheckSystem; - setContent(files.getCustomizableResourceOrDefault("web/error.html").asString()); - } - - public ErrorResponse(String message) { - setContent(message); - } - - public void replacePlaceholders() { - Map placeholders = new HashMap<>(); - placeholders.put("title", title); - String[] split = StringUtils.split(title, ">", 3); - placeholders.put("titleText", split.length == 3 ? split[2] : title); - placeholders.put("paragraph", paragraph); - placeholders.put("version", versionCheckSystem.getUpdateButton().orElse(versionCheckSystem.getCurrentVersionButton())); - placeholders.put("updateModal", versionCheckSystem.getUpdateModal()); - placeholders.put("contributors", Contributors.generateContributorHtml()); - - setContent(StringSubstitutor.replace(getContent(), placeholders)); - } - - public void setTitle(String title) { - this.title = title; - } - - public void setParagraph(String paragraph) { - this.paragraph = paragraph; - } - - @Override - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - translate(locale::replaceLanguageInHtml); - fixThemeColors(theme); - super.send(exchange, locale, theme); - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof ErrorResponse)) return false; - if (!super.equals(o)) return false; - ErrorResponse that = (ErrorResponse) o; - return Objects.equals(title, that.title) && - Objects.equals(paragraph, that.paragraph); - } - - @Override - public int hashCode() { - return Objects.hash(super.hashCode(), title, paragraph); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ForbiddenResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ForbiddenResponse.java deleted file mode 100644 index 8d9b11670..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ForbiddenResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.rendering.html.icon.Family; -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; - -/** - * @author Rsl1122 - */ -public class ForbiddenResponse extends ErrorResponse { - public ForbiddenResponse(String msg, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setHeader("HTTP/1.1 403 Forbidden"); - super.setTitle(Icon.called("hand-paper").of(Family.REGULAR) + " 403 Forbidden - Access Denied"); - super.setParagraph(msg); - super.replacePlaceholders(); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/InternalErrorResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/InternalErrorResponse.java deleted file mode 100644 index c8f8d65b1..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/InternalErrorResponse.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.rendering.html.Html; -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; - -/** - * @author Rsl1122 - */ -public class InternalErrorResponse extends ErrorResponse { - - public InternalErrorResponse(String cause, Throwable e, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setHeader("HTTP/1.1 500 Internal Error"); - - super.setTitle(Icon.called("bug") + " 500 Internal Error occurred"); - - StringBuilder paragraph = new StringBuilder(); - paragraph.append("Please report this issue here: "); - paragraph.append(Html.LINK.create("https://github.com/Rsl1122/Plan-PlayerAnalytics/issues", "Issues")); - paragraph.append(""); - paragraph.append(e).append(" | ").append(cause); - - for (StackTraceElement element : e.getStackTrace()) { - paragraph.append(""); - paragraph.append(" ").append(element); - } - if (e.getCause() != null) { - appendCause(e.getCause(), paragraph); - } - - paragraph.append(""); - - super.setParagraph(paragraph.toString()); - super.replacePlaceholders(); - } - - private void appendCause(Throwable cause, StringBuilder paragraph) { - paragraph.append("Caused by: ").append(cause); - for (StackTraceElement element : cause.getStackTrace()) { - paragraph.append(""); - paragraph.append(" ").append(element); - } - if (cause.getCause() != null) { - appendCause(cause.getCause(), paragraph); - } - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/NotFoundResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/NotFoundResponse.java deleted file mode 100644 index c5bd50781..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/NotFoundResponse.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; - -/** - * Generic 404 response. - * - * @author Rsl1122 - */ -public class NotFoundResponse extends ErrorResponse { - - public NotFoundResponse(String msg, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setHeader("HTTP/1.1 404 Not Found"); - super.setTitle(Icon.called("map-signs") + " 404 Not Found"); - super.setParagraph(msg); - super.replacePlaceholders(); - } - -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/DebugPageResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/DebugPageResponse.java deleted file mode 100644 index 0895829d2..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/DebugPageResponse.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.delivery.rendering.pages.DebugPage; -import com.djrapitops.plan.delivery.webserver.response.errors.ErrorResponse; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; - -/** - * WebServer response for /debug-page used for easing issue reporting. - * - * @author Rsl1122 - */ -public class DebugPageResponse extends ErrorResponse { - - public DebugPageResponse(DebugPage debugPage, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setHeader("HTTP/1.1 200 OK"); - super.setTitle(Icon.called("bug") + " Debug Information"); - super.setParagraph(debugPage.toHtml()); - replacePlaceholders(); - } - -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PageResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PageResponse.java deleted file mode 100644 index d111efb76..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PageResponse.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.rendering.pages.Page; -import com.djrapitops.plan.delivery.webserver.response.ResponseType; -import com.djrapitops.plan.delivery.webserver.response.Response_old; -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.googlecode.htmlcompressor.compressor.HtmlCompressor; -import com.sun.net.httpserver.HttpExchange; - -import java.io.IOException; - -/** - * Response for all HTML Page responses. - * - * @author Rsl1122 - */ -public class PageResponse extends Response_old { - - private static final HtmlCompressor HTML_COMPRESSOR = new HtmlCompressor(); - - static { - HTML_COMPRESSOR.setRemoveIntertagSpaces(true); - } - - public PageResponse(ResponseType type) { - super(type); - } - - public PageResponse(Page page) { - this(ResponseType.HTML); - super.setHeader("HTTP/1.1 200 OK"); - setContent(page.toHtml()); - } - - public PageResponse() { - } - - @Override - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - translate(locale::replaceLanguageInHtml); - fixThemeColors(theme); - super.send(exchange, locale, theme); - } - - @Override - public void setContent(String content) { - super.setContent(HTML_COMPRESSOR.compress(content)); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PlayersPageResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PlayersPageResponse.java deleted file mode 100644 index e5cb3a4af..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PlayersPageResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.rendering.pages.PlayersPage; - -/** - * @author Rsl1122 - */ -public class PlayersPageResponse extends PageResponse { - - public PlayersPageResponse(PlayersPage playersPage) { - setHeader("HTTP/1.1 200 OK"); - setContent(playersPage.toHtml()); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawDataResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawDataResponse.java deleted file mode 100644 index 458178b53..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawDataResponse.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.domain.container.DataContainer; -import com.djrapitops.plan.delivery.webserver.response.data.JSONResponse; -import com.djrapitops.plan.utilities.java.Lists; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * Response for sending raw data as JSON when it is inside a DataContainer. - * - * This transform class is required to remove Key-Supplier object pollution in the resulting JSON, as well as to remove - * the effects of the caching layer. - * - * @author Rsl1122 - */ -public class RawDataResponse extends JSONResponse { - - public RawDataResponse(DataContainer dataContainer) { - super(mapToNormalMap(dataContainer)); - } - - public static Map mapToNormalMap(DataContainer player) { - Map values = new HashMap<>(); - player.getMap().forEach((key, value) -> - { - if (value instanceof DataContainer) { - value = mapToNormalMap((DataContainer) value); - } - if (value instanceof Map) { - value = handleMap((Map, ?>) value); - } - if (value instanceof List) { - value = handleList((List>) value); - } - values.put(key.getKeyName(), value); - } - ); - return values; - } - - private static List> handleList(List> list) { - if (list.stream().findAny().orElse(null) instanceof DataContainer) { - return Lists.map(list, obj -> mapToNormalMap((DataContainer) obj)); - } - return list; - } - - private static Map, ?> handleMap(Map, ?> map) { - if (map.values().stream().findAny().orElse(null) instanceof DataContainer) { - Map newMap = new HashMap<>(); - map.forEach((key, value) -> newMap.put(key, mapToNormalMap((DataContainer) value))); - return newMap; - } - return map; - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawPlayerDataResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawPlayerDataResponse.java deleted file mode 100644 index a4eb8deac..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawPlayerDataResponse.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.domain.container.PlayerContainer; - -/** - * Raw Data JSON response for a Player. - * - * @author Rsl1122 - */ -public class RawPlayerDataResponse extends RawDataResponse { - - public RawPlayerDataResponse(PlayerContainer playerContainer) { - super(playerContainer); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java b/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java index 536f8a37f..05076f875 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java @@ -17,7 +17,6 @@ package com.djrapitops.plan.gathering.cache; import com.djrapitops.plan.SubSystem; -import com.djrapitops.plan.exceptions.EnableException; import com.djrapitops.plan.gathering.geolocation.GeolocationCache; import javax.inject.Inject; @@ -47,7 +46,7 @@ public class CacheSystem implements SubSystem { } @Override - public void enable() throws EnableException { + public void enable() { nicknameCache.enable(); geolocationCache.enable(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java index 3484e76b2..2f12a8e09 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java @@ -17,7 +17,7 @@ package com.djrapitops.plan.storage.database.queries; import com.djrapitops.plan.delivery.domain.Nickname; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.domain.keys.SessionKeys; import com.djrapitops.plan.gathering.domain.*; import com.djrapitops.plan.identification.Server; @@ -119,7 +119,7 @@ public class LargeStoreQueries { * @param users Collection of Plan WebUsers. * @return Executable, use inside a {@link com.djrapitops.plan.storage.database.transactions.Transaction} */ - public static Executable storeAllPlanWebUsers(Collection users) { + public static Executable storeAllPlanWebUsers(Collection users) { if (Verify.isEmpty(users)) { return Executable.empty(); } @@ -127,7 +127,7 @@ public class LargeStoreQueries { return new ExecBatchStatement(SecurityTable.INSERT_STATEMENT) { @Override public void prepare(PreparedStatement statement) throws SQLException { - for (WebUser_old user : users) { + for (WebUser user : users) { String userName = user.getName(); String pass = user.getSaltedPassHash(); int permLvl = user.getPermLevel(); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java index 5a0146017..ea316c449 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java @@ -16,7 +16,6 @@ */ package com.djrapitops.plan.storage.database.queries.objects; -import com.djrapitops.plan.delivery.domain.WebUser_old; import com.djrapitops.plan.gathering.domain.Ping; import com.djrapitops.plan.storage.database.queries.Query; import com.djrapitops.plan.storage.database.queries.QueryAllStatement; @@ -33,7 +32,7 @@ import java.util.*; import static com.djrapitops.plan.storage.database.sql.building.Sql.*; /** - * Queries for {@link WebUser_old} objects. + * Queries for {@link Ping} objects. * * @author Rsl1122 */ diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java index 601750e5e..085b77caa 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.storage.database.queries.objects; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.storage.database.queries.Query; import com.djrapitops.plan.storage.database.queries.QueryAllStatement; import com.djrapitops.plan.storage.database.queries.QueryStatement; @@ -32,7 +32,7 @@ import java.util.Optional; import static com.djrapitops.plan.storage.database.sql.building.Sql.*; /** - * Queries for {@link WebUser_old} objects. + * Queries for {@link WebUser} objects. * * @author Rsl1122 */ @@ -47,18 +47,18 @@ public class WebUserQueries { * * @return List of Plan WebUsers. */ - public static Query> fetchAllPlanWebUsers() { + public static Query> fetchAllPlanWebUsers() { String sql = SELECT + '*' + FROM + SecurityTable.TABLE_NAME + ORDER_BY + SecurityTable.PERMISSION_LEVEL + " ASC"; - return new QueryAllStatement>(sql, 5000) { + return new QueryAllStatement>(sql, 5000) { @Override - public List processResults(ResultSet set) throws SQLException { - List list = new ArrayList<>(); + public List processResults(ResultSet set) throws SQLException { + List list = new ArrayList<>(); while (set.next()) { String user = set.getString(SecurityTable.USERNAME); String saltedPassHash = set.getString(SecurityTable.SALT_PASSWORD_HASH); int permissionLevel = set.getInt(SecurityTable.PERMISSION_LEVEL); - WebUser_old info = new WebUser_old(user, saltedPassHash, permissionLevel); + WebUser info = new WebUser(user, saltedPassHash, permissionLevel); list.add(info); } return list; @@ -66,21 +66,21 @@ public class WebUserQueries { }; } - public static Query> fetchWebUser(String called) { + public static Query> fetchWebUser(String called) { String sql = SELECT + '*' + FROM + SecurityTable.TABLE_NAME + WHERE + SecurityTable.USERNAME + "=? LIMIT 1"; - return new QueryStatement>(sql) { + return new QueryStatement>(sql) { @Override public void prepare(PreparedStatement statement) throws SQLException { statement.setString(1, called); } @Override - public Optional processResults(ResultSet set) throws SQLException { + public Optional processResults(ResultSet set) throws SQLException { if (set.next()) { String saltedPassHash = set.getString(SecurityTable.SALT_PASSWORD_HASH); int permissionLevel = set.getInt(SecurityTable.PERMISSION_LEVEL); - return Optional.of(new WebUser_old(called, saltedPassHash, permissionLevel)); + return Optional.of(new WebUser(called, saltedPassHash, permissionLevel)); } return Optional.empty(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java index 6a762818d..4dd004a37 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.storage.database.transactions.commands; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.storage.database.sql.tables.SecurityTable; import com.djrapitops.plan.storage.database.transactions.ExecStatement; import com.djrapitops.plan.storage.database.transactions.Transaction; @@ -25,15 +25,15 @@ import java.sql.PreparedStatement; import java.sql.SQLException; /** - * Transaction to save a new Plan {@link WebUser_old} to the database. + * Transaction to save a new Plan {@link WebUser} to the database. * * @author Rsl1122 */ public class RegisterWebUserTransaction extends Transaction { - private final WebUser_old webUser; + private final WebUser webUser; - public RegisterWebUserTransaction(WebUser_old webUser) { + public RegisterWebUserTransaction(WebUser webUser) { this.webUser = webUser; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java index e5c984b3f..d2ee58f72 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.storage.database.transactions.commands; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.storage.database.sql.tables.SecurityTable; import com.djrapitops.plan.storage.database.transactions.ExecStatement; import com.djrapitops.plan.storage.database.transactions.Transaction; @@ -28,7 +28,7 @@ import static com.djrapitops.plan.storage.database.sql.building.Sql.DELETE_FROM; import static com.djrapitops.plan.storage.database.sql.building.Sql.WHERE; /** - * Transaction to remove a Plan {@link WebUser_old} from the database. + * Transaction to remove a Plan {@link WebUser} from the database. * * @author Rsl1122 */ diff --git a/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java b/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java index 8d6e009d8..856274b15 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.utilities.comparators; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import java.util.Comparator; @@ -25,10 +25,10 @@ import java.util.Comparator; * * @author Rsl1122 */ -public class WebUserComparator implements Comparator { +public class WebUserComparator implements Comparator { @Override - public int compare(WebUser_old o1, WebUser_old o2) { + public int compare(WebUser o1, WebUser o2) { return Integer.compare(o2.getPermLevel(), o1.getPermLevel()); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java index fc2eb2993..b32398329 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java @@ -17,7 +17,7 @@ package com.djrapitops.plan.delivery.webserver; import com.djrapitops.plan.PlanSystem; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.settings.config.PlanConfig; import com.djrapitops.plan.settings.config.paths.WebserverSettings; import com.djrapitops.plan.storage.database.transactions.commands.RegisterWebUserTransaction; @@ -61,7 +61,7 @@ class JksHttpsServerTest implements HttpsServerTest { system.enable(); - WebUser_old webUser = new WebUser_old("test", PassEncryptUtil.createHash("testPass"), 0); + WebUser webUser = new WebUser("test", PassEncryptUtil.createHash("testPass"), 0); system.getDatabaseSystem().getDatabase().executeTransaction(new RegisterWebUserTransaction(webUser)); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java index 2f935a3ac..3ec52abdb 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java @@ -17,7 +17,7 @@ package com.djrapitops.plan.delivery.webserver; import com.djrapitops.plan.PlanSystem; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.settings.config.PlanConfig; import com.djrapitops.plan.settings.config.changes.ConfigUpdater; import com.djrapitops.plan.settings.config.paths.WebserverSettings; @@ -66,7 +66,7 @@ class Pkcs12HttpsServerTest implements HttpsServerTest { system.enable(); - WebUser_old webUser = new WebUser_old("test", PassEncryptUtil.createHash("testPass"), 0); + WebUser webUser = new WebUser("test", PassEncryptUtil.createHash("testPass"), 0); system.getDatabaseSystem().getDatabase().executeTransaction(new RegisterWebUserTransaction(webUser)); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java index 8b5bf7965..30d22782f 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java @@ -16,7 +16,6 @@ */ package com.djrapitops.plan.delivery.webserver.cache; -import com.djrapitops.plan.delivery.webserver.response.data.JSONResponse; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.platform.runner.JUnitPlatform; @@ -47,7 +46,7 @@ class JSONCacheTest { @Test void cachedByDataIDName() { - JSONCache.getOrCache(TEST_ID, () -> new JSONResponse(CACHED)); + JSONCache.getOrCache(TEST_ID, () -> CACHED); assertContains(); } @@ -77,7 +76,7 @@ class JSONCacheTest { @Test void cachedByServerUUID() { - JSONCache.getOrCache(TEST_ID, TEST_UUID, () -> new JSONResponse(CACHED)); + JSONCache.getOrCache(TEST_ID, TEST_UUID, () -> CACHED); assertContainsUUID(); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java b/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java index 0fbb29415..900b0cb4b 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java @@ -21,7 +21,7 @@ import com.djrapitops.plan.data.element.TableContainer; import com.djrapitops.plan.delivery.domain.DateObj; import com.djrapitops.plan.delivery.domain.Nickname; import com.djrapitops.plan.delivery.domain.TablePlayer; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.domain.container.PlayerContainer; import com.djrapitops.plan.delivery.domain.container.ServerContainer; import com.djrapitops.plan.delivery.domain.keys.Key; @@ -208,11 +208,11 @@ public interface DatabaseTest { @Test default void webUserIsRegistered() { - WebUser_old expected = new WebUser_old(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); + WebUser expected = new WebUser(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); db().executeTransaction(new RegisterWebUserTransaction(expected)); commitTest(); - Optional found = db().query(WebUserQueries.fetchWebUser(TestConstants.PLAYER_ONE_NAME)); + Optional found = db().query(WebUserQueries.fetchWebUser(TestConstants.PLAYER_ONE_NAME)); assertTrue(found.isPresent()); assertEquals(expected, found.get()); } @@ -500,7 +500,7 @@ public interface DatabaseTest { Collections.singletonList(new DateObj<>(System.currentTimeMillis(), r.nextInt()))) ); - WebUser_old webUser = new WebUser_old(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); + WebUser webUser = new WebUser(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); db().executeTransaction(new RegisterWebUserTransaction(webUser)); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java b/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java index 4505f07b0..df7d8a6ef 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.utilities.comparators; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.domain.keys.SessionKeys; import com.djrapitops.plan.delivery.rendering.json.graphs.line.Point; import com.djrapitops.plan.gathering.domain.GeoInfo; @@ -83,14 +83,14 @@ class ComparatorTest { @Test void webUserComparator() throws PassEncryptUtil.CannotPerformOperationException { - List webUsers = RandomData.randomWebUsers(); + List webUsers = RandomData.randomWebUsers(); - List expected = webUsers.stream().map(WebUser_old::getPermLevel) + List expected = webUsers.stream().map(WebUser::getPermLevel) .sorted(Integer::compare).collect(Collectors.toList()); Collections.reverse(expected); webUsers.sort(new WebUserComparator()); - List result = Lists.map(webUsers, WebUser_old::getPermLevel); + List result = Lists.map(webUsers, WebUser::getPermLevel); assertEquals(expected, result); } diff --git a/Plan/common/src/test/java/utilities/RandomData.java b/Plan/common/src/test/java/utilities/RandomData.java index fa20db9af..8be20eca1 100644 --- a/Plan/common/src/test/java/utilities/RandomData.java +++ b/Plan/common/src/test/java/utilities/RandomData.java @@ -16,19 +16,17 @@ */ package utilities; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.rendering.json.graphs.line.Point; import com.djrapitops.plan.gathering.domain.GeoInfo; import com.djrapitops.plan.gathering.domain.Session; import com.djrapitops.plan.gathering.domain.TPS; -import com.djrapitops.plan.gathering.domain.UserInfo; import com.djrapitops.plan.utilities.PassEncryptUtil; import org.apache.commons.lang3.RandomStringUtils; import java.util.ArrayList; import java.util.List; import java.util.Random; -import java.util.UUID; import java.util.concurrent.ThreadLocalRandom; public class RandomData { @@ -51,10 +49,10 @@ public class RandomData { return RandomStringUtils.randomAlphanumeric(size); } - public static List randomWebUsers() throws PassEncryptUtil.CannotPerformOperationException { - List test = new ArrayList<>(); + public static List randomWebUsers() throws PassEncryptUtil.CannotPerformOperationException { + List test = new ArrayList<>(); for (int i = 0; i < 20; i++) { - test.add(new WebUser_old(randomString(5), PassEncryptUtil.createHash(randomString(7)), r.nextInt())); + test.add(new WebUser(randomString(5), PassEncryptUtil.createHash(randomString(7)), r.nextInt())); } return test; } @@ -89,20 +87,6 @@ public class RandomData { return test; } - public static T randomEnum(Class clazz) { - int x = r.nextInt(clazz.getEnumConstants().length); - return clazz.getEnumConstants()[x]; - } - - public static List randomUserData() { - List test = new ArrayList<>(); - for (int i = 0; i < 20; i++) { - UserInfo info = new UserInfo(UUID.randomUUID(), UUID.randomUUID(), r.nextLong(), r.nextBoolean(), r.nextBoolean()); - test.add(info); - } - return test; - } - public static List randomGeoInfo() { List test = new ArrayList<>(); for (int i = 0; i < 20; i++) {
- * Returns a JSON version of the given object. - * - * @author Rsl1122 - */ -public class JSONResponse extends Response_old { - - public JSONResponse(Object object) { - this(new Gson().toJson(object)); - } - - public JSONResponse(JsonElement json) { - this(json.getAsString()); - } - - public JSONResponse(String jsonString) { - super(ResponseType.JSON); - super.setHeader("HTTP/1.1 200 OK"); - super.setContent(jsonString); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/BadRequestResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/BadRequestResponse.java deleted file mode 100644 index 0ef06c70d..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/BadRequestResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.webserver.response.Response_old; - -/** - * @author Fuzzlemann - */ -public class BadRequestResponse extends Response_old { - - public BadRequestResponse(String error) { - super.setHeader("HTTP/1.1 400 Bad Request " + error); - super.setContent("400 Bad Request: " + error); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ErrorResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ErrorResponse.java deleted file mode 100644 index 28b12e3a3..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ErrorResponse.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.rendering.html.Contributors; -import com.djrapitops.plan.delivery.webserver.response.pages.PageResponse; -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; -import com.sun.net.httpserver.HttpExchange; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.text.StringSubstitutor; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; - -/** - * Represents generic HTTP Error response that has the page style in it. - * - * @author Rsl1122 - */ -public class ErrorResponse extends PageResponse { - - private String title; - private String paragraph; - - private VersionCheckSystem versionCheckSystem; - - public ErrorResponse(VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - this.versionCheckSystem = versionCheckSystem; - setContent(files.getCustomizableResourceOrDefault("web/error.html").asString()); - } - - public ErrorResponse(String message) { - setContent(message); - } - - public void replacePlaceholders() { - Map placeholders = new HashMap<>(); - placeholders.put("title", title); - String[] split = StringUtils.split(title, ">", 3); - placeholders.put("titleText", split.length == 3 ? split[2] : title); - placeholders.put("paragraph", paragraph); - placeholders.put("version", versionCheckSystem.getUpdateButton().orElse(versionCheckSystem.getCurrentVersionButton())); - placeholders.put("updateModal", versionCheckSystem.getUpdateModal()); - placeholders.put("contributors", Contributors.generateContributorHtml()); - - setContent(StringSubstitutor.replace(getContent(), placeholders)); - } - - public void setTitle(String title) { - this.title = title; - } - - public void setParagraph(String paragraph) { - this.paragraph = paragraph; - } - - @Override - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - translate(locale::replaceLanguageInHtml); - fixThemeColors(theme); - super.send(exchange, locale, theme); - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof ErrorResponse)) return false; - if (!super.equals(o)) return false; - ErrorResponse that = (ErrorResponse) o; - return Objects.equals(title, that.title) && - Objects.equals(paragraph, that.paragraph); - } - - @Override - public int hashCode() { - return Objects.hash(super.hashCode(), title, paragraph); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ForbiddenResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ForbiddenResponse.java deleted file mode 100644 index 8d9b11670..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/ForbiddenResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.rendering.html.icon.Family; -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; - -/** - * @author Rsl1122 - */ -public class ForbiddenResponse extends ErrorResponse { - public ForbiddenResponse(String msg, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setHeader("HTTP/1.1 403 Forbidden"); - super.setTitle(Icon.called("hand-paper").of(Family.REGULAR) + " 403 Forbidden - Access Denied"); - super.setParagraph(msg); - super.replacePlaceholders(); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/InternalErrorResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/InternalErrorResponse.java deleted file mode 100644 index c8f8d65b1..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/InternalErrorResponse.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.rendering.html.Html; -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; - -/** - * @author Rsl1122 - */ -public class InternalErrorResponse extends ErrorResponse { - - public InternalErrorResponse(String cause, Throwable e, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setHeader("HTTP/1.1 500 Internal Error"); - - super.setTitle(Icon.called("bug") + " 500 Internal Error occurred"); - - StringBuilder paragraph = new StringBuilder(); - paragraph.append("Please report this issue here: "); - paragraph.append(Html.LINK.create("https://github.com/Rsl1122/Plan-PlayerAnalytics/issues", "Issues")); - paragraph.append(""); - paragraph.append(e).append(" | ").append(cause); - - for (StackTraceElement element : e.getStackTrace()) { - paragraph.append(""); - paragraph.append(" ").append(element); - } - if (e.getCause() != null) { - appendCause(e.getCause(), paragraph); - } - - paragraph.append(""); - - super.setParagraph(paragraph.toString()); - super.replacePlaceholders(); - } - - private void appendCause(Throwable cause, StringBuilder paragraph) { - paragraph.append("Caused by: ").append(cause); - for (StackTraceElement element : cause.getStackTrace()) { - paragraph.append(""); - paragraph.append(" ").append(element); - } - if (cause.getCause() != null) { - appendCause(cause.getCause(), paragraph); - } - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/NotFoundResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/NotFoundResponse.java deleted file mode 100644 index c5bd50781..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/errors/NotFoundResponse.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.errors; - -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; - -/** - * Generic 404 response. - * - * @author Rsl1122 - */ -public class NotFoundResponse extends ErrorResponse { - - public NotFoundResponse(String msg, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setHeader("HTTP/1.1 404 Not Found"); - super.setTitle(Icon.called("map-signs") + " 404 Not Found"); - super.setParagraph(msg); - super.replacePlaceholders(); - } - -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/DebugPageResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/DebugPageResponse.java deleted file mode 100644 index 0895829d2..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/DebugPageResponse.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.rendering.html.icon.Icon; -import com.djrapitops.plan.delivery.rendering.pages.DebugPage; -import com.djrapitops.plan.delivery.webserver.response.errors.ErrorResponse; -import com.djrapitops.plan.storage.file.PlanFiles; -import com.djrapitops.plan.version.VersionCheckSystem; - -import java.io.IOException; - -/** - * WebServer response for /debug-page used for easing issue reporting. - * - * @author Rsl1122 - */ -public class DebugPageResponse extends ErrorResponse { - - public DebugPageResponse(DebugPage debugPage, VersionCheckSystem versionCheckSystem, PlanFiles files) throws IOException { - super(versionCheckSystem, files); - super.setHeader("HTTP/1.1 200 OK"); - super.setTitle(Icon.called("bug") + " Debug Information"); - super.setParagraph(debugPage.toHtml()); - replacePlaceholders(); - } - -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PageResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PageResponse.java deleted file mode 100644 index d111efb76..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PageResponse.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.rendering.pages.Page; -import com.djrapitops.plan.delivery.webserver.response.ResponseType; -import com.djrapitops.plan.delivery.webserver.response.Response_old; -import com.djrapitops.plan.settings.locale.Locale; -import com.djrapitops.plan.settings.theme.Theme; -import com.googlecode.htmlcompressor.compressor.HtmlCompressor; -import com.sun.net.httpserver.HttpExchange; - -import java.io.IOException; - -/** - * Response for all HTML Page responses. - * - * @author Rsl1122 - */ -public class PageResponse extends Response_old { - - private static final HtmlCompressor HTML_COMPRESSOR = new HtmlCompressor(); - - static { - HTML_COMPRESSOR.setRemoveIntertagSpaces(true); - } - - public PageResponse(ResponseType type) { - super(type); - } - - public PageResponse(Page page) { - this(ResponseType.HTML); - super.setHeader("HTTP/1.1 200 OK"); - setContent(page.toHtml()); - } - - public PageResponse() { - } - - @Override - public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException { - translate(locale::replaceLanguageInHtml); - fixThemeColors(theme); - super.send(exchange, locale, theme); - } - - @Override - public void setContent(String content) { - super.setContent(HTML_COMPRESSOR.compress(content)); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PlayersPageResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PlayersPageResponse.java deleted file mode 100644 index e5cb3a4af..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/PlayersPageResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.rendering.pages.PlayersPage; - -/** - * @author Rsl1122 - */ -public class PlayersPageResponse extends PageResponse { - - public PlayersPageResponse(PlayersPage playersPage) { - setHeader("HTTP/1.1 200 OK"); - setContent(playersPage.toHtml()); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawDataResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawDataResponse.java deleted file mode 100644 index 458178b53..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawDataResponse.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.domain.container.DataContainer; -import com.djrapitops.plan.delivery.webserver.response.data.JSONResponse; -import com.djrapitops.plan.utilities.java.Lists; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * Response for sending raw data as JSON when it is inside a DataContainer. - * - * This transform class is required to remove Key-Supplier object pollution in the resulting JSON, as well as to remove - * the effects of the caching layer. - * - * @author Rsl1122 - */ -public class RawDataResponse extends JSONResponse { - - public RawDataResponse(DataContainer dataContainer) { - super(mapToNormalMap(dataContainer)); - } - - public static Map mapToNormalMap(DataContainer player) { - Map values = new HashMap<>(); - player.getMap().forEach((key, value) -> - { - if (value instanceof DataContainer) { - value = mapToNormalMap((DataContainer) value); - } - if (value instanceof Map) { - value = handleMap((Map, ?>) value); - } - if (value instanceof List) { - value = handleList((List>) value); - } - values.put(key.getKeyName(), value); - } - ); - return values; - } - - private static List> handleList(List> list) { - if (list.stream().findAny().orElse(null) instanceof DataContainer) { - return Lists.map(list, obj -> mapToNormalMap((DataContainer) obj)); - } - return list; - } - - private static Map, ?> handleMap(Map, ?> map) { - if (map.values().stream().findAny().orElse(null) instanceof DataContainer) { - Map newMap = new HashMap<>(); - map.forEach((key, value) -> newMap.put(key, mapToNormalMap((DataContainer) value))); - return newMap; - } - return map; - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawPlayerDataResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawPlayerDataResponse.java deleted file mode 100644 index a4eb8deac..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawPlayerDataResponse.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.domain.container.PlayerContainer; - -/** - * Raw Data JSON response for a Player. - * - * @author Rsl1122 - */ -public class RawPlayerDataResponse extends RawDataResponse { - - public RawPlayerDataResponse(PlayerContainer playerContainer) { - super(playerContainer); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java b/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java index 536f8a37f..05076f875 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java @@ -17,7 +17,6 @@ package com.djrapitops.plan.gathering.cache; import com.djrapitops.plan.SubSystem; -import com.djrapitops.plan.exceptions.EnableException; import com.djrapitops.plan.gathering.geolocation.GeolocationCache; import javax.inject.Inject; @@ -47,7 +46,7 @@ public class CacheSystem implements SubSystem { } @Override - public void enable() throws EnableException { + public void enable() { nicknameCache.enable(); geolocationCache.enable(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java index 3484e76b2..2f12a8e09 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java @@ -17,7 +17,7 @@ package com.djrapitops.plan.storage.database.queries; import com.djrapitops.plan.delivery.domain.Nickname; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.domain.keys.SessionKeys; import com.djrapitops.plan.gathering.domain.*; import com.djrapitops.plan.identification.Server; @@ -119,7 +119,7 @@ public class LargeStoreQueries { * @param users Collection of Plan WebUsers. * @return Executable, use inside a {@link com.djrapitops.plan.storage.database.transactions.Transaction} */ - public static Executable storeAllPlanWebUsers(Collection users) { + public static Executable storeAllPlanWebUsers(Collection users) { if (Verify.isEmpty(users)) { return Executable.empty(); } @@ -127,7 +127,7 @@ public class LargeStoreQueries { return new ExecBatchStatement(SecurityTable.INSERT_STATEMENT) { @Override public void prepare(PreparedStatement statement) throws SQLException { - for (WebUser_old user : users) { + for (WebUser user : users) { String userName = user.getName(); String pass = user.getSaltedPassHash(); int permLvl = user.getPermLevel(); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java index 5a0146017..ea316c449 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java @@ -16,7 +16,6 @@ */ package com.djrapitops.plan.storage.database.queries.objects; -import com.djrapitops.plan.delivery.domain.WebUser_old; import com.djrapitops.plan.gathering.domain.Ping; import com.djrapitops.plan.storage.database.queries.Query; import com.djrapitops.plan.storage.database.queries.QueryAllStatement; @@ -33,7 +32,7 @@ import java.util.*; import static com.djrapitops.plan.storage.database.sql.building.Sql.*; /** - * Queries for {@link WebUser_old} objects. + * Queries for {@link Ping} objects. * * @author Rsl1122 */ diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java index 601750e5e..085b77caa 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.storage.database.queries.objects; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.storage.database.queries.Query; import com.djrapitops.plan.storage.database.queries.QueryAllStatement; import com.djrapitops.plan.storage.database.queries.QueryStatement; @@ -32,7 +32,7 @@ import java.util.Optional; import static com.djrapitops.plan.storage.database.sql.building.Sql.*; /** - * Queries for {@link WebUser_old} objects. + * Queries for {@link WebUser} objects. * * @author Rsl1122 */ @@ -47,18 +47,18 @@ public class WebUserQueries { * * @return List of Plan WebUsers. */ - public static Query> fetchAllPlanWebUsers() { + public static Query> fetchAllPlanWebUsers() { String sql = SELECT + '*' + FROM + SecurityTable.TABLE_NAME + ORDER_BY + SecurityTable.PERMISSION_LEVEL + " ASC"; - return new QueryAllStatement>(sql, 5000) { + return new QueryAllStatement>(sql, 5000) { @Override - public List processResults(ResultSet set) throws SQLException { - List list = new ArrayList<>(); + public List processResults(ResultSet set) throws SQLException { + List list = new ArrayList<>(); while (set.next()) { String user = set.getString(SecurityTable.USERNAME); String saltedPassHash = set.getString(SecurityTable.SALT_PASSWORD_HASH); int permissionLevel = set.getInt(SecurityTable.PERMISSION_LEVEL); - WebUser_old info = new WebUser_old(user, saltedPassHash, permissionLevel); + WebUser info = new WebUser(user, saltedPassHash, permissionLevel); list.add(info); } return list; @@ -66,21 +66,21 @@ public class WebUserQueries { }; } - public static Query> fetchWebUser(String called) { + public static Query> fetchWebUser(String called) { String sql = SELECT + '*' + FROM + SecurityTable.TABLE_NAME + WHERE + SecurityTable.USERNAME + "=? LIMIT 1"; - return new QueryStatement>(sql) { + return new QueryStatement>(sql) { @Override public void prepare(PreparedStatement statement) throws SQLException { statement.setString(1, called); } @Override - public Optional processResults(ResultSet set) throws SQLException { + public Optional processResults(ResultSet set) throws SQLException { if (set.next()) { String saltedPassHash = set.getString(SecurityTable.SALT_PASSWORD_HASH); int permissionLevel = set.getInt(SecurityTable.PERMISSION_LEVEL); - return Optional.of(new WebUser_old(called, saltedPassHash, permissionLevel)); + return Optional.of(new WebUser(called, saltedPassHash, permissionLevel)); } return Optional.empty(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java index 6a762818d..4dd004a37 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.storage.database.transactions.commands; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.storage.database.sql.tables.SecurityTable; import com.djrapitops.plan.storage.database.transactions.ExecStatement; import com.djrapitops.plan.storage.database.transactions.Transaction; @@ -25,15 +25,15 @@ import java.sql.PreparedStatement; import java.sql.SQLException; /** - * Transaction to save a new Plan {@link WebUser_old} to the database. + * Transaction to save a new Plan {@link WebUser} to the database. * * @author Rsl1122 */ public class RegisterWebUserTransaction extends Transaction { - private final WebUser_old webUser; + private final WebUser webUser; - public RegisterWebUserTransaction(WebUser_old webUser) { + public RegisterWebUserTransaction(WebUser webUser) { this.webUser = webUser; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java index e5c984b3f..d2ee58f72 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.storage.database.transactions.commands; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.storage.database.sql.tables.SecurityTable; import com.djrapitops.plan.storage.database.transactions.ExecStatement; import com.djrapitops.plan.storage.database.transactions.Transaction; @@ -28,7 +28,7 @@ import static com.djrapitops.plan.storage.database.sql.building.Sql.DELETE_FROM; import static com.djrapitops.plan.storage.database.sql.building.Sql.WHERE; /** - * Transaction to remove a Plan {@link WebUser_old} from the database. + * Transaction to remove a Plan {@link WebUser} from the database. * * @author Rsl1122 */ diff --git a/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java b/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java index 8d6e009d8..856274b15 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.utilities.comparators; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import java.util.Comparator; @@ -25,10 +25,10 @@ import java.util.Comparator; * * @author Rsl1122 */ -public class WebUserComparator implements Comparator { +public class WebUserComparator implements Comparator { @Override - public int compare(WebUser_old o1, WebUser_old o2) { + public int compare(WebUser o1, WebUser o2) { return Integer.compare(o2.getPermLevel(), o1.getPermLevel()); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java index fc2eb2993..b32398329 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java @@ -17,7 +17,7 @@ package com.djrapitops.plan.delivery.webserver; import com.djrapitops.plan.PlanSystem; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.settings.config.PlanConfig; import com.djrapitops.plan.settings.config.paths.WebserverSettings; import com.djrapitops.plan.storage.database.transactions.commands.RegisterWebUserTransaction; @@ -61,7 +61,7 @@ class JksHttpsServerTest implements HttpsServerTest { system.enable(); - WebUser_old webUser = new WebUser_old("test", PassEncryptUtil.createHash("testPass"), 0); + WebUser webUser = new WebUser("test", PassEncryptUtil.createHash("testPass"), 0); system.getDatabaseSystem().getDatabase().executeTransaction(new RegisterWebUserTransaction(webUser)); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java index 2f935a3ac..3ec52abdb 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java @@ -17,7 +17,7 @@ package com.djrapitops.plan.delivery.webserver; import com.djrapitops.plan.PlanSystem; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.settings.config.PlanConfig; import com.djrapitops.plan.settings.config.changes.ConfigUpdater; import com.djrapitops.plan.settings.config.paths.WebserverSettings; @@ -66,7 +66,7 @@ class Pkcs12HttpsServerTest implements HttpsServerTest { system.enable(); - WebUser_old webUser = new WebUser_old("test", PassEncryptUtil.createHash("testPass"), 0); + WebUser webUser = new WebUser("test", PassEncryptUtil.createHash("testPass"), 0); system.getDatabaseSystem().getDatabase().executeTransaction(new RegisterWebUserTransaction(webUser)); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java index 8b5bf7965..30d22782f 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java @@ -16,7 +16,6 @@ */ package com.djrapitops.plan.delivery.webserver.cache; -import com.djrapitops.plan.delivery.webserver.response.data.JSONResponse; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.platform.runner.JUnitPlatform; @@ -47,7 +46,7 @@ class JSONCacheTest { @Test void cachedByDataIDName() { - JSONCache.getOrCache(TEST_ID, () -> new JSONResponse(CACHED)); + JSONCache.getOrCache(TEST_ID, () -> CACHED); assertContains(); } @@ -77,7 +76,7 @@ class JSONCacheTest { @Test void cachedByServerUUID() { - JSONCache.getOrCache(TEST_ID, TEST_UUID, () -> new JSONResponse(CACHED)); + JSONCache.getOrCache(TEST_ID, TEST_UUID, () -> CACHED); assertContainsUUID(); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java b/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java index 0fbb29415..900b0cb4b 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java @@ -21,7 +21,7 @@ import com.djrapitops.plan.data.element.TableContainer; import com.djrapitops.plan.delivery.domain.DateObj; import com.djrapitops.plan.delivery.domain.Nickname; import com.djrapitops.plan.delivery.domain.TablePlayer; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.domain.container.PlayerContainer; import com.djrapitops.plan.delivery.domain.container.ServerContainer; import com.djrapitops.plan.delivery.domain.keys.Key; @@ -208,11 +208,11 @@ public interface DatabaseTest { @Test default void webUserIsRegistered() { - WebUser_old expected = new WebUser_old(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); + WebUser expected = new WebUser(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); db().executeTransaction(new RegisterWebUserTransaction(expected)); commitTest(); - Optional found = db().query(WebUserQueries.fetchWebUser(TestConstants.PLAYER_ONE_NAME)); + Optional found = db().query(WebUserQueries.fetchWebUser(TestConstants.PLAYER_ONE_NAME)); assertTrue(found.isPresent()); assertEquals(expected, found.get()); } @@ -500,7 +500,7 @@ public interface DatabaseTest { Collections.singletonList(new DateObj<>(System.currentTimeMillis(), r.nextInt()))) ); - WebUser_old webUser = new WebUser_old(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); + WebUser webUser = new WebUser(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); db().executeTransaction(new RegisterWebUserTransaction(webUser)); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java b/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java index 4505f07b0..df7d8a6ef 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.utilities.comparators; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.domain.keys.SessionKeys; import com.djrapitops.plan.delivery.rendering.json.graphs.line.Point; import com.djrapitops.plan.gathering.domain.GeoInfo; @@ -83,14 +83,14 @@ class ComparatorTest { @Test void webUserComparator() throws PassEncryptUtil.CannotPerformOperationException { - List webUsers = RandomData.randomWebUsers(); + List webUsers = RandomData.randomWebUsers(); - List expected = webUsers.stream().map(WebUser_old::getPermLevel) + List expected = webUsers.stream().map(WebUser::getPermLevel) .sorted(Integer::compare).collect(Collectors.toList()); Collections.reverse(expected); webUsers.sort(new WebUserComparator()); - List result = Lists.map(webUsers, WebUser_old::getPermLevel); + List result = Lists.map(webUsers, WebUser::getPermLevel); assertEquals(expected, result); } diff --git a/Plan/common/src/test/java/utilities/RandomData.java b/Plan/common/src/test/java/utilities/RandomData.java index fa20db9af..8be20eca1 100644 --- a/Plan/common/src/test/java/utilities/RandomData.java +++ b/Plan/common/src/test/java/utilities/RandomData.java @@ -16,19 +16,17 @@ */ package utilities; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.rendering.json.graphs.line.Point; import com.djrapitops.plan.gathering.domain.GeoInfo; import com.djrapitops.plan.gathering.domain.Session; import com.djrapitops.plan.gathering.domain.TPS; -import com.djrapitops.plan.gathering.domain.UserInfo; import com.djrapitops.plan.utilities.PassEncryptUtil; import org.apache.commons.lang3.RandomStringUtils; import java.util.ArrayList; import java.util.List; import java.util.Random; -import java.util.UUID; import java.util.concurrent.ThreadLocalRandom; public class RandomData { @@ -51,10 +49,10 @@ public class RandomData { return RandomStringUtils.randomAlphanumeric(size); } - public static List randomWebUsers() throws PassEncryptUtil.CannotPerformOperationException { - List test = new ArrayList<>(); + public static List randomWebUsers() throws PassEncryptUtil.CannotPerformOperationException { + List test = new ArrayList<>(); for (int i = 0; i < 20; i++) { - test.add(new WebUser_old(randomString(5), PassEncryptUtil.createHash(randomString(7)), r.nextInt())); + test.add(new WebUser(randomString(5), PassEncryptUtil.createHash(randomString(7)), r.nextInt())); } return test; } @@ -89,20 +87,6 @@ public class RandomData { return test; } - public static T randomEnum(Class clazz) { - int x = r.nextInt(clazz.getEnumConstants().length); - return clazz.getEnumConstants()[x]; - } - - public static List randomUserData() { - List test = new ArrayList<>(); - for (int i = 0; i < 20; i++) { - UserInfo info = new UserInfo(UUID.randomUUID(), UUID.randomUUID(), r.nextLong(), r.nextBoolean(), r.nextBoolean()); - test.add(info); - } - return test; - } - public static List randomGeoInfo() { List test = new ArrayList<>(); for (int i = 0; i < 20; i++) {
"); - paragraph.append(e).append(" | ").append(cause); - - for (StackTraceElement element : e.getStackTrace()) { - paragraph.append(""); - paragraph.append(" ").append(element); - } - if (e.getCause() != null) { - appendCause(e.getCause(), paragraph); - } - - paragraph.append("
- * This transform class is required to remove Key-Supplier object pollution in the resulting JSON, as well as to remove - * the effects of the caching layer. - * - * @author Rsl1122 - */ -public class RawDataResponse extends JSONResponse { - - public RawDataResponse(DataContainer dataContainer) { - super(mapToNormalMap(dataContainer)); - } - - public static Map mapToNormalMap(DataContainer player) { - Map values = new HashMap<>(); - player.getMap().forEach((key, value) -> - { - if (value instanceof DataContainer) { - value = mapToNormalMap((DataContainer) value); - } - if (value instanceof Map) { - value = handleMap((Map, ?>) value); - } - if (value instanceof List) { - value = handleList((List>) value); - } - values.put(key.getKeyName(), value); - } - ); - return values; - } - - private static List> handleList(List> list) { - if (list.stream().findAny().orElse(null) instanceof DataContainer) { - return Lists.map(list, obj -> mapToNormalMap((DataContainer) obj)); - } - return list; - } - - private static Map, ?> handleMap(Map, ?> map) { - if (map.values().stream().findAny().orElse(null) instanceof DataContainer) { - Map newMap = new HashMap<>(); - map.forEach((key, value) -> newMap.put(key, mapToNormalMap((DataContainer) value))); - return newMap; - } - return map; - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawPlayerDataResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawPlayerDataResponse.java deleted file mode 100644 index a4eb8deac..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/pages/RawPlayerDataResponse.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response.pages; - -import com.djrapitops.plan.delivery.domain.container.PlayerContainer; - -/** - * Raw Data JSON response for a Player. - * - * @author Rsl1122 - */ -public class RawPlayerDataResponse extends RawDataResponse { - - public RawPlayerDataResponse(PlayerContainer playerContainer) { - super(playerContainer); - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java b/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java index 536f8a37f..05076f875 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/CacheSystem.java @@ -17,7 +17,6 @@ package com.djrapitops.plan.gathering.cache; import com.djrapitops.plan.SubSystem; -import com.djrapitops.plan.exceptions.EnableException; import com.djrapitops.plan.gathering.geolocation.GeolocationCache; import javax.inject.Inject; @@ -47,7 +46,7 @@ public class CacheSystem implements SubSystem { } @Override - public void enable() throws EnableException { + public void enable() { nicknameCache.enable(); geolocationCache.enable(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java index 3484e76b2..2f12a8e09 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/LargeStoreQueries.java @@ -17,7 +17,7 @@ package com.djrapitops.plan.storage.database.queries; import com.djrapitops.plan.delivery.domain.Nickname; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.domain.keys.SessionKeys; import com.djrapitops.plan.gathering.domain.*; import com.djrapitops.plan.identification.Server; @@ -119,7 +119,7 @@ public class LargeStoreQueries { * @param users Collection of Plan WebUsers. * @return Executable, use inside a {@link com.djrapitops.plan.storage.database.transactions.Transaction} */ - public static Executable storeAllPlanWebUsers(Collection users) { + public static Executable storeAllPlanWebUsers(Collection users) { if (Verify.isEmpty(users)) { return Executable.empty(); } @@ -127,7 +127,7 @@ public class LargeStoreQueries { return new ExecBatchStatement(SecurityTable.INSERT_STATEMENT) { @Override public void prepare(PreparedStatement statement) throws SQLException { - for (WebUser_old user : users) { + for (WebUser user : users) { String userName = user.getName(); String pass = user.getSaltedPassHash(); int permLvl = user.getPermLevel(); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java index 5a0146017..ea316c449 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/PingQueries.java @@ -16,7 +16,6 @@ */ package com.djrapitops.plan.storage.database.queries.objects; -import com.djrapitops.plan.delivery.domain.WebUser_old; import com.djrapitops.plan.gathering.domain.Ping; import com.djrapitops.plan.storage.database.queries.Query; import com.djrapitops.plan.storage.database.queries.QueryAllStatement; @@ -33,7 +32,7 @@ import java.util.*; import static com.djrapitops.plan.storage.database.sql.building.Sql.*; /** - * Queries for {@link WebUser_old} objects. + * Queries for {@link Ping} objects. * * @author Rsl1122 */ diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java index 601750e5e..085b77caa 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WebUserQueries.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.storage.database.queries.objects; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.storage.database.queries.Query; import com.djrapitops.plan.storage.database.queries.QueryAllStatement; import com.djrapitops.plan.storage.database.queries.QueryStatement; @@ -32,7 +32,7 @@ import java.util.Optional; import static com.djrapitops.plan.storage.database.sql.building.Sql.*; /** - * Queries for {@link WebUser_old} objects. + * Queries for {@link WebUser} objects. * * @author Rsl1122 */ @@ -47,18 +47,18 @@ public class WebUserQueries { * * @return List of Plan WebUsers. */ - public static Query> fetchAllPlanWebUsers() { + public static Query> fetchAllPlanWebUsers() { String sql = SELECT + '*' + FROM + SecurityTable.TABLE_NAME + ORDER_BY + SecurityTable.PERMISSION_LEVEL + " ASC"; - return new QueryAllStatement>(sql, 5000) { + return new QueryAllStatement>(sql, 5000) { @Override - public List processResults(ResultSet set) throws SQLException { - List list = new ArrayList<>(); + public List processResults(ResultSet set) throws SQLException { + List list = new ArrayList<>(); while (set.next()) { String user = set.getString(SecurityTable.USERNAME); String saltedPassHash = set.getString(SecurityTable.SALT_PASSWORD_HASH); int permissionLevel = set.getInt(SecurityTable.PERMISSION_LEVEL); - WebUser_old info = new WebUser_old(user, saltedPassHash, permissionLevel); + WebUser info = new WebUser(user, saltedPassHash, permissionLevel); list.add(info); } return list; @@ -66,21 +66,21 @@ public class WebUserQueries { }; } - public static Query> fetchWebUser(String called) { + public static Query> fetchWebUser(String called) { String sql = SELECT + '*' + FROM + SecurityTable.TABLE_NAME + WHERE + SecurityTable.USERNAME + "=? LIMIT 1"; - return new QueryStatement>(sql) { + return new QueryStatement>(sql) { @Override public void prepare(PreparedStatement statement) throws SQLException { statement.setString(1, called); } @Override - public Optional processResults(ResultSet set) throws SQLException { + public Optional processResults(ResultSet set) throws SQLException { if (set.next()) { String saltedPassHash = set.getString(SecurityTable.SALT_PASSWORD_HASH); int permissionLevel = set.getInt(SecurityTable.PERMISSION_LEVEL); - return Optional.of(new WebUser_old(called, saltedPassHash, permissionLevel)); + return Optional.of(new WebUser(called, saltedPassHash, permissionLevel)); } return Optional.empty(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java index 6a762818d..4dd004a37 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.storage.database.transactions.commands; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.storage.database.sql.tables.SecurityTable; import com.djrapitops.plan.storage.database.transactions.ExecStatement; import com.djrapitops.plan.storage.database.transactions.Transaction; @@ -25,15 +25,15 @@ import java.sql.PreparedStatement; import java.sql.SQLException; /** - * Transaction to save a new Plan {@link WebUser_old} to the database. + * Transaction to save a new Plan {@link WebUser} to the database. * * @author Rsl1122 */ public class RegisterWebUserTransaction extends Transaction { - private final WebUser_old webUser; + private final WebUser webUser; - public RegisterWebUserTransaction(WebUser_old webUser) { + public RegisterWebUserTransaction(WebUser webUser) { this.webUser = webUser; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java index e5c984b3f..d2ee58f72 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RemoveWebUserTransaction.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.storage.database.transactions.commands; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.storage.database.sql.tables.SecurityTable; import com.djrapitops.plan.storage.database.transactions.ExecStatement; import com.djrapitops.plan.storage.database.transactions.Transaction; @@ -28,7 +28,7 @@ import static com.djrapitops.plan.storage.database.sql.building.Sql.DELETE_FROM; import static com.djrapitops.plan.storage.database.sql.building.Sql.WHERE; /** - * Transaction to remove a Plan {@link WebUser_old} from the database. + * Transaction to remove a Plan {@link WebUser} from the database. * * @author Rsl1122 */ diff --git a/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java b/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java index 8d6e009d8..856274b15 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/WebUserComparator.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.utilities.comparators; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import java.util.Comparator; @@ -25,10 +25,10 @@ import java.util.Comparator; * * @author Rsl1122 */ -public class WebUserComparator implements Comparator { +public class WebUserComparator implements Comparator { @Override - public int compare(WebUser_old o1, WebUser_old o2) { + public int compare(WebUser o1, WebUser o2) { return Integer.compare(o2.getPermLevel(), o1.getPermLevel()); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java index fc2eb2993..b32398329 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/JksHttpsServerTest.java @@ -17,7 +17,7 @@ package com.djrapitops.plan.delivery.webserver; import com.djrapitops.plan.PlanSystem; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.settings.config.PlanConfig; import com.djrapitops.plan.settings.config.paths.WebserverSettings; import com.djrapitops.plan.storage.database.transactions.commands.RegisterWebUserTransaction; @@ -61,7 +61,7 @@ class JksHttpsServerTest implements HttpsServerTest { system.enable(); - WebUser_old webUser = new WebUser_old("test", PassEncryptUtil.createHash("testPass"), 0); + WebUser webUser = new WebUser("test", PassEncryptUtil.createHash("testPass"), 0); system.getDatabaseSystem().getDatabase().executeTransaction(new RegisterWebUserTransaction(webUser)); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java index 2f935a3ac..3ec52abdb 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/Pkcs12HttpsServerTest.java @@ -17,7 +17,7 @@ package com.djrapitops.plan.delivery.webserver; import com.djrapitops.plan.PlanSystem; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.settings.config.PlanConfig; import com.djrapitops.plan.settings.config.changes.ConfigUpdater; import com.djrapitops.plan.settings.config.paths.WebserverSettings; @@ -66,7 +66,7 @@ class Pkcs12HttpsServerTest implements HttpsServerTest { system.enable(); - WebUser_old webUser = new WebUser_old("test", PassEncryptUtil.createHash("testPass"), 0); + WebUser webUser = new WebUser("test", PassEncryptUtil.createHash("testPass"), 0); system.getDatabaseSystem().getDatabase().executeTransaction(new RegisterWebUserTransaction(webUser)); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java index 8b5bf7965..30d22782f 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/cache/JSONCacheTest.java @@ -16,7 +16,6 @@ */ package com.djrapitops.plan.delivery.webserver.cache; -import com.djrapitops.plan.delivery.webserver.response.data.JSONResponse; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.platform.runner.JUnitPlatform; @@ -47,7 +46,7 @@ class JSONCacheTest { @Test void cachedByDataIDName() { - JSONCache.getOrCache(TEST_ID, () -> new JSONResponse(CACHED)); + JSONCache.getOrCache(TEST_ID, () -> CACHED); assertContains(); } @@ -77,7 +76,7 @@ class JSONCacheTest { @Test void cachedByServerUUID() { - JSONCache.getOrCache(TEST_ID, TEST_UUID, () -> new JSONResponse(CACHED)); + JSONCache.getOrCache(TEST_ID, TEST_UUID, () -> CACHED); assertContainsUUID(); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java b/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java index 0fbb29415..900b0cb4b 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/storage/database/DatabaseTest.java @@ -21,7 +21,7 @@ import com.djrapitops.plan.data.element.TableContainer; import com.djrapitops.plan.delivery.domain.DateObj; import com.djrapitops.plan.delivery.domain.Nickname; import com.djrapitops.plan.delivery.domain.TablePlayer; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.domain.container.PlayerContainer; import com.djrapitops.plan.delivery.domain.container.ServerContainer; import com.djrapitops.plan.delivery.domain.keys.Key; @@ -208,11 +208,11 @@ public interface DatabaseTest { @Test default void webUserIsRegistered() { - WebUser_old expected = new WebUser_old(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); + WebUser expected = new WebUser(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); db().executeTransaction(new RegisterWebUserTransaction(expected)); commitTest(); - Optional found = db().query(WebUserQueries.fetchWebUser(TestConstants.PLAYER_ONE_NAME)); + Optional found = db().query(WebUserQueries.fetchWebUser(TestConstants.PLAYER_ONE_NAME)); assertTrue(found.isPresent()); assertEquals(expected, found.get()); } @@ -500,7 +500,7 @@ public interface DatabaseTest { Collections.singletonList(new DateObj<>(System.currentTimeMillis(), r.nextInt()))) ); - WebUser_old webUser = new WebUser_old(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); + WebUser webUser = new WebUser(TestConstants.PLAYER_ONE_NAME, "RandomGarbageBlah", 0); db().executeTransaction(new RegisterWebUserTransaction(webUser)); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java b/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java index 4505f07b0..df7d8a6ef 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/utilities/comparators/ComparatorTest.java @@ -16,7 +16,7 @@ */ package com.djrapitops.plan.utilities.comparators; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.domain.keys.SessionKeys; import com.djrapitops.plan.delivery.rendering.json.graphs.line.Point; import com.djrapitops.plan.gathering.domain.GeoInfo; @@ -83,14 +83,14 @@ class ComparatorTest { @Test void webUserComparator() throws PassEncryptUtil.CannotPerformOperationException { - List webUsers = RandomData.randomWebUsers(); + List webUsers = RandomData.randomWebUsers(); - List expected = webUsers.stream().map(WebUser_old::getPermLevel) + List expected = webUsers.stream().map(WebUser::getPermLevel) .sorted(Integer::compare).collect(Collectors.toList()); Collections.reverse(expected); webUsers.sort(new WebUserComparator()); - List result = Lists.map(webUsers, WebUser_old::getPermLevel); + List result = Lists.map(webUsers, WebUser::getPermLevel); assertEquals(expected, result); } diff --git a/Plan/common/src/test/java/utilities/RandomData.java b/Plan/common/src/test/java/utilities/RandomData.java index fa20db9af..8be20eca1 100644 --- a/Plan/common/src/test/java/utilities/RandomData.java +++ b/Plan/common/src/test/java/utilities/RandomData.java @@ -16,19 +16,17 @@ */ package utilities; -import com.djrapitops.plan.delivery.domain.WebUser_old; +import com.djrapitops.plan.delivery.domain.WebUser; import com.djrapitops.plan.delivery.rendering.json.graphs.line.Point; import com.djrapitops.plan.gathering.domain.GeoInfo; import com.djrapitops.plan.gathering.domain.Session; import com.djrapitops.plan.gathering.domain.TPS; -import com.djrapitops.plan.gathering.domain.UserInfo; import com.djrapitops.plan.utilities.PassEncryptUtil; import org.apache.commons.lang3.RandomStringUtils; import java.util.ArrayList; import java.util.List; import java.util.Random; -import java.util.UUID; import java.util.concurrent.ThreadLocalRandom; public class RandomData { @@ -51,10 +49,10 @@ public class RandomData { return RandomStringUtils.randomAlphanumeric(size); } - public static List randomWebUsers() throws PassEncryptUtil.CannotPerformOperationException { - List test = new ArrayList<>(); + public static List randomWebUsers() throws PassEncryptUtil.CannotPerformOperationException { + List test = new ArrayList<>(); for (int i = 0; i < 20; i++) { - test.add(new WebUser_old(randomString(5), PassEncryptUtil.createHash(randomString(7)), r.nextInt())); + test.add(new WebUser(randomString(5), PassEncryptUtil.createHash(randomString(7)), r.nextInt())); } return test; } @@ -89,20 +87,6 @@ public class RandomData { return test; } - public static T randomEnum(Class clazz) { - int x = r.nextInt(clazz.getEnumConstants().length); - return clazz.getEnumConstants()[x]; - } - - public static List randomUserData() { - List test = new ArrayList<>(); - for (int i = 0; i < 20; i++) { - UserInfo info = new UserInfo(UUID.randomUUID(), UUID.randomUUID(), r.nextLong(), r.nextBoolean(), r.nextBoolean()); - test.add(info); - } - return test; - } - public static List randomGeoInfo() { List test = new ArrayList<>(); for (int i = 0; i < 20; i++) {