mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2025-02-20 22:31:40 +01:00
[Debt] Removed Theme replaceColors method.
All static methods removed now from Theme. Delegated Theme and Locale html modifications to Response#send method. Affected issues: none
This commit is contained in:
parent
35be0a2afb
commit
54e3528a59
@ -6,7 +6,6 @@ package com.djrapitops.plan.system.settings.theme;
|
|||||||
|
|
||||||
import com.djrapitops.plan.api.exceptions.EnableException;
|
import com.djrapitops.plan.api.exceptions.EnableException;
|
||||||
import com.djrapitops.plan.system.SubSystem;
|
import com.djrapitops.plan.system.SubSystem;
|
||||||
import com.djrapitops.plan.system.settings.config.ConfigSystem;
|
|
||||||
import com.djrapitops.plugin.logging.console.PluginLogger;
|
import com.djrapitops.plugin.logging.console.PluginLogger;
|
||||||
import com.djrapitops.plugin.utilities.Verify;
|
import com.djrapitops.plugin.utilities.Verify;
|
||||||
|
|
||||||
@ -35,13 +34,6 @@ public class Theme implements SubSystem {
|
|||||||
this.logger = logger;
|
this.logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static Theme getInstance() {
|
|
||||||
Theme themeSystem = ConfigSystem.getInstance().getThemeSystem();
|
|
||||||
Verify.nullCheck(themeSystem, () -> new IllegalStateException("Theme System has not been initialized."));
|
|
||||||
return themeSystem;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getValue(ThemeVal variable) {
|
public String getValue(ThemeVal variable) {
|
||||||
try {
|
try {
|
||||||
return getThemeValue(variable);
|
return getThemeValue(variable);
|
||||||
@ -50,11 +42,6 @@ public class Theme implements SubSystem {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static String replaceColors(String resourceString) {
|
|
||||||
return getInstance().replaceThemeColors(resourceString);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void enable() throws EnableException {
|
public void enable() throws EnableException {
|
||||||
try {
|
try {
|
||||||
@ -112,7 +99,7 @@ public class Theme implements SubSystem {
|
|||||||
replaced = replaced.replace(defaultValue, value);
|
replaced = replaced.replace(defaultValue, value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return replaced;
|
return replaced.replace("${defaultTheme}", getValue(ThemeVal.THEME_DEFAULT));
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getThemeValue(ThemeVal color) {
|
private String getThemeValue(ThemeVal color) {
|
||||||
|
@ -8,6 +8,7 @@ import com.djrapitops.plan.system.database.databases.Database;
|
|||||||
import com.djrapitops.plan.system.locale.Locale;
|
import com.djrapitops.plan.system.locale.Locale;
|
||||||
import com.djrapitops.plan.system.settings.Settings;
|
import com.djrapitops.plan.system.settings.Settings;
|
||||||
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
||||||
|
import com.djrapitops.plan.system.settings.theme.Theme;
|
||||||
import com.djrapitops.plan.system.webserver.auth.Authentication;
|
import com.djrapitops.plan.system.webserver.auth.Authentication;
|
||||||
import com.djrapitops.plan.system.webserver.auth.BasicAuthentication;
|
import com.djrapitops.plan.system.webserver.auth.BasicAuthentication;
|
||||||
import com.djrapitops.plan.system.webserver.response.PromptAuthorizationResponse;
|
import com.djrapitops.plan.system.webserver.response.PromptAuthorizationResponse;
|
||||||
@ -36,6 +37,7 @@ public class RequestHandler implements HttpHandler {
|
|||||||
|
|
||||||
private final Locale locale;
|
private final Locale locale;
|
||||||
private final PlanConfig config;
|
private final PlanConfig config;
|
||||||
|
private final Theme theme;
|
||||||
private final Database database;
|
private final Database database;
|
||||||
private final ResponseHandler responseHandler;
|
private final ResponseHandler responseHandler;
|
||||||
private final Timings timings;
|
private final Timings timings;
|
||||||
@ -46,6 +48,7 @@ public class RequestHandler implements HttpHandler {
|
|||||||
RequestHandler(
|
RequestHandler(
|
||||||
Locale locale,
|
Locale locale,
|
||||||
PlanConfig config,
|
PlanConfig config,
|
||||||
|
Theme theme,
|
||||||
Database database,
|
Database database,
|
||||||
ResponseHandler responseHandler,
|
ResponseHandler responseHandler,
|
||||||
Timings timings,
|
Timings timings,
|
||||||
@ -54,6 +57,7 @@ public class RequestHandler implements HttpHandler {
|
|||||||
) {
|
) {
|
||||||
this.locale = locale;
|
this.locale = locale;
|
||||||
this.config = config;
|
this.config = config;
|
||||||
|
this.theme = theme;
|
||||||
this.database = database;
|
this.database = database;
|
||||||
this.responseHandler = responseHandler;
|
this.responseHandler = responseHandler;
|
||||||
this.timings = timings;
|
this.timings = timings;
|
||||||
@ -81,7 +85,7 @@ public class RequestHandler implements HttpHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
response.setResponseHeaders(responseHeaders);
|
response.setResponseHeaders(responseHeaders);
|
||||||
response.send(exchange, locale);
|
response.send(exchange, locale, theme);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
if (inDevMode) {
|
if (inDevMode) {
|
||||||
logger.warn("THIS ERROR IS ONLY LOGGED IN DEV MODE:");
|
logger.warn("THIS ERROR IS ONLY LOGGED IN DEV MODE:");
|
||||||
|
@ -1,16 +1,14 @@
|
|||||||
package com.djrapitops.plan.system.webserver.response;
|
package com.djrapitops.plan.system.webserver.response;
|
||||||
|
|
||||||
import com.djrapitops.plan.system.settings.theme.Theme;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Rsl1122
|
* @author Rsl1122
|
||||||
* @since 4.0.0
|
* @since 4.0.0
|
||||||
*/
|
*/
|
||||||
public class CSSResponse extends FileResponse {
|
public class CSSResponse extends FileResponse {
|
||||||
|
|
||||||
public CSSResponse(String fileName, Theme theme) {
|
public CSSResponse(String fileName) {
|
||||||
super(format(fileName));
|
super(format(fileName));
|
||||||
super.setType(ResponseType.CSS);
|
super.setType(ResponseType.CSS);
|
||||||
setContent(theme.replaceThemeColors(getContent()));
|
setContent(getContent());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,33 +1,13 @@
|
|||||||
package com.djrapitops.plan.system.webserver.response;
|
package com.djrapitops.plan.system.webserver.response;
|
||||||
|
|
||||||
import com.djrapitops.plan.system.locale.Locale;
|
|
||||||
import com.djrapitops.plan.system.settings.theme.Theme;
|
|
||||||
import com.djrapitops.plan.system.settings.theme.ThemeVal;
|
|
||||||
import org.apache.commons.text.StringSubstitutor;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Rsl1122
|
* @author Rsl1122
|
||||||
* @since 3.5.2
|
* @since 3.5.2
|
||||||
*/
|
*/
|
||||||
public class JavaScriptResponse extends FileResponse {
|
public class JavaScriptResponse extends FileResponse {
|
||||||
|
|
||||||
private final Locale locale;
|
JavaScriptResponse(String fileName) {
|
||||||
|
|
||||||
JavaScriptResponse(String fileName, Locale locale, Theme theme) {
|
|
||||||
super(format(fileName));
|
super(format(fileName));
|
||||||
this.locale = locale;
|
|
||||||
|
|
||||||
super.setType(ResponseType.JAVASCRIPT);
|
super.setType(ResponseType.JAVASCRIPT);
|
||||||
Map<String, String> replace = new HashMap<>();
|
|
||||||
replace.put("defaultTheme", theme.getValue(ThemeVal.THEME_DEFAULT));
|
|
||||||
setContent(StringSubstitutor.replace(theme.replaceThemeColors(getContent()), replace));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getContent() {
|
|
||||||
return locale.replaceMatchingLanguage(super.getContent());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.djrapitops.plan.system.webserver.response;
|
package com.djrapitops.plan.system.webserver.response;
|
||||||
|
|
||||||
import com.djrapitops.plan.system.locale.Locale;
|
import com.djrapitops.plan.system.locale.Locale;
|
||||||
|
import com.djrapitops.plan.system.settings.theme.Theme;
|
||||||
import com.sun.net.httpserver.HttpExchange;
|
import com.sun.net.httpserver.HttpExchange;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -17,8 +18,8 @@ public class RedirectResponse extends Response {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void send(HttpExchange exchange, Locale locale) throws IOException {
|
public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException {
|
||||||
responseHeaders.set("Location", getContent());
|
responseHeaders.set("Location", getContent());
|
||||||
super.send(exchange, locale);
|
super.send(exchange, locale, theme);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.djrapitops.plan.system.webserver.response;
|
package com.djrapitops.plan.system.webserver.response;
|
||||||
|
|
||||||
import com.djrapitops.plan.system.locale.Locale;
|
import com.djrapitops.plan.system.locale.Locale;
|
||||||
|
import com.djrapitops.plan.system.settings.theme.Theme;
|
||||||
import com.sun.net.httpserver.Headers;
|
import com.sun.net.httpserver.Headers;
|
||||||
import com.sun.net.httpserver.HttpExchange;
|
import com.sun.net.httpserver.HttpExchange;
|
||||||
|
|
||||||
@ -83,12 +84,16 @@ public abstract class Response {
|
|||||||
this.responseHeaders = responseHeaders;
|
this.responseHeaders = responseHeaders;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void send(HttpExchange exchange, Locale locale) throws IOException {
|
public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException {
|
||||||
responseHeaders.set("Content-Type", type);
|
responseHeaders.set("Content-Type", type);
|
||||||
responseHeaders.set("Content-Encoding", "gzip");
|
responseHeaders.set("Content-Encoding", "gzip");
|
||||||
exchange.sendResponseHeaders(getCode(), 0);
|
exchange.sendResponseHeaders(getCode(), 0);
|
||||||
|
|
||||||
String sentContent = getContent();
|
String sentContent = getContent();
|
||||||
|
if (!(this instanceof JavaScriptResponse)) {
|
||||||
|
sentContent = locale.replaceMatchingLanguage(sentContent);
|
||||||
|
}
|
||||||
|
sentContent = theme.replaceThemeColors(sentContent);
|
||||||
|
|
||||||
try (GZIPOutputStream out = new GZIPOutputStream(exchange.getResponseBody());
|
try (GZIPOutputStream out = new GZIPOutputStream(exchange.getResponseBody());
|
||||||
ByteArrayInputStream bis = new ByteArrayInputStream(sentContent.getBytes(StandardCharsets.UTF_8))) {
|
ByteArrayInputStream bis = new ByteArrayInputStream(sentContent.getBytes(StandardCharsets.UTF_8))) {
|
||||||
|
@ -4,7 +4,6 @@ import com.djrapitops.plan.api.exceptions.ParseException;
|
|||||||
import com.djrapitops.plan.system.database.databases.Database;
|
import com.djrapitops.plan.system.database.databases.Database;
|
||||||
import com.djrapitops.plan.system.locale.Locale;
|
import com.djrapitops.plan.system.locale.Locale;
|
||||||
import com.djrapitops.plan.system.locale.lang.ErrorPageLang;
|
import com.djrapitops.plan.system.locale.lang.ErrorPageLang;
|
||||||
import com.djrapitops.plan.system.settings.theme.Theme;
|
|
||||||
import com.djrapitops.plan.system.webserver.response.errors.ErrorResponse;
|
import com.djrapitops.plan.system.webserver.response.errors.ErrorResponse;
|
||||||
import com.djrapitops.plan.system.webserver.response.errors.InternalErrorResponse;
|
import com.djrapitops.plan.system.webserver.response.errors.InternalErrorResponse;
|
||||||
import com.djrapitops.plan.system.webserver.response.errors.NotFoundResponse;
|
import com.djrapitops.plan.system.webserver.response.errors.NotFoundResponse;
|
||||||
@ -25,19 +24,16 @@ public class ResponseFactory {
|
|||||||
|
|
||||||
private final PageFactory pageFactory;
|
private final PageFactory pageFactory;
|
||||||
private final Locale locale;
|
private final Locale locale;
|
||||||
private final Theme theme;
|
|
||||||
private final Database database;
|
private final Database database;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ResponseFactory(
|
public ResponseFactory(
|
||||||
PageFactory pageFactory,
|
PageFactory pageFactory,
|
||||||
Locale locale,
|
Locale locale,
|
||||||
Theme theme,
|
|
||||||
Database database
|
Database database
|
||||||
) {
|
) {
|
||||||
this.pageFactory = pageFactory;
|
this.pageFactory = pageFactory;
|
||||||
this.locale = locale;
|
this.locale = locale;
|
||||||
this.theme = theme;
|
|
||||||
this.database = database;
|
this.database = database;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,11 +66,11 @@ public class ResponseFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Response javaScriptResponse(String fileName) {
|
public Response javaScriptResponse(String fileName) {
|
||||||
return new JavaScriptResponse(fileName, locale, theme);
|
return new JavaScriptResponse(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Response cssResponse(String fileName) {
|
public Response cssResponse(String fileName) {
|
||||||
return new CSSResponse(fileName, theme);
|
return new CSSResponse(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Response redirectResponse(String location) {
|
public Response redirectResponse(String location) {
|
||||||
|
@ -4,11 +4,11 @@
|
|||||||
*/
|
*/
|
||||||
package com.djrapitops.plan.system.webserver.response.errors;
|
package com.djrapitops.plan.system.webserver.response.errors;
|
||||||
|
|
||||||
import com.djrapitops.plan.system.settings.theme.Theme;
|
|
||||||
import com.djrapitops.plan.system.webserver.response.Response;
|
import com.djrapitops.plan.system.webserver.response.Response;
|
||||||
import com.djrapitops.plan.utilities.MiscUtils;
|
import com.djrapitops.plan.utilities.MiscUtils;
|
||||||
import com.djrapitops.plan.utilities.file.FileUtil;
|
import com.djrapitops.plan.utilities.file.FileUtil;
|
||||||
import com.djrapitops.plugin.api.utility.log.Log;
|
import com.djrapitops.plugin.logging.L;
|
||||||
|
import com.djrapitops.plugin.logging.error.ErrorHandler;
|
||||||
import org.apache.commons.text.StringSubstitutor;
|
import org.apache.commons.text.StringSubstitutor;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -25,11 +25,14 @@ public class ErrorResponse extends Response {
|
|||||||
private String title;
|
private String title;
|
||||||
private String paragraph;
|
private String paragraph;
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
private ErrorHandler errorHandler;
|
||||||
|
|
||||||
public ErrorResponse() {
|
public ErrorResponse() {
|
||||||
try {
|
try {
|
||||||
setContent(Theme.replaceColors(FileUtil.getStringFromResource("web/error.html")));
|
setContent(FileUtil.getStringFromResource("web/error.html"));
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Log.toLog(this.getClass(), e);
|
errorHandler.log(L.WARN, this.getClass(), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.djrapitops.plan.system.webserver.response.pages;
|
package com.djrapitops.plan.system.webserver.response.pages;
|
||||||
|
|
||||||
import com.djrapitops.plan.system.settings.theme.Theme;
|
|
||||||
import com.djrapitops.plan.system.webserver.cache.PageId;
|
import com.djrapitops.plan.system.webserver.cache.PageId;
|
||||||
import com.djrapitops.plan.system.webserver.cache.ResponseCache;
|
import com.djrapitops.plan.system.webserver.cache.ResponseCache;
|
||||||
import com.djrapitops.plan.system.webserver.response.Response;
|
import com.djrapitops.plan.system.webserver.response.Response;
|
||||||
@ -22,7 +21,7 @@ public class InspectPageResponse extends Response {
|
|||||||
|
|
||||||
public InspectPageResponse(UUID uuid, String html) {
|
public InspectPageResponse(UUID uuid, String html) {
|
||||||
super.setHeader("HTTP/1.1 200 OK");
|
super.setHeader("HTTP/1.1 200 OK");
|
||||||
super.setContent(Theme.replaceColors(html));
|
super.setContent(html);
|
||||||
this.uuid = uuid;
|
this.uuid = uuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -103,6 +103,7 @@ public class MiscUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public static String getPlanVersion() {
|
public static String getPlanVersion() {
|
||||||
return PlanPlugin.getInstance().getVersion();
|
return PlanPlugin.getInstance().getVersion();
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@ import com.djrapitops.plan.system.database.databases.Database;
|
|||||||
import com.djrapitops.plan.system.info.connection.ConnectionSystem;
|
import com.djrapitops.plan.system.info.connection.ConnectionSystem;
|
||||||
import com.djrapitops.plan.system.info.server.ServerInfo;
|
import com.djrapitops.plan.system.info.server.ServerInfo;
|
||||||
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
||||||
|
import com.djrapitops.plan.system.settings.theme.Theme;
|
||||||
import com.djrapitops.plan.utilities.formatting.Formatters;
|
import com.djrapitops.plan.utilities.formatting.Formatters;
|
||||||
import com.djrapitops.plan.utilities.html.graphs.Graphs;
|
import com.djrapitops.plan.utilities.html.graphs.Graphs;
|
||||||
import com.djrapitops.plan.utilities.html.tables.HtmlTables;
|
import com.djrapitops.plan.utilities.html.tables.HtmlTables;
|
||||||
@ -31,6 +32,7 @@ public class PageFactory {
|
|||||||
|
|
||||||
private final String version;
|
private final String version;
|
||||||
private final Lazy<PlanConfig> config;
|
private final Lazy<PlanConfig> config;
|
||||||
|
private final Lazy<Theme> theme;
|
||||||
private final Lazy<Database> database;
|
private final Lazy<Database> database;
|
||||||
private final Lazy<ServerInfo> serverInfo;
|
private final Lazy<ServerInfo> serverInfo;
|
||||||
private final Lazy<ConnectionSystem> connectionSystem;
|
private final Lazy<ConnectionSystem> connectionSystem;
|
||||||
@ -45,6 +47,7 @@ public class PageFactory {
|
|||||||
public PageFactory(
|
public PageFactory(
|
||||||
@Named("currentVersion") String version,
|
@Named("currentVersion") String version,
|
||||||
Lazy<PlanConfig> config,
|
Lazy<PlanConfig> config,
|
||||||
|
Lazy<Theme> theme,
|
||||||
Lazy<Database> database,
|
Lazy<Database> database,
|
||||||
Lazy<ServerInfo> serverInfo,
|
Lazy<ServerInfo> serverInfo,
|
||||||
Lazy<ConnectionSystem> connectionSystem,
|
Lazy<ConnectionSystem> connectionSystem,
|
||||||
@ -57,6 +60,7 @@ public class PageFactory {
|
|||||||
) {
|
) {
|
||||||
this.version = version;
|
this.version = version;
|
||||||
this.config = config;
|
this.config = config;
|
||||||
|
this.theme = theme;
|
||||||
this.database = database;
|
this.database = database;
|
||||||
this.serverInfo = serverInfo;
|
this.serverInfo = serverInfo;
|
||||||
this.connectionSystem = connectionSystem;
|
this.connectionSystem = connectionSystem;
|
||||||
@ -90,7 +94,7 @@ public class PageFactory {
|
|||||||
Map<UUID, String> serverNames = database.get().fetch().getServerNames();
|
Map<UUID, String> serverNames = database.get().fetch().getServerNames();
|
||||||
return new InspectPage(
|
return new InspectPage(
|
||||||
player, serverNames,
|
player, serverNames,
|
||||||
config.get(), theme, graphs.get(), tables.get(), formatters.get(), serverInfo.get(), timings.get()
|
config.get(), theme.get(), graphs.get(), tables.get(), formatters.get(), serverInfo.get(), timings.get()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user