From f69f9ee372b37c9453b5689b8623dfb575f7cf87 Mon Sep 17 00:00:00 2001 From: Rsl1122 Date: Mon, 22 May 2017 00:39:32 +0300 Subject: [PATCH] Punchcard for inspect page & Bugfixes Fix #90 --- .../java/com/djrapitops/plan/Settings.java | 8 ++ .../com/djrapitops/plan/data/KillData.java | 32 +++++ .../data/additional/vault/EconomyBalance.java | 8 +- .../plan/database/databases/SQLDB.java | 22 +-- .../plan/database/tables/KillsTable.java | 3 + .../plan/ui/graphs/PunchCardGraphCreator.java | 128 ++++++++++++++++++ .../plan/utilities/AnalysisUtils.java | 18 +-- .../plan/utilities/PlaceholderUtils.java | 2 + Plan/src/main/resources/player.html | 124 +++++++++++++++-- .../com/djrapitops/plan/PermissionsTest.java | 34 +++++ .../com/djrapitops/plan/SettingsTest.java | 10 ++ .../plan/database/DatabaseTest.java | 28 +++- Plan/src/test/java/utils/TestInit.java | 4 +- 13 files changed, 380 insertions(+), 41 deletions(-) create mode 100644 Plan/src/main/java/com/djrapitops/plan/ui/graphs/PunchCardGraphCreator.java create mode 100644 Plan/src/test/java/main/java/com/djrapitops/plan/PermissionsTest.java diff --git a/Plan/src/main/java/com/djrapitops/plan/Settings.java b/Plan/src/main/java/com/djrapitops/plan/Settings.java index 6464aa5f4..218e5d0e2 100644 --- a/Plan/src/main/java/com/djrapitops/plan/Settings.java +++ b/Plan/src/main/java/com/djrapitops/plan/Settings.java @@ -68,6 +68,7 @@ public enum Settings { HIDE_TOWNS("Customization.Plugins.Towny.HideTowns"); private final String configPath; + private Boolean value; private Settings(String path) { this.configPath = path; @@ -79,9 +80,16 @@ public enum Settings { * @return Boolean value of the config setting, false if not boolean. */ public boolean isTrue() { + if (value != null) { + return value; + } return Plan.getInstance().getConfig().getBoolean(configPath); } + public void setValue(Boolean value) { + this.value = value; + } + /** * If the settings is a String, this method should be used. * diff --git a/Plan/src/main/java/com/djrapitops/plan/data/KillData.java b/Plan/src/main/java/com/djrapitops/plan/data/KillData.java index e0b2b0e4f..1d2030b24 100644 --- a/Plan/src/main/java/com/djrapitops/plan/data/KillData.java +++ b/Plan/src/main/java/com/djrapitops/plan/data/KillData.java @@ -1,5 +1,6 @@ package main.java.com.djrapitops.plan.data; +import java.util.Objects; import java.util.UUID; /** @@ -65,4 +66,35 @@ public class KillData { public int getVictimUserID() { return victimUserID; } + + @Override + public String toString() { + return "{victim:" + victim + "|victimUserID:" + victimUserID + "|date:" + date + "|weapon:" + weapon + '}'; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final KillData other = (KillData) obj; + if (this.date != other.date) { + return false; + } + if (!Objects.equals(this.weapon, other.weapon)) { + return false; + } + if (!Objects.equals(this.victim, other.victim)) { + return false; + } + return true; + } + + } diff --git a/Plan/src/main/java/com/djrapitops/plan/data/additional/vault/EconomyBalance.java b/Plan/src/main/java/com/djrapitops/plan/data/additional/vault/EconomyBalance.java index f5d25c77e..5d39ae420 100644 --- a/Plan/src/main/java/com/djrapitops/plan/data/additional/vault/EconomyBalance.java +++ b/Plan/src/main/java/com/djrapitops/plan/data/additional/vault/EconomyBalance.java @@ -41,16 +41,16 @@ public class EconomyBalance extends PluginData { @Override public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) { OfflinePlayer p = getOfflinePlayer(uuid); - if (p.hasPlayedBefore()) { - parseContainer(modifierPrefix, this.econ.getBalance(p) + ""); + if (this.econ.hasAccount(p)) { + return parseContainer(modifierPrefix, this.econ.getBalance(p) + ""); } - return ""; + return parseContainer(modifierPrefix, "0"); } @Override public Serializable getValue(UUID uuid) { OfflinePlayer p = getOfflinePlayer(uuid); - if (p.hasPlayedBefore()) { + if (this.econ.hasAccount(p)) { return this.econ.getBalance(p); } return -1; diff --git a/Plan/src/main/java/com/djrapitops/plan/database/databases/SQLDB.java b/Plan/src/main/java/com/djrapitops/plan/database/databases/SQLDB.java index aa08a199d..4023dbc26 100644 --- a/Plan/src/main/java/com/djrapitops/plan/database/databases/SQLDB.java +++ b/Plan/src/main/java/com/djrapitops/plan/database/databases/SQLDB.java @@ -345,15 +345,16 @@ public abstract class SQLDB extends Database { UserData uData = userDatas.get(uuid); if (id == -1) { saveLast.add(uData); + Log.debug("User not seen before, saving last: "+uuid); continue; } uData.access(); - locations.put(id, uData.getLocations()); - nicknames.put(id, uData.getNicknames()); + locations.put(id, new ArrayList<>(uData.getLocations())); + nicknames.put(id, new HashSet<>(uData.getNicknames())); lastNicks.put(id, uData.getLastNick()); - ips.put(id, uData.getIps()); - kills.put(id, uData.getPlayerKills()); - sessions.put(id, uData.getSessions()); + ips.put(id, new HashSet<>(uData.getIps())); + kills.put(id, new ArrayList<>(uData.getPlayerKills())); + sessions.put(id, new ArrayList<>(uData.getSessions())); gmTimes.put(id, uData.getGmTimes()); } // Save @@ -378,9 +379,8 @@ public abstract class SQLDB extends Database { for (UserData userData : saveLast) { try { saveUserData(userData); - } catch (SQLException e) { + } catch (SQLException | NullPointerException e) { exceptions.add(e); - } catch (NullPointerException e) { } } if (!exceptions.isEmpty()) { @@ -408,11 +408,11 @@ public abstract class SQLDB extends Database { data.access(); usersTable.saveUserDataInformation(data); int userId = usersTable.getUserId(uuid.toString()); - sessionsTable.saveSessionData(userId, data.getSessions()); + sessionsTable.saveSessionData(userId, new ArrayList<>(data.getSessions())); locationsTable.saveAdditionalLocationsList(userId, data.getLocations()); - nicknamesTable.saveNickList(userId, data.getNicknames(), data.getLastNick()); - ipsTable.saveIPList(userId, data.getIps()); - killsTable.savePlayerKills(userId, data.getPlayerKills()); + nicknamesTable.saveNickList(userId, new HashSet<>(data.getNicknames()), data.getLastNick()); + ipsTable.saveIPList(userId, new HashSet<>(data.getIps())); + killsTable.savePlayerKills(userId, new ArrayList<>(data.getPlayerKills())); gmTimesTable.saveGMTimes(userId, data.getGmTimes()); data.stopAccessing(); } diff --git a/Plan/src/main/java/com/djrapitops/plan/database/tables/KillsTable.java b/Plan/src/main/java/com/djrapitops/plan/database/tables/KillsTable.java index 2be950855..94bb70146 100644 --- a/Plan/src/main/java/com/djrapitops/plan/database/tables/KillsTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/database/tables/KillsTable.java @@ -184,9 +184,11 @@ public class KillsTable extends Table { public void savePlayerKills(Map> kills, Map uuids) throws SQLException { if (kills == null || kills.isEmpty()) { + Log.debug("Save multiple - Kills was empty."); return; } Map> saved = getPlayerKills(kills.keySet(), uuids); + PreparedStatement statement = null; try { statement = prepareStatement("INSERT INTO " + tableName + " (" @@ -199,6 +201,7 @@ public class KillsTable extends Table { for (Integer id : kills.keySet()) { List playerKills = kills.get(id); List s = saved.get(id); + Log.debug("Saving:" + playerKills + " Saved: " + s); if (s != null) { playerKills.removeAll(s); } diff --git a/Plan/src/main/java/com/djrapitops/plan/ui/graphs/PunchCardGraphCreator.java b/Plan/src/main/java/com/djrapitops/plan/ui/graphs/PunchCardGraphCreator.java new file mode 100644 index 000000000..bf9cea5f0 --- /dev/null +++ b/Plan/src/main/java/com/djrapitops/plan/ui/graphs/PunchCardGraphCreator.java @@ -0,0 +1,128 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package main.java.com.djrapitops.plan.ui.graphs; + +import java.util.Arrays; +import java.util.Calendar; +import java.util.Collection; +import java.util.List; +import java.util.stream.Collectors; +import main.java.com.djrapitops.plan.Log; +import main.java.com.djrapitops.plan.data.SessionData; + +/** + * + * @author Rsl1122 + */ +public class PunchCardGraphCreator { + + public static String generateDataArray(Collection data) { + // Initialize dataset + List sessionStarts = getSessionStarts(data); + List daysAndHours = getDaysAndHours(sessionStarts); + int[][] dataArray = createDataArray(daysAndHours); + int big = findBiggestValue(dataArray); + int[][] scaled = scale(dataArray, big); + StringBuilder arrayBuilder = new StringBuilder(); + arrayBuilder.append("["); + arrayBuilder.append("{").append("x:").append(-1).append(", y:").append(-1).append(", r:").append(1).append("}"); + arrayBuilder.append(","); + arrayBuilder.append("{").append("x:").append(25).append(", y:").append(7).append(", r:").append(1).append("}"); + arrayBuilder.append(","); + for (int i = 0; i < 7; i++) { + for (int j = 0; j < 24; j++) { + int value = scaled[i][j]; + if (value == 0) { + continue; + } + arrayBuilder.append("{").append("x:").append(j).append(", y:").append(i).append(", r:").append(value).append("}"); + if (!(i == 6 && j == 23)) { + arrayBuilder.append(","); + } + } + } + arrayBuilder.append("]"); + return arrayBuilder.toString(); + } + + private static int[][] createDataArray(List daysAndHours) { + int[][] dataArray = createEmptyArray(); + for (int[] dAndH : daysAndHours) { + int d = dAndH[0]; + int h = dAndH[1]; + dataArray[d][h] = dataArray[d][h] + 1; + } + return dataArray; + } + + private static List getDaysAndHours(List sessionStarts) { + List daysAndHours = sessionStarts.stream().map(start -> { + Calendar day = Calendar.getInstance(); + day.setTimeInMillis(start); + int dayOfWeek = day.get(Calendar.DAY_OF_WEEK) - 2; + if (dayOfWeek == -1) { + dayOfWeek = 6; + } + int hourOfDay = day.get(Calendar.HOUR_OF_DAY); + if (hourOfDay == 24) { + hourOfDay = 0; + } + return new int[]{dayOfWeek, hourOfDay}; + }).collect(Collectors.toList()); + return daysAndHours; + } + + private static List getSessionStarts(Collection data) { + List sessionStarts = data.stream() + .filter(s -> s != null) + .filter(s -> s.isValid()) + .map(s -> s.getSessionStart()) + .sorted() + .collect(Collectors.toList()); + return sessionStarts; + } + + private static int[][] createEmptyArray() { + int[][] dataArray = new int[7][24]; + for (int i = 0; i < 7; i++) { + for (int j = 0; j < 24; j++) { + dataArray[i][j] = 0; + } + } + return dataArray; + } + + private static int findBiggestValue(int[][] dataArray) { + int highest = 1; + for (int i = 0; i < 7; i++) { + for (int j = 0; j < 24; j++) { + int num = dataArray[i][j]; + if (num > highest) { + highest = num; + } + } + } + return highest; + } + + private static int[][] scale(int[][] dataArray, int big) { + + int[][] scaled = new int[7][24]; + for (int i = 0; i < 7; i++) { + Log.debug("Scaling: " + Arrays.toString(dataArray[i]) + " | " + big); + for (int j = 0; j < 24; j++) { + int value = (int) ((dataArray[i][j] * 10.0) / big); + if (value != 0) { + value += 4; + } + scaled[i][j] = value; + } + Log.debug(" Scaled: " + Arrays.toString(scaled[i])); + } + + return scaled; + } +} diff --git a/Plan/src/main/java/com/djrapitops/plan/utilities/AnalysisUtils.java b/Plan/src/main/java/com/djrapitops/plan/utilities/AnalysisUtils.java index 7144e8171..90d2a1847 100644 --- a/Plan/src/main/java/com/djrapitops/plan/utilities/AnalysisUtils.java +++ b/Plan/src/main/java/com/djrapitops/plan/utilities/AnalysisUtils.java @@ -29,7 +29,7 @@ public class AnalysisUtils { public static boolean isActive(long lastPlayed, long playTime, int loginTimes) { return isActive(MiscUtils.getTime(), lastPlayed, playTime, loginTimes); } - + public static boolean isActive(long now, long lastPlayed, long playTime, int loginTimes) { int timeToActive = Settings.ANALYSIS_MINUTES_FOR_ACTIVE.getNumber(); if (timeToActive < 0) { @@ -134,28 +134,28 @@ public class AnalysisUtils { return source.parseContainer("Err ", "Null Analysistype. "); } try { - Number average; + double average; switch (analysisType) { case LONG_EPOCH_MS_MINUS_NOW_AVG: final long now = MiscUtils.getTime(); average = MathUtils.averageLong(getCorrectValues(uuids, source).map(value -> ((long) value) - now)); return source.parseContainer(analysisType.getModifier(), FormatUtils.formatTimeAmount((long) average)); - case INT_AVG: - average = MathUtils.averageInt(getCorrectValues(uuids, source).map(i -> (Integer) i)); - break; case LONG_AVG: - average = MathUtils.averageLong(getCorrectValues(uuids, source).map(i -> (Long) i)); - break; + long averageLong = MathUtils.averageLong(getCorrectValues(uuids, source).map(i -> (Long) i)); + return source.parseContainer(analysisType.getModifier(), averageLong + ""); case LONG_TIME_MS_AVG: average = MathUtils.averageLong(getCorrectValues(uuids, source).map(i -> (Long) i)); return source.parseContainer(analysisType.getModifier(), FormatUtils.formatTimeAmount((long) average)); + case INT_AVG: + average = MathUtils.averageInt(getCorrectValues(uuids, source).map(i -> (Integer) i)); + break; case DOUBLE_AVG: average = MathUtils.averageDouble(getCorrectValues(uuids, source).map(i -> (Double) i)); break; default: return source.parseContainer("Err ", "Wrong Analysistype specified: " + analysisType.name()); } - return source.parseContainer(analysisType.getModifier(), average + ""); + return source.parseContainer(analysisType.getModifier(), FormatUtils.cutDecimals(average)); } catch (Throwable e) { return logPluginDataCausedError(source, e); } @@ -197,4 +197,4 @@ public class AnalysisUtils { Log.toLog("com.djrapitops.plan.utilities.AnalysisUtils", e); return source.parseContainer("", "Exception during calculation."); } -} \ No newline at end of file +} diff --git a/Plan/src/main/java/com/djrapitops/plan/utilities/PlaceholderUtils.java b/Plan/src/main/java/com/djrapitops/plan/utilities/PlaceholderUtils.java index f58a8c3ab..400eb7353 100644 --- a/Plan/src/main/java/com/djrapitops/plan/utilities/PlaceholderUtils.java +++ b/Plan/src/main/java/com/djrapitops/plan/utilities/PlaceholderUtils.java @@ -12,6 +12,7 @@ import main.java.com.djrapitops.plan.data.AnalysisData; import main.java.com.djrapitops.plan.data.UserData; import main.java.com.djrapitops.plan.ui.Html; import main.java.com.djrapitops.plan.ui.graphs.PlayerActivityGraphCreator; +import main.java.com.djrapitops.plan.ui.graphs.PunchCardGraphCreator; import main.java.com.djrapitops.plan.ui.tables.SortableKillsTableCreator; import main.java.com.djrapitops.plan.ui.tables.SortableSessionTableCreator; import org.bukkit.GameMode; @@ -197,6 +198,7 @@ public class PlaceholderUtils { replaceMap.put("%gm1col%", Settings.HCOLOR_GMP_1 + ""); replaceMap.put("%gm2col%", Settings.HCOLOR_GMP_2 + ""); replaceMap.put("%gm3col%", Settings.HCOLOR_GMP_3 + ""); + replaceMap.put("%datapunchcard%", PunchCardGraphCreator.generateDataArray(data.getSessions())); replaceMap.put("%inaccuratedatawarning%", (now - data.getRegistered() < 180000) ? Html.WARN_INACCURATE.parse() : ""); String pluginsTabHtml = plugin.getHookHandler().getPluginsTabLayoutForInspect(); Map additionalReplaceRules = plugin.getHookHandler().getAdditionalInspectReplaceRules(uuid); diff --git a/Plan/src/main/resources/player.html b/Plan/src/main/resources/player.html index ed1e64695..2ef91c2fe 100644 --- a/Plan/src/main/resources/player.html +++ b/Plan/src/main/resources/player.html @@ -288,6 +288,9 @@ table.sortable th:not(.sorttable_sorted):not(.sorttable_sorted_reverse):not(.sor Information + + Sessions + Plugins @@ -379,18 +382,18 @@ table.sortable th:not(.sorttable_sorted):not(.sorttable_sorted_reverse):not(.sor
-
Last 10 Sessions
+
Last 10 Kills
-
+
- +
- %sessionaverage% + %playerkills%
- Average Length + Player Kills
@@ -456,26 +459,59 @@ table.sortable th:not(.sorttable_sorted):not(.sorttable_sorted_reverse):not(.sor
- %sessionstable%
+ %killstable% +
+
+
+
+
+
-
-
Last 10 Kills
+
+
PunchCard
-
+
- +
- %playerkills% + %playtime%
- Player Kills + Playtime
-

- %killstable% +
+
+
+
+
+
Last 10 Sessions
+
+
+
+ +
+
+
+ %sessionaverage% +
+
+ Average Length +
+
+
+
+
+
+
+
+ +
+
+ %sessionstable%
@@ -579,6 +615,66 @@ function openFunc(i) { } } }); + var ctxpunch = document.getElementById("punchcard"); + var datapunch = { + datasets: [ + { + label: 'Player Join Punchcard', + data: %datapunchcard%, + backgroundColor: "#222", + hoverBackgroundColor: "#333", + }] + }; + var punchcardChart = new Chart(ctxpunch, { + type: 'bubble', + data: datapunch, + options: { + scales: { + xAxes: [{ + ticks: { + callback: function(value, index, values) { + switch (value) { + case 25: + case -1: + case -2: + case -3: + case -4: + case -5: + return ''; + default: + return value+':00'; + } + } + } + }], + yAxes: [{ + ticks: { + callback: function(value, index, values) { + switch (value) { + case 0: + return 'Monday'; + case 1: + return 'Tuesday'; + case 2: + return 'Wednesday'; + case 3: + return 'Thursday'; + case 4: + return 'Friday'; + case 5: + return 'Saturday'; + case 6: + return 'Sunday'; + default: + break; + return ''; + } + } + } + }] + } + } + }); \ No newline at end of file diff --git a/Plan/src/test/java/main/java/com/djrapitops/plan/PermissionsTest.java b/Plan/src/test/java/main/java/com/djrapitops/plan/PermissionsTest.java new file mode 100644 index 000000000..6e4eba1a1 --- /dev/null +++ b/Plan/src/test/java/main/java/com/djrapitops/plan/PermissionsTest.java @@ -0,0 +1,34 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package test.java.main.java.com.djrapitops.plan; + +import main.java.com.djrapitops.plan.Permissions; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import static org.junit.Assert.*; +import test.java.utils.MockUtils; + +/** + * + * @author Risto + */ +public class PermissionsTest { + + public PermissionsTest() { + } + + @Test + public void testUserHasThisPermission() { + assertTrue(Permissions.INSPECT_OTHER.userHasThisPermission(MockUtils.mockPlayer())); + } + + @Test + public void testGetPermission() { + assertEquals("plan.inspect.other", Permissions.INSPECT_OTHER.getPermission()); + } + +} diff --git a/Plan/src/test/java/main/java/com/djrapitops/plan/SettingsTest.java b/Plan/src/test/java/main/java/com/djrapitops/plan/SettingsTest.java index 7d844091e..d978e9268 100644 --- a/Plan/src/test/java/main/java/com/djrapitops/plan/SettingsTest.java +++ b/Plan/src/test/java/main/java/com/djrapitops/plan/SettingsTest.java @@ -5,6 +5,8 @@ */ package test.java.main.java.com.djrapitops.plan; +import java.util.ArrayList; +import java.util.List; import main.java.com.djrapitops.plan.Settings; import org.bukkit.plugin.java.JavaPlugin; import static org.junit.Assert.*; @@ -62,6 +64,14 @@ public class SettingsTest { assertEquals(8804, Settings.WEBSERVER_PORT.getNumber()); } + @Test + public void testGetStringList() { + List exp = new ArrayList<>(); + exp.add("ExampleTown"); + List result = Settings.HIDE_TOWNS.getStringList(); + assertEquals(exp, result); + } + /** * */ diff --git a/Plan/src/test/java/main/java/com/djrapitops/plan/database/DatabaseTest.java b/Plan/src/test/java/main/java/com/djrapitops/plan/database/DatabaseTest.java index 0999fee27..3f721c5a7 100644 --- a/Plan/src/test/java/main/java/com/djrapitops/plan/database/DatabaseTest.java +++ b/Plan/src/test/java/main/java/com/djrapitops/plan/database/DatabaseTest.java @@ -7,6 +7,8 @@ package test.java.main.java.com.djrapitops.plan.database; import java.io.File; import java.io.IOException; +import java.net.InetAddress; +import java.net.UnknownHostException; import java.nio.charset.Charset; import java.nio.file.Files; import java.sql.SQLException; @@ -20,6 +22,8 @@ import java.util.UUID; import java.util.stream.Collectors; import main.java.com.djrapitops.plan.Plan; import main.java.com.djrapitops.plan.data.DemographicsData; +import main.java.com.djrapitops.plan.data.KillData; +import main.java.com.djrapitops.plan.data.SessionData; import main.java.com.djrapitops.plan.data.UserData; import main.java.com.djrapitops.plan.data.cache.DBCallableProcessor; import main.java.com.djrapitops.plan.database.Database; @@ -78,7 +82,7 @@ public class DatabaseTest { public void startConnectionPingTask(Plan plugin) { } - }; + }; File f = new File(plan.getDataFolder(), "Errors.txt"); rows = 0; if (f.exists()) { @@ -258,21 +262,39 @@ public class DatabaseTest { /** * * @throws SQLException + * @throws java.net.UnknownHostException */ @Test - public void testSaveMultipleUserData() throws SQLException { + public void testSaveMultipleUserData() throws SQLException, UnknownHostException { db.init(); UserData data = new UserData(MockUtils.mockPlayer(), new DemographicsData()); + data.addIpAddress(InetAddress.getByName("185.64.113.61")); + data.addSession(new SessionData(1286349L, 2342978L)); + data.addNickname("TestNick"); + data.addPlayerKill(new KillData(MockUtils.getPlayer2UUID(), 2, "DiamondSword", 75843759L)); + System.out.println(data.toString()); db.saveUserData(data); + data.getPlayerKills().clear(); + System.out.println(data.toString()); data.addNickname("TestUpdateForSave"); UserData data2 = new UserData(MockUtils.mockPlayer2(), new DemographicsData()); + data2.addNickname("Alright"); + data.addNickname("TestNick2"); + data2.addIpAddress(InetAddress.getByName("185.64.113.60")); + data2.addSession(new SessionData(2348743L, 4839673L)); + data2.addPlayerKill(new KillData(MockUtils.getPlayerUUID(), 1, "DiamondSword", 753759L)); List list = new ArrayList<>(); list.add(data); list.add(data2); db.saveMultipleUserData(list); + data.addPlayerKill(new KillData(MockUtils.getPlayer2UUID(), 2, "DiamondSword", 75843759L)); + data.setLocation(null); + data2.setLocation(null); DBCallableProcessor process = new DBCallableProcessor() { @Override public void process(UserData d) { + System.out.println("\n" + data.toString()); + System.out.println(d.toString()); assertTrue("Not Equals", data.equals(d)); } }; @@ -280,6 +302,8 @@ public class DatabaseTest { DBCallableProcessor process2 = new DBCallableProcessor() { @Override public void process(UserData d) { + System.out.println("\n" + data2.toString()); + System.out.println(d.toString()); assertTrue("Not Equals", data2.equals(d)); } }; diff --git a/Plan/src/test/java/utils/TestInit.java b/Plan/src/test/java/utils/TestInit.java index 0acddd07a..41e21bde3 100644 --- a/Plan/src/test/java/utils/TestInit.java +++ b/Plan/src/test/java/utils/TestInit.java @@ -10,6 +10,7 @@ import java.io.FileInputStream; import java.nio.file.Files; import java.util.logging.Logger; import main.java.com.djrapitops.plan.Plan; +import main.java.com.djrapitops.plan.Settings; import org.bukkit.Server; import org.bukkit.configuration.file.YamlConfiguration; import org.powermock.api.mockito.PowerMockito; @@ -63,7 +64,8 @@ public class TestInit { when(planMock.getServer()).thenReturn(mockServer); when(planMock.getLogger()).thenReturn(Logger.getGlobal()); Plan.setInstance(planMock); -// Mockito.doReturn("0.0.0.0").when(planMock).getServer().getIp(); +// Mockito.doReturn("0.0.0.0").when(planMock).getServer().getIp(); + Settings.DEBUG.setValue(true); return true; } catch (Exception ex) { System.out.println(ex);