From aea5600d8e1271ab62b8e40302eb152140537d9e Mon Sep 17 00:00:00 2001 From: Ilya Date: Mon, 26 Oct 2020 22:40:28 +0300 Subject: [PATCH] 1.S3 release --- .gitignore | 3 +++ build.gradle | 6 ++++++ gradle.properties | 2 +- .../java/ru/redguy/webinfomod/langs/LangFile.java | 3 ++- src/main/java/ru/redguy/webinfomod/langs/Links.java | 12 +++++++++--- .../ru/redguy/webinfomod/langs/RootCategory.java | 10 +++------- .../java/ru/redguy/webinfomod/langs/Titles.java | 12 +++++++++--- src/main/java/ru/redguy/webinfomod/langs/Words.java | 13 ++++++++----- src/main/java/ru/redguy/webinfomod/pages/Index.java | 7 ++++--- .../ru/redguy/webinfomod/pages/json/MainData.java | 4 +++- src/main/resources/resources/web/pages/Index.html | 1 - 11 files changed, 48 insertions(+), 25 deletions(-) diff --git a/.gitignore b/.gitignore index a1c2a23..0e95d47 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,6 @@ # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* + +.gradle +build \ No newline at end of file diff --git a/build.gradle b/build.gradle index 1550064..7bae964 100644 --- a/build.gradle +++ b/build.gradle @@ -8,6 +8,12 @@ version = pluginVersion sourceCompatibility = '1.8' targetCompatibility = '1.8' +compileJava.options.encoding = 'UTF-8' + +jar { + from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } +} + dependencies { compileOnly 'org.spongepowered:spongeapi:7.1.0' annotationProcessor 'org.spongepowered:spongeapi:7.1.0' diff --git a/gradle.properties b/gradle.properties index c7b8c2b..bba3aff 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ pluginGroup=ru.redguy pluginId=webinfomod -pluginVersion=1.S2 +pluginVersion=1.S3 diff --git a/src/main/java/ru/redguy/webinfomod/langs/LangFile.java b/src/main/java/ru/redguy/webinfomod/langs/LangFile.java index 00d91e4..18707a2 100644 --- a/src/main/java/ru/redguy/webinfomod/langs/LangFile.java +++ b/src/main/java/ru/redguy/webinfomod/langs/LangFile.java @@ -7,6 +7,7 @@ import ru.redguy.webinfomod.langs.enums.RootCategories; import org.apache.commons.io.IOUtils; import java.io.*; +import java.nio.charset.StandardCharsets; public class LangFile { private JsonObject jsonObject; @@ -16,7 +17,7 @@ public class LangFile { IOUtils.toString( LangFile.class.getResourceAsStream( "/resources/langs/"+config.getString("lang")+".json" - ))); + ), StandardCharsets.UTF_8)); jsonObject = (JsonObject) obj; } diff --git a/src/main/java/ru/redguy/webinfomod/langs/Links.java b/src/main/java/ru/redguy/webinfomod/langs/Links.java index befba4d..df661ed 100644 --- a/src/main/java/ru/redguy/webinfomod/langs/Links.java +++ b/src/main/java/ru/redguy/webinfomod/langs/Links.java @@ -2,7 +2,7 @@ package ru.redguy.webinfomod.langs; import com.google.gson.JsonObject; -public class Links extends RootCategory { +public class Links implements RootCategory { JsonObject jsonObject; @@ -10,7 +10,13 @@ public class Links extends RootCategory { this.jsonObject = jsonObject; } - public String getString(ru.redguy.webinfomod.langs.enums.Links links) { - return jsonObject.get(links.getName()).getAsString(); + @Override + public String getString(Object object) { + return jsonObject.get(((ru.redguy.webinfomod.langs.enums.Links)object).getName()).getAsString(); + } + + @Override + public Category getCategory(Object object) { + return null; } } diff --git a/src/main/java/ru/redguy/webinfomod/langs/RootCategory.java b/src/main/java/ru/redguy/webinfomod/langs/RootCategory.java index fd3ba89..bc1aaec 100644 --- a/src/main/java/ru/redguy/webinfomod/langs/RootCategory.java +++ b/src/main/java/ru/redguy/webinfomod/langs/RootCategory.java @@ -1,11 +1,7 @@ package ru.redguy.webinfomod.langs; -import ru.redguy.webinfomod.langs.langcaterories.Difficulty; +public interface RootCategory { + public String getString(Object object); -public class RootCategory { - public String getString(Object non) {return null;} - - public Category getCategory(Object non) { - return null; - } + public Category getCategory(Object object); } diff --git a/src/main/java/ru/redguy/webinfomod/langs/Titles.java b/src/main/java/ru/redguy/webinfomod/langs/Titles.java index fb6d3b8..22083f9 100644 --- a/src/main/java/ru/redguy/webinfomod/langs/Titles.java +++ b/src/main/java/ru/redguy/webinfomod/langs/Titles.java @@ -2,7 +2,7 @@ package ru.redguy.webinfomod.langs; import com.google.gson.JsonObject; -public class Titles extends RootCategory { +public class Titles implements RootCategory { JsonObject jsonObject; @@ -10,7 +10,13 @@ public class Titles extends RootCategory { this.jsonObject = jsonObject; } - public String getString(ru.redguy.webinfomod.langs.enums.Titles titles) { - return jsonObject.get(titles.getName()).getAsString(); + @Override + public String getString(Object object) { + return jsonObject.get(((ru.redguy.webinfomod.langs.enums.Titles)object).getName()).getAsString(); + } + + @Override + public Category getCategory(Object object) { + return null; } } diff --git a/src/main/java/ru/redguy/webinfomod/langs/Words.java b/src/main/java/ru/redguy/webinfomod/langs/Words.java index 778ac9e..1c08ec4 100644 --- a/src/main/java/ru/redguy/webinfomod/langs/Words.java +++ b/src/main/java/ru/redguy/webinfomod/langs/Words.java @@ -1,21 +1,24 @@ package ru.redguy.webinfomod.langs; import com.google.gson.JsonObject; +import com.google.inject.internal.cglib.core.$ReflectUtils; import ru.redguy.webinfomod.langs.langcaterories.Difficulty; -public class Words extends RootCategory { +public class Words implements RootCategory { JsonObject jsonObject; public Words(JsonObject jsonObject) { this.jsonObject = jsonObject; } - public String getString(ru.redguy.webinfomod.langs.enums.Links links) { - return jsonObject.get(links.getName()).getAsString(); + @Override + public String getString(Object object) { + return jsonObject.get(((ru.redguy.webinfomod.langs.enums.Words)object).getName()).getAsString(); } - public Category getCategory(ru.redguy.webinfomod.langs.enums.Words words) { - switch (words) { + @Override + public Category getCategory(Object object) { + switch (((ru.redguy.webinfomod.langs.enums.Words)object)) { case difficulty: return new Difficulty(jsonObject.getAsJsonObject("Difficulty")); } diff --git a/src/main/java/ru/redguy/webinfomod/pages/Index.java b/src/main/java/ru/redguy/webinfomod/pages/Index.java index 18281a7..6bce885 100644 --- a/src/main/java/ru/redguy/webinfomod/pages/Index.java +++ b/src/main/java/ru/redguy/webinfomod/pages/Index.java @@ -10,18 +10,19 @@ import ru.redguy.webinfomod.utils.WebUtils; import java.io.IOException; import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; @WebPage(url = "/") public class Index implements IWebPage { public NanoHTTPD.Response getPage(Config config, LangFile langFile, NanoHTTPD.IHTTPSession session) throws IOException { String path = "/resources/web/pages/Index.html"; - String page = IOUtils.toString(WebServer.class.getResourceAsStream(path), Charset.defaultCharset()); + String page = IOUtils.toString(WebServer.class.getResourceAsStream(path), StandardCharsets.UTF_8); WebUtils.CookieHandler ch = new WebUtils.CookieHandler(session.getHeaders()); if(ch.read("session") == null) { page = page.replace("",""+langFile.getCategory(RootCategories.Links).getString(Links.login)+""); } else { - page = page.replace("",""+langFile.getCategory(RootCategories.Links).getString(Links.logout)+"" + - ""+langFile.getCategory(RootCategories.Links).getString(Links.controlPanel)); + page = page.replace("",""+langFile.getCategory(RootCategories.Links).getString(Links.logout)+"
" + + ""+langFile.getCategory(RootCategories.Links).getString(Links.controlPanel)+""); } return NanoHTTPD.newFixedLengthResponse(page); } diff --git a/src/main/java/ru/redguy/webinfomod/pages/json/MainData.java b/src/main/java/ru/redguy/webinfomod/pages/json/MainData.java index ff67abe..64319de 100644 --- a/src/main/java/ru/redguy/webinfomod/pages/json/MainData.java +++ b/src/main/java/ru/redguy/webinfomod/pages/json/MainData.java @@ -18,7 +18,9 @@ public class MainData implements IWebPage { for (String s : DataUtils.getPlayersList()) { players.append(s).append(","); } - players.deleteCharAt(players.length()-1); + if(players.length() > 0) { + players.deleteCharAt(players.length() - 1); + } jsonObject.addProperty("Players",players.toString()); return NanoHTTPD.newFixedLengthResponse(jsonObject.toString()); } diff --git a/src/main/resources/resources/web/pages/Index.html b/src/main/resources/resources/web/pages/Index.html index b26b504..583cfc1 100644 --- a/src/main/resources/resources/web/pages/Index.html +++ b/src/main/resources/resources/web/pages/Index.html @@ -1,7 +1,6 @@ - WebInfo