From 417aac3f7812aef61b311a0f7bd8508106d4c087 Mon Sep 17 00:00:00 2001 From: Rsl1122 Date: Fri, 27 Oct 2017 19:22:11 +0300 Subject: [PATCH] Improved color consistency for WorldPie #333 (Introduced 0 values to non-present worlds.) --- .../plan/utilities/analysis/Analysis.java | 11 ++++++++++ .../structure/SessionTabStructureCreator.java | 22 ++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/Plan/src/main/java/com/djrapitops/plan/utilities/analysis/Analysis.java b/Plan/src/main/java/com/djrapitops/plan/utilities/analysis/Analysis.java index 0e64c4954..88fd948e2 100644 --- a/Plan/src/main/java/com/djrapitops/plan/utilities/analysis/Analysis.java +++ b/Plan/src/main/java/com/djrapitops/plan/utilities/analysis/Analysis.java @@ -11,6 +11,7 @@ import main.java.com.djrapitops.plan.data.additional.AnalysisType; import main.java.com.djrapitops.plan.data.additional.HookHandler; import main.java.com.djrapitops.plan.data.additional.PluginData; import main.java.com.djrapitops.plan.data.analysis.*; +import main.java.com.djrapitops.plan.data.time.GMTimes; import main.java.com.djrapitops.plan.data.time.WorldTimes; import main.java.com.djrapitops.plan.database.Database; import main.java.com.djrapitops.plan.database.tables.TPSTable; @@ -300,6 +301,16 @@ public class Analysis { geolocPart.addGeoLocations(geolocations); WorldTimes worldTimes = db.getWorldTimesTable().getWorldTimesOfServer(); + + // Add 0 time for worlds not present. + Set nonZeroWorlds = worldTimes.getWorldTimes().keySet(); + for (String world : db.getWorldTable().getWorlds()) { + if (nonZeroWorlds.contains(world)) { + continue; + } + worldTimes.setGMTimesForWorld(world, new GMTimes()); + } + worldPart.setWorldTimes(worldTimes); playtime.setTotalPlaytime(db.getSessionsTable().getPlaytimeOfServer()); diff --git a/Plan/src/main/java/com/djrapitops/plan/utilities/html/structure/SessionTabStructureCreator.java b/Plan/src/main/java/com/djrapitops/plan/utilities/html/structure/SessionTabStructureCreator.java index 5e9c9439c..45d976fc3 100644 --- a/Plan/src/main/java/com/djrapitops/plan/utilities/html/structure/SessionTabStructureCreator.java +++ b/Plan/src/main/java/com/djrapitops/plan/utilities/html/structure/SessionTabStructureCreator.java @@ -5,11 +5,15 @@ package main.java.com.djrapitops.plan.utilities.html.structure; import com.djrapitops.plugin.utilities.Verify; +import main.java.com.djrapitops.plan.Log; import main.java.com.djrapitops.plan.Plan; import main.java.com.djrapitops.plan.Settings; import main.java.com.djrapitops.plan.data.Session; import main.java.com.djrapitops.plan.data.analysis.JoinInfoPart; +import main.java.com.djrapitops.plan.data.time.GMTimes; +import main.java.com.djrapitops.plan.data.time.WorldTimes; import main.java.com.djrapitops.plan.utilities.FormatUtils; +import main.java.com.djrapitops.plan.utilities.MiscUtils; import main.java.com.djrapitops.plan.utilities.comparators.SessionStartComparator; import main.java.com.djrapitops.plan.utilities.html.Html; import main.java.com.djrapitops.plan.utilities.html.HtmlStructure; @@ -17,6 +21,7 @@ import main.java.com.djrapitops.plan.utilities.html.graphs.WorldPieCreator; import main.java.com.djrapitops.plan.utilities.html.tables.KillsTableCreator; import main.java.com.djrapitops.plan.utilities.html.tables.SessionsTableCreator; +import java.sql.SQLException; import java.util.*; import java.util.stream.Collectors; @@ -107,7 +112,22 @@ public class SessionTabStructureCreator { html.append("
"); - String[] worldData = WorldPieCreator.createSeriesData(session.getWorldTimes()); + WorldTimes worldTimes = session.getWorldTimes(); + + try { + // Add 0 time for worlds not present. + Set nonZeroWorlds = worldTimes.getWorldTimes().keySet(); + for (String world : MiscUtils.getIPlan().getDB().getWorldTable().getWorlds()) { + if (nonZeroWorlds.contains(world)) { + continue; + } + worldTimes.setGMTimesForWorld(world, new GMTimes()); + } + } catch (SQLException e) { + Log.toLog("SessionTabStructureCreator", e); + } + + String[] worldData = WorldPieCreator.createSeriesData(worldTimes); html.append("