mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2024-09-17 17:21:00 +02:00
Fixed some introduced bugs on Bungee:
- Fixed   breaking the variable parsing of WebAPI - Fixed NoClassDefError: SQLiteException on bungee - Fixed NPE on analysis with 0 players - Changed "No Sessions" to use <p> instead of <h3> - Fixed player graphs not rendering on network page
This commit is contained in:
parent
986515896a
commit
1c6375fde7
@ -137,21 +137,26 @@ public class AnalysisData extends RawData {
|
|||||||
List<String> healthNotes = new ArrayList<>();
|
List<String> healthNotes = new ArrayList<>();
|
||||||
|
|
||||||
TreeMap<Long, Map<String, Set<UUID>>> activityData = new TreeMap<>();
|
TreeMap<Long, Map<String, Set<UUID>>> activityData = new TreeMap<>();
|
||||||
for (PlayerProfile player : players) {
|
|
||||||
for (long date = now; date >= now - TimeAmount.MONTH.ms() * 2L; date -= TimeAmount.WEEK.ms() * 2L) {
|
|
||||||
double activityIndex = player.getActivityIndex(date);
|
|
||||||
String index = FormatUtils.readableActivityIndex(activityIndex)[1];
|
|
||||||
|
|
||||||
Map<String, Set<UUID>> map = activityData.getOrDefault(date, new HashMap<>());
|
|
||||||
Set<UUID> uuids = map.getOrDefault(index, new HashSet<>());
|
|
||||||
uuids.add(player.getUuid());
|
|
||||||
map.put(index, uuids);
|
|
||||||
activityData.put(date, map);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
long fourWeeksAgo = now - TimeAmount.WEEK.ms() * 4L;
|
long fourWeeksAgo = now - TimeAmount.WEEK.ms() * 4L;
|
||||||
|
|
||||||
|
if (!players.isEmpty()) {
|
||||||
|
for (PlayerProfile player : players) {
|
||||||
|
for (long date = now; date >= now - TimeAmount.MONTH.ms() * 2L; date -= TimeAmount.WEEK.ms() * 2L) {
|
||||||
|
double activityIndex = player.getActivityIndex(date);
|
||||||
|
String index = FormatUtils.readableActivityIndex(activityIndex)[1];
|
||||||
|
|
||||||
|
Map<String, Set<UUID>> map = activityData.getOrDefault(date, new HashMap<>());
|
||||||
|
Set<UUID> uuids = map.getOrDefault(index, new HashSet<>());
|
||||||
|
uuids.add(player.getUuid());
|
||||||
|
map.put(index, uuids);
|
||||||
|
activityData.put(date, map);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
activityData.put(now, new HashMap<>());
|
||||||
|
activityData.put(fourWeeksAgo, new HashMap<>());
|
||||||
|
}
|
||||||
|
|
||||||
Map<String, Set<UUID>> activityNow = activityData.get(now);
|
Map<String, Set<UUID>> activityNow = activityData.get(now);
|
||||||
Map<String, Set<UUID>> activityFourWAgo = activityData.get(fourWeeksAgo);
|
Map<String, Set<UUID>> activityFourWAgo = activityData.get(fourWeeksAgo);
|
||||||
|
|
||||||
|
@ -14,7 +14,6 @@ import main.java.com.djrapitops.plan.database.tables.*;
|
|||||||
import main.java.com.djrapitops.plan.database.tables.move.Version8TransferTable;
|
import main.java.com.djrapitops.plan.database.tables.move.Version8TransferTable;
|
||||||
import main.java.com.djrapitops.plan.utilities.MiscUtils;
|
import main.java.com.djrapitops.plan.utilities.MiscUtils;
|
||||||
import org.apache.commons.dbcp2.BasicDataSource;
|
import org.apache.commons.dbcp2.BasicDataSource;
|
||||||
import org.sqlite.SQLiteException;
|
|
||||||
|
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
@ -410,7 +409,7 @@ public abstract class SQLDB extends Database {
|
|||||||
if (!usingMySQL) {
|
if (!usingMySQL) {
|
||||||
connection.commit();
|
connection.commit();
|
||||||
}
|
}
|
||||||
} catch (SQLiteException e) {
|
} catch (SQLException e) {
|
||||||
if (!e.getMessage().contains("cannot commit")) {
|
if (!e.getMessage().contains("cannot commit")) {
|
||||||
Log.toLog(this.getClass().getName(), e);
|
Log.toLog(this.getClass().getName(), e);
|
||||||
}
|
}
|
||||||
|
@ -94,7 +94,7 @@ public abstract class WebAPI {
|
|||||||
connection.setRequestMethod("POST");
|
connection.setRequestMethod("POST");
|
||||||
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
|
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
|
||||||
|
|
||||||
connection.setRequestProperty("charset", "ISO-8859-1");
|
connection.setRequestProperty("charset", "UTF-8");
|
||||||
|
|
||||||
String parameters = parseVariables();
|
String parameters = parseVariables();
|
||||||
|
|
||||||
@ -185,13 +185,13 @@ public abstract class WebAPI {
|
|||||||
String serverUUID = MiscUtils.getIPlan().getServerUuid().toString();
|
String serverUUID = MiscUtils.getIPlan().getServerUuid().toString();
|
||||||
parameters.append("sender=").append(serverUUID);
|
parameters.append("sender=").append(serverUUID);
|
||||||
for (Map.Entry<String, String> entry : variables.entrySet()) {
|
for (Map.Entry<String, String> entry : variables.entrySet()) {
|
||||||
parameters.append(";&").append(entry.getKey()).append("=").append(entry.getValue());
|
parameters.append(";&variable;").append(entry.getKey()).append("=").append(entry.getValue());
|
||||||
}
|
}
|
||||||
return parameters.toString();
|
return parameters.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Map<String, String> readVariables(String requestBody) {
|
public static Map<String, String> readVariables(String requestBody) {
|
||||||
String[] variables = requestBody.split(";&");
|
String[] variables = requestBody.split(";&variable;");
|
||||||
|
|
||||||
return Arrays.stream(variables)
|
return Arrays.stream(variables)
|
||||||
.map(variable -> variable.split("=", 2))
|
.map(variable -> variable.split("=", 2))
|
||||||
|
@ -364,7 +364,7 @@ public class HtmlStructure {
|
|||||||
"<div class=\"panel panel-default\">" +
|
"<div class=\"panel panel-default\">" +
|
||||||
"<div class=\"panel-heading\">" +
|
"<div class=\"panel-heading\">" +
|
||||||
"<div class=\"row\">" +
|
"<div class=\"row\">" +
|
||||||
"<div id=\"playerChart" + id + "\" style=\"height: 200px;\"></div>" +
|
"<div id=\"playerChart" + id + "\" style=\"width: 100%; height: 200px;\"></div>" +
|
||||||
"</div></div>" +
|
"</div></div>" +
|
||||||
"<div class=\"panel-body\">" +
|
"<div class=\"panel-body\">" +
|
||||||
"<div class=\"row\">" +
|
"<div class=\"row\">" +
|
||||||
@ -396,7 +396,7 @@ public class HtmlStructure {
|
|||||||
"</script>" +
|
"</script>" +
|
||||||
"<script>$(function () {" +
|
"<script>$(function () {" +
|
||||||
"playersChartNoNav(playerChart" + id + ", playersOnlineSeries" + id +
|
"playersChartNoNav(playerChart" + id + ", playersOnlineSeries" + id +
|
||||||
");}</script>";
|
");})</script>";
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String parseOfflineServerContainer(String oldContent) {
|
public static String parseOfflineServerContainer(String oldContent) {
|
||||||
|
@ -35,7 +35,7 @@ public class SessionTabStructureCreator {
|
|||||||
|
|
||||||
if (Verify.isEmpty(allSessions)) {
|
if (Verify.isEmpty(allSessions)) {
|
||||||
return new String[]{"<div class=\"body\">" +
|
return new String[]{"<div class=\"body\">" +
|
||||||
"<h3>No Sessions</h3>" +
|
"<p>No Sessions</p>" +
|
||||||
"</div>", ""};
|
"</div>", ""};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,6 +31,9 @@
|
|||||||
|
|
||||||
<!-- AdminBSB Themes. You can choose a theme from css/themes instead of get all themes -->
|
<!-- AdminBSB Themes. You can choose a theme from css/themes instead of get all themes -->
|
||||||
<link href="css/themes/all-themes.css" rel="stylesheet"/>
|
<link href="css/themes/all-themes.css" rel="stylesheet"/>
|
||||||
|
|
||||||
|
<!-- Jquery Core Js -->
|
||||||
|
<script src="plugins/jquery/jquery.min.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="theme-red">
|
<body class="theme-red">
|
||||||
@ -288,9 +291,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- Jquery Core Js -->
|
|
||||||
<script src="plugins/jquery/jquery.min.js"></script>
|
|
||||||
|
|
||||||
<!-- Bootstrap Core Js -->
|
<!-- Bootstrap Core Js -->
|
||||||
<script src="plugins/bootstrap/js/bootstrap.js"></script>
|
<script src="plugins/bootstrap/js/bootstrap.js"></script>
|
||||||
|
|
||||||
@ -355,9 +355,7 @@
|
|||||||
openFunc(slideIndex)();
|
openFunc(slideIndex)();
|
||||||
|
|
||||||
// Chart draw scripts
|
// Chart draw scripts
|
||||||
/*playersChart('playerChartDay', playersOnlineSeries, 1);
|
playersChart('playerChartDay', playersOnlineSeries, 2);
|
||||||
${serverTabGraphViewFunctions}
|
|
||||||
/**/
|
|
||||||
|
|
||||||
function openFunc(i) {
|
function openFunc(i) {
|
||||||
return function () {
|
return function () {
|
||||||
|
@ -354,7 +354,7 @@
|
|||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="row clearfix">
|
<div class="row clearfix">
|
||||||
<div class="col-xs-12 col-sm-6">
|
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
|
||||||
<h2><i class="fa fa-id-badge"></i> Seen Nicknames</h2>
|
<h2><i class="fa fa-id-badge"></i> Seen Nicknames</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -380,7 +380,7 @@
|
|||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="row clearfix">
|
<div class="row clearfix">
|
||||||
<div class="col-xs-12 col-sm-6">
|
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
|
||||||
<h2><i class="fa fa-wifi"></i> Connection Information</h2>
|
<h2><i class="fa fa-wifi"></i> Connection Information</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1097,8 +1097,8 @@
|
|||||||
// Chart draw scripts
|
// Chart draw scripts
|
||||||
activityPie('activityPie', activitySeries, ${playersTotal}, [${activityPieColors}]);
|
activityPie('activityPie', activitySeries, ${playersTotal}, [${activityPieColors}]);
|
||||||
worldPie('worldPie', worldSeries, gmSeries);
|
worldPie('worldPie', worldSeries, gmSeries);
|
||||||
playersChart('playerChartDay', playersOnlineSeries, 1);
|
playersChart('playerChartDay', playersOnlineSeries, 3);
|
||||||
playersChart('playerChartMonth', playersOnlineSeries, 4);
|
playersChart('playerChartMonth', playersOnlineSeries, 2);
|
||||||
performanceChart('performanceGraph', playersOnlineSeries, tpsSeries, cpuSeries, ramSeries, entitySeries, chunkSeries);
|
performanceChart('performanceGraph', playersOnlineSeries, tpsSeries, cpuSeries, ramSeries, entitySeries, chunkSeries);
|
||||||
tpsChart('tpsGraph', tpsSeries, playersOnlineSeries);
|
tpsChart('tpsGraph', tpsSeries, playersOnlineSeries);
|
||||||
resourceChart('resourceGraph', cpuSeries, ramSeries, playersOnlineSeries);
|
resourceChart('resourceGraph', cpuSeries, ramSeries, playersOnlineSeries);
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user