Fixed GraphTest

SessionTables to Analysis page
This commit is contained in:
Rsl1122 2017-09-07 19:00:50 +03:00
parent a7b01a05c3
commit 64cac023f7
4 changed files with 37 additions and 17 deletions

View File

@ -7,14 +7,6 @@
<version>4.0.0</version> <version>4.0.0</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<repositories> <repositories>
<repository>
<id>plan-repo</id>
<url>http://repo.fuzzlemann.de/artifactory/libs-release/</url>
</repository>
<repository>
<id>plan-snapshot-repo</id>
<url>http://repo.fuzzlemann.de/artifactory/libs-snapshot/</url>
</repository>
<repository> <repository>
<id>bungeecord-repo</id> <id>bungeecord-repo</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url> <url>https://oss.sonatype.org/content/repositories/snapshots</url>
@ -78,7 +70,7 @@
<dependency> <dependency>
<groupId>com.djrapitops</groupId> <groupId>com.djrapitops</groupId>
<artifactId>PlanPluginBridge</artifactId> <artifactId>PlanPluginBridge</artifactId>
<version>3.7.0</version> <version>4.0.0</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<!-- Testing --> <!-- Testing -->

View File

@ -4,8 +4,12 @@
*/ */
package main.java.com.djrapitops.plan.utilities.html.tables; package main.java.com.djrapitops.plan.utilities.html.tables;
import main.java.com.djrapitops.plan.Plan;
import main.java.com.djrapitops.plan.data.Session; import main.java.com.djrapitops.plan.data.Session;
import main.java.com.djrapitops.plan.data.analysis.JoinInfoPart; 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.systems.cache.DataCache;
import main.java.com.djrapitops.plan.utilities.FormatUtils; import main.java.com.djrapitops.plan.utilities.FormatUtils;
import main.java.com.djrapitops.plan.utilities.comparators.SessionStartComparator; 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.Html;
@ -42,26 +46,31 @@ public class SessionsTableCreator {
int i = 0; int i = 0;
Set<String> recentLoginsNames = new HashSet<>(); Set<String> recentLoginsNames = new HashSet<>();
DataCache dataCache = Plan.getInstance().getDataCache();
for (Session session : allSessions) { for (Session session : allSessions) {
if (i >= 50) { if (i >= 50) {
break; break;
} }
UUID uuid = uuidByID.get(session.getSessionID()); UUID uuid = uuidByID.get(session.getSessionID());
// TODO Name cache
String name = "TODO"; String name = dataCache.getName(uuid);
String start = FormatUtils.formatTimeStamp(session.getSessionStart()); String start = FormatUtils.formatTimeStamp(session.getSessionStart());
String length = session.getSessionEnd() != -1 ? FormatUtils.formatTimeAmount(session.getLength()) : "Online"; String length = session.getSessionEnd() != -1 ? FormatUtils.formatTimeAmount(session.getLength()) : "Online";
// getLongestWorldPlayed() String world = getLongestWorldPlayed(session);
String inspectUrl = HtmlUtils.getRelativeInspectUrl(name); String inspectUrl = HtmlUtils.getRelativeInspectUrl(name);
sessionTableBuilder.append(Html.TABLELINE_4.parse( sessionTableBuilder.append(Html.TABLELINE_4.parse(
inspectUrl Html.LINK.parse(inspectUrl, name),
start,
length,
world
)); ));
if (recentLoginsNames.size() < 20 && !recentLoginsNames.contains(name)) { if (recentLoginsNames.size() < 20 && !recentLoginsNames.contains(name)) {
recentLoginsBuilder.append(Html.TABLELINE_2.parse(inspectUrl, start)); recentLoginsBuilder.append(Html.TABLELINE_2.parse(Html.LINK.parse(inspectUrl, name), start));
recentLoginsNames.add(name); recentLoginsNames.add(name);
} }
@ -69,4 +78,23 @@ public class SessionsTableCreator {
} }
return new String[]{sessionTableBuilder.toString(), recentLoginsBuilder.toString()}; return new String[]{sessionTableBuilder.toString(), recentLoginsBuilder.toString()};
} }
private static String getLongestWorldPlayed(Session session) {
WorldTimes worldTimes = session.getWorldTimes();
long total = worldTimes.getTotal();
long longest = 0;
String theWorld = "-";
for (Map.Entry<String, GMTimes> entry : worldTimes.getWorldTimes().entrySet()) {
String world = entry.getKey();
long time = entry.getValue().getTotal();
if (time > longest) {
longest = time;
theWorld = world;
}
}
double percentage = longest * 1.0 / total;
return theWorld + " (" + FormatUtils.cutDecimals(percentage) + "%)";
}
} }

View File

@ -53,7 +53,7 @@
</a> </a>
</div> </div>
<div id="limiter" class="main-limiter"> <div id="limiter" class="main-limiter">
<div id="main" class="main-wrapper"> <div id="main" class="main-wrapper" style="width: 800%;">
<div id="tab-information" class="tab"> <div id="tab-information" class="tab">
<div class="row"> <div class="row">
<div class="column"> <div class="column">

View File

@ -54,7 +54,7 @@ public class GraphTest {
assertEquals("[[0,0.0],[9,9.0]]", WorldLoadGraphCreator.buildSeriesDataStringChunks(tpsList)); assertEquals("[[0,0.0],[9,9.0]]", WorldLoadGraphCreator.buildSeriesDataStringChunks(tpsList));
assertEquals("[[0,0.0],[9,9.0]]", WorldLoadGraphCreator.buildSeriesDataStringEntities(tpsList)); assertEquals("[[0,0.0],[9,9.0]]", WorldLoadGraphCreator.buildSeriesDataStringEntities(tpsList));
assertEquals("[{'code':'1','value':1},{'code':'2','value':2},{'code':'3','value':3},{'code':'4','value':4},{'code':'5','value':5},{'code':'6','value':6},{'code':'7','value':7},{'code':'8','value':8},{'code':'9','value':9}]", WorldMapCreator.createDataSeries(geoList)); assertEquals("[{'code':'1','value':1},{'code':'2','value':2},{'code':'3','value':3},{'code':'4','value':4},{'code':'5','value':5},{'code':'6','value':6},{'code':'7','value':7},{'code':'8','value':8},{'code':'9','value':9}]", WorldMapCreator.createDataSeries(geoList));
assertEquals("[[{name:'WORLD',y:0,drilldown: 'WORLD'}], {name:'WORLD', id:'WORLD',data: []}]", Arrays.toString(WorldPieCreator.createSeriesData(worldTimes))); assertEquals("[[{name:'WORLD',y:0,drilldown: 'WORLD'}], [{name:'WORLD', id:'WORLD',data: []}]]", Arrays.toString(WorldPieCreator.createSeriesData(worldTimes)));
} }
@Test @Test