TextStringBuilder to some appropriate instances

This commit is contained in:
Rsl1122 2018-08-04 11:50:36 +03:00
parent 2ad2d70166
commit fcc87d5a87
5 changed files with 25 additions and 194 deletions

View File

@ -16,6 +16,7 @@ import com.djrapitops.plan.utilities.html.icon.Icon;
import com.djrapitops.plan.utilities.html.icon.Icons;
import com.djrapitops.plugin.api.utility.log.Log;
import com.djrapitops.plugin.utilities.Verify;
import org.apache.commons.text.TextStringBuilder;
import java.util.*;
import java.util.concurrent.ThreadLocalRandom;
@ -28,18 +29,8 @@ import java.util.concurrent.ThreadLocalRandom;
public class HtmlStructure {
public static String separateWithDots(String... elements) {
if (elements.length == 0) {
return "";
}
StringBuilder builder = new StringBuilder(elements[0]);
for (int i = 1; i < elements.length; i++) {
String element = elements[i];
if (element.isEmpty()) {
continue;
}
builder.append(" &#x2022; ");
builder.append(element);
}
TextStringBuilder builder = new TextStringBuilder();
builder.appendWithSeparators(elements, " &#x2022; ");
return builder.toString();
}
@ -168,22 +159,16 @@ public class HtmlStructure {
public static String playerStatus(boolean online, boolean banned, boolean op) {
StringBuilder html = new StringBuilder("<p>");
if (online) {
html.append(Icon.called("circle").of(Color.GREEN))
.append(" Online");
html.append(Icon.called("circle").of(Color.GREEN)).append(" Online");
} else {
html.append(Icon.called("circle").of(Color.RED))
.append(" Offline");
html.append(Icon.called("circle").of(Color.RED)).append(" Offline");
}
html.append("</p>");
if (op) {
html.append("<p>")
.append(Icons.OPERATOR)
.append(" Operator</p>");
html.append("<p>").append(Icons.OPERATOR).append(" Operator</p>");
}
if (banned) {
html.append("<p>")
.append(Icons.BANNED)
.append(" Banned");
html.append("<p>").append(Icons.BANNED).append(" Banned</p>");
}
return html.toString();
}

View File

@ -1,6 +1,7 @@
package com.djrapitops.plan.utilities.html.graphs;
import com.djrapitops.plan.data.store.mutators.PlayersMutator;
import org.apache.commons.text.TextStringBuilder;
import java.util.HashMap;
import java.util.List;
@ -52,25 +53,15 @@ public class WorldMap implements HighChart {
}
}
StringBuilder dataBuilder = new StringBuilder("[");
TextStringBuilder dataBuilder = new TextStringBuilder("[");
int i = 0;
int size = geoCodeCounts.size();
for (Map.Entry<String, Integer> entry : geoCodeCounts.entrySet()) {
String geoCode = entry.getKey();
Integer players = entry.getValue();
dataBuilder.appendWithSeparators(
geoCodeCounts.entrySet().stream()
.map(entry -> "{'code':'" + entry.getKey() + "','value':" + entry.getValue() + "}")
.iterator(),
","
);
if (players != 0) {
dataBuilder.append("{'code':'").append(geoCode).append("','value':").append(players).append("}");
if (i < size - 1) {
dataBuilder.append(",");
}
}
i++;
}
dataBuilder.append("]");
return dataBuilder.toString();
return dataBuilder.append("]").toString();
}
}

View File

@ -1,6 +1,7 @@
package com.djrapitops.plan.utilities.html.graphs.bar;
import com.djrapitops.plan.utilities.html.graphs.HighChart;
import org.apache.commons.text.TextStringBuilder;
import java.util.List;
@ -13,35 +14,15 @@ public class BarGraph implements HighChart {
}
public String toHighChartsCategories() {
StringBuilder categories = new StringBuilder("[");
int i = 0;
int size = bars.size();
for (Bar bar : bars) {
categories.append("'").append(bar.getLabel()).append("'");
if (i < size - 1) {
categories.append(",");
}
i++;
}
TextStringBuilder categories = new TextStringBuilder("[");
categories.appendWithSeparators(bars.stream().map(bar -> "'" + bar.getLabel() + "'").iterator(), ",");
return categories.append("]").toString();
}
@Override
public String toHighChartsSeries() {
StringBuilder series = new StringBuilder("[");
int i = 0;
int size = bars.size();
for (Bar bar : bars) {
series.append(bar.getValue());
if (i < size - 1) {
series.append(",");
}
i++;
}
TextStringBuilder series = new TextStringBuilder("[");
series.appendWithSeparators(bars.stream().map(Bar::getValue).iterator(), ",");
return series.append("]").toString();
}
}

View File

@ -5,6 +5,7 @@
package com.djrapitops.plan.utilities.html.graphs.pie;
import com.djrapitops.plan.utilities.html.graphs.HighChart;
import org.apache.commons.text.TextStringBuilder;
import java.util.ArrayList;
import java.util.List;
@ -29,19 +30,9 @@ public class AbstractPieChart implements HighChart {
@Override
public String toHighChartsSeries() {
StringBuilder seriesBuilder = new StringBuilder("[");
int i = 0;
int size = slices.size();
for (PieSlice slice : slices) {
seriesBuilder.append(slice.toString());
if (i < size - 1) {
seriesBuilder.append(",");
}
i++;
}
seriesBuilder.append("]");
return seriesBuilder.toString();
TextStringBuilder series = new TextStringBuilder("[");
series.appendWithSeparators(slices, ",");
return series.append("]").toString();
}
public void setSlices(List<PieSlice> slices) {

View File

@ -1,117 +0,0 @@
Analysis - Third Party || Analysis | Analysiere zusätzliche Datenquellen (von Dritten)
Analysis FAIL - Fetch Exception || Analysis | Das Abrufen von Daten für die Analyse ist fehlgeschlagen, ein Fehler ist aufgetreten.
Analysis FAIL - No Data || Analyse | Analyse fehlgeschlagen, keine Daten in der Datenbank.
Analysis FAIL - No Players || Analyse | Analyse fehlgeschlagen, keine bekannten Spieler.
Analysis - Fetch Phase || Analyse | Hole Daten...
Analysis - Fetch Phase Start || Analyse | Suche nach verfügbaren Spieler...
Analysis - Complete || Analyse | Analyse vollständig. (dauerte ${0}ms) ${1}
Analysis - Begin Analysis || Analyse | Daten geholt (${0} Spieler, dauerte ${1}ms), beginne mit der Analyse der Daten...
Analysis - Start || Analyse | Beginne die Analyse der Spieler Daten...
>Constant - CMD Footer || §f»
>Constant - List Ball || §7 •§2
Cmd FAIL - No Data View || §e[Plan] Dieser Befehl kann nur benutzt werden wenn der WebServer oder das TextUI auf dem Server aktiviert ist.
Cmd FAIL - No Permission || §c[Plan] Du hast nicht die benötigte Berechtigung.
Cmd FAIL - Requires Arguments || §c[Plan] Dieser Befehl erfordert Argumente. ${0}
Cmd FAIL - Require only one Argument || §c[Plan] Der Befehl benötigt ein Argument.
Cmd FAIL - Timeout || §c[Plan] ${0} Befehl ausgetimed! Mehr Infos unter '/plan status' und in der Serverkonsole.
Cmd FAIL - Unknown Username || §c[Plan] Der Spielername konnte in der Datenbank nicht gefunden werden.
Cmd FAIL - Unseen Username || §c[Plan] Dieser Spieler war noch nie auf diesem Server.
Cmd FAIL - Invalid Username || §c[Plan] Dieser Spieler existiert nicht.
Cmd Header - Analysis || §f»§2 Player Analytics - Analyse Ergebnisse
Cmd Header - Info || §f»§2 Player Analytics - Info
Cmd Header - Inspect || §f»§2 Player Analytics - Überprüfe die Ergebnisse:
Cmd Header - Search || §f»§2 Player Analytics - Suchergebnisse für:
In Depth Help - /plan analyze ? || §2Analyse Befehl\§f Wird benutzt um den Analysecache neu zu laden und auf die Resultatseite zuzugreifen\§7 /plan status kann benutzt werden, um den Status der laufenden Analyse zu überprüfen.\§7 Aliasse: analyze, analyse, analysis, a
In Depth Help - /plan inspect ? || §2Inspect Befehl\§f Wird benutzt um den Link zur Inspektionsseite des Spielers zu bekommen.\§7 Die eigene Inspektionseite kann mit /plan inspect aufgerufen werden\§7 Alias: /plan <Name>
In Depth Help - /plan list ? || §2List Befehl\§f Wird benutzt um den Link zur Spielerübersichtsseite zu bekommen.\§7 Die Spielerübersichtsseite beinhaltet die Links von allen gecachten Inspektionsseiten.\§7 Alias: /plan pl
In Depth Help - /plan manage ? || §2Manage Befehl\§f Wird benutzt um die Datenbank des Plugins zu verwalten.\§7 Alias: /plan m\§7 /plan m - Auflistung der Unterbefehle\§7 /plan m <Unterbefehl> ? - Ausführliche Hilfe
In Depth Help - /plan manage clear ? || §2Manage Clear Befehl\§f Wird benutzt um ALLE Daten der aktiven Datenbank zu löschen.\§7 Das Plugin sollte nach einer erfolgreichen Reinigung neugeladen werden.\§7 Alias: /plan pl
In Depth Help - /plan manage dump ? || §2Manage Dump Befehl\§f Wird benutzt um wichtige Daten für das Melden von Fehlern auf Hastebin hochzuladen.
In Depth Help - /plan manage hotswap ? || §2Manage Hotswap Befehl\§f Wird benutzt um die benutzte Datenbank direkt zu ändern.\§7 Die Datenbank wird nicht geändert, wenn die Verbindung fehlschlägt
In Depth Help - /plan manage import ? || §2Manage Import Befehl\§f Wird benutzt um Daten von anderen Quellen zu importieren\§7 Die Analyse wird während dem Importieren deaktiviert.
In Depth Help - /plan manage remove ? || §2Manage Remove Befehl\§f Wird benutzt um die Daten des Spielers zu entfernen.
In Depth Help - /plan ? || §2/plan - Hauptbefehl\§f Wird benutzt um alle Unterbefehle & die Hilfe aufzurufen\§7 /plan - Auflistung der Unterbefehle\§7 /plan <Unterbefehl> ? - Ausführliche Hilfe
In Depth Help - /plan qanalyze ? || §2Quick Analysis Befehl\§f Wird benutzt um im Spiel Analyseinformationen zu bekommen.\§7 Diese Informationen beinhalten weniger Informationen als die Analyseinternetseite.\§7 Aliasse: qanalyze, ganalyse, qanalysis, qa
In Depth Help - /plan qinspect ? || §2Quick Inspect Befehl\§f Wird benutzt um im Spiel Inspizierungsinformationen zu bekommen.\§7 Diese Informationen beinhalten weniger Informationen als die Inspizierungsinternetseite.\§7 Alias: /plan qi
In Depth Help - /plan search ? || §2Search Befehl\§f Wird benutzt um eine Liste der Spieler die dem gegebenen Argument entsprechen zu bekommen.\§7 Beispiel: /plan search 123 - Zeigt alle Spieler mit 123 im Namen an.
In Depth Help - /plan webuser ? || §2Web User Manage Befehl\§f Wird benutzt um die Webbenutzer vom Plugin zu verwalten\§7 Die Benutzer haben ein Zugriffslevel:\§f 0 - Zugriff auf alle Seiten\§f 1 - Zugriff auf /players & alle Inspizierungsseiten\§f 2 - Zugriff auf die eigene Inspizierungsseite\§7 Alias: /plan web
In Depth Help - /plan webuser register ? || §2Web Register Befehl\§f Wird benutzt um einen neuen Benutzer für den Webserver zu registrieren.\§7 Um einen Benutzer für einen anderen Spieler zu registrieren, braucht man das plan.webmanage Recht.\§7 Die Passwörter werden mit PBKDF2 (64.000 Iterationen von SHA1) gehasht, es wird ein kryptograpisch zufälliger Salt benutzt.
Analysis NOTIFY - Temporary Disable || §eAnalyse wurde temporär aufgrund von einer leistungstechnisch aufwendigen Aufgabe deaktiviert, benutze /plan status für mehr Informationen.
Cmd - Click Me || Klick Mich
Cmd - Fetch Data || §f»§2 Hole Daten in den Cache...
Cmd - Link || §7 •§2 Link: §f
Cmd - No Results || §7 •§2 Keine Ergebnisse für §7${0}§2.
Cmd - Reload Success || §a[Plan] Reload abgeschlossen.
Cmd - Results || §7 Übereinstimmender Spieler: §f
Cmd - Searching || §f»§2Suchen...
Cmd - Usage /plan analyze || Zeigt die Server Analyse
Cmd - Usage /plan help || Zeigt die Befehlsliste
Cmd - Usage /plan info || Zeigt die Version von Plan
Cmd - Usage /plan inspect || Prüft Spieler Daten
Cmd - Usage /plan list || Liste zu allen gecachten Spielern
Cmd - Usage /plan manage || Datenbank Verwaltungs Befehl
Cmd - Usage /plan manage backup || Erstellt eine Sicherheitskopie der Datenbank als .db Datei
Cmd - Usage /plan manage clean || Beseitigt alte Daten von der Datenbank
Cmd - Usage /plan manage clear || Leert Daten aus der Datenbank
Cmd - Usage /plan manage dump || Erstellt ein Hastebin Log für das einfache Melden von Fehlern
Cmd - Usage /plan manage hotswap || Wechselt zu einer anderen Datenbank & starte das Plugin neu
Cmd - Usage /plan manage import || Importiert Daten von unterstützten Plugins zur aktiven Datenbank
Cmd - Usage /plan manage move || Kopiert Daten von einer Datenbank zur anderen & überschreibe die Werte
Cmd - Usage /plan manage remove || Entfernt die Spieler Daten aus der aktiven Datenbank.
Cmd - Usage /plan manage restore || Stellt eine Sicherheitskopie einer Datenbank aus einer Datei wieder her
Cmd - Usage /plan qanalyze || Zeigt die Serveranalyse als Text an
Cmd - Usage /plan qinspect || Zeigt die Daten vom Spieler als Text an
Cmd - Usage /plan reload || Lädt die Plugin Konfiguration neu
Cmd - Usage /plan search || Sucht nach einem Spieler
Cmd - Usage /plan webuser || Verwaltet die Webbenutzer
Cmd - Usage /plan webuser check || Überprüft einen Webbenutzer und sein Zugriffslevel
Cmd - Usage /plan webuser delete || Löscht einen Webbenutzer
Cmd - Usage /plan webuser level || Informationen über die Zugriffslevel
Cmd - Usage /plan webuser register || Registriert einen Webbenutzer
Disable || Player Analytics deaktiviert.
Disable - Save || Daten im Cache werden gespeichert...
Disable - WebServer || Webserver wird heruntergefahren...
Enable || Player Analytics aktiviert.
Enable - Boot Analysis 30s Notify || Analyse | Boot Analyse in 30 Sekunden...
Enable - Boot Analysis Notify || Analyse | Starte Boot Analyse...
Enable Db FAIL - Disable Info || Datenbank Initialisierung fehlgeschlagen, deaktiviere Plan.
Enable - Db Info || ${0}-Datenbank Verbindung hergestellt.
Enable - Db || Datenbank Initialisierung...
Enable FAIL-Db || ${0}-Datenbank Verbindung fehlgeschlagen: ${1}
Enable FAIL - Wrong Db Type || Dieser Datenbank Typ existiert nicht.
Enable Notify - ChatListener || §eChataufzeichnung deaktiviert, die Information der Nicknamen ist nicht akkurat.
Enable Notify - Disabled CommandListener || §eBefehlsaufzeichnung deaktiviert.
Enable Notify - Disabled DeathListener || §eTodesaufzeichnung deaktiviert, Spieler & Mob Kills werden nicht aufgezeichnet.
Enable Notify - No data view || §eWebserver deaktiviert, aber es wird keine alternative IP benutzt, sodass Daten nicht angezeigt werden können!
Enable - WebServer || Initialisiere Webserver...
Enable - WebServer Info || Webserver läuft auf PORT ${0}
Html - Active || Spieler ist aktiv
Html - Banned || | <span class="darkred">Gesperrt</span>
Html - Inactive || Spieler ist inaktiv
Html - No Extra Plugins || <p>Keine zusätzlichen Plugins registriert.</p>
Html - Offline || | <span class="darkred">Offline</span>
Html - Online || | <span class="darkgreen">Online</span>
Html - OP || , Operator (Op)
Html - Table No Kills || Keine Kills
Manage FAIL - Confirm Action || §c[Plan] Füge -a hinzu um den Befehl zu bestätigen! ${0}
Manage FAIL - Faulty DB Connection || §c[Plan] Eine der Datenbanken wurde nicht richtig initialisiert.
Manage FAIL - Backup File Not Found || §c[Plan] Es existiert keine Sicherheitskopie!
Manage FAIL - Incorrect DB || §c[Plan] Falsche Datenbank! (SQlite/MySQL wird unterstützt):
Manage FAIL - Incorrect Plugin || §c[Plan] Plugin nicht unterstützt:
Manage FAIL - Empty DB || §c[Plan] Datenbank hat keine Spieler Daten!
Manage FAIL - Unenabled Plugin || §c[Plan] Plugin ist nicht aktiviert:
Manage FAIL - Same DB || §c[Plan] Kann nicht zur selben Datenbank bewegen!
Manage - Clear Success || §a[Plan] Alle Daten wurden erfolgreich gesäubert!
Manage - Remind Config Change || §e[Plan] Vergiss nicht zur neuen Datenbank zu wechseln und das Plugin neu zu laden
Manage - Copy Success || §a[Plan] Alle Daten wurden erfolgreich kopiert!
Manage - Process Fail || §c[Plan] Irgendwas lief schief während die Daten verarbeitet wurden!
Manage - Import || §f» §2 Importiere Daten...
Manage - Move Success || §a[Plan] Alle Daten wurden erfolgreich verschoben!
Manage - Remove Success || §f» §2Daten von §f${0}§2 wurden aus dieser Datenbank entfernt §f${1}§2.
Manage - Start || Ȥ7 Verarbeite Daten...
Manage - Success || §f» §2 Erfolgreich!
Manage NOTIFY - Overwrite || Daten in ${0}-Datenbank werden überschrieben!
Manage NOTIFY - Partial Overwrite || Einige Daten in ${0}-Datenbank werden überschrieben!
Manage NOTIFY - Remove || Daten in ${0}-Datenbank werden entfernt!
Manage NOTIFY - Rewrite || Daten in ${0}-Datenbank werden neu geschrieben!
WARN - Too Small Queue Size || Die Warteschlagengröße ist zu klein! (${0}), änder' diese Einstellung zu einer höheren! (Derzeit ${1})