mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2024-10-17 15:55:02 +02:00
Updated ProcessQueue to use generics Process object
Updated HandlingInfo to extend Process object. (HandlingInfo May be removed in the near future)
This commit is contained in:
parent
7c44a96e71
commit
da3006726f
@ -8,6 +8,7 @@ import main.java.com.djrapitops.plan.Settings;
|
|||||||
import main.java.com.djrapitops.plan.data.TPS;
|
import main.java.com.djrapitops.plan.data.TPS;
|
||||||
import main.java.com.djrapitops.plan.data.UserData;
|
import main.java.com.djrapitops.plan.data.UserData;
|
||||||
import main.java.com.djrapitops.plan.data.handling.info.HandlingInfo;
|
import main.java.com.djrapitops.plan.data.handling.info.HandlingInfo;
|
||||||
|
import main.java.com.djrapitops.plan.data.handling.info.LogoutInfo;
|
||||||
import main.java.com.djrapitops.plan.data.handling.info.ReloadInfo;
|
import main.java.com.djrapitops.plan.data.handling.info.ReloadInfo;
|
||||||
import main.java.com.djrapitops.plan.database.Database;
|
import main.java.com.djrapitops.plan.database.Database;
|
||||||
import main.java.com.djrapitops.plan.locale.Locale;
|
import main.java.com.djrapitops.plan.locale.Locale;
|
||||||
@ -109,7 +110,7 @@ public class DataCacheHandler extends SessionCache {
|
|||||||
*/
|
*/
|
||||||
public void startQueues() {
|
public void startQueues() {
|
||||||
getTask = new DataCacheGetQueue(plugin);
|
getTask = new DataCacheGetQueue(plugin);
|
||||||
processTask = new DataCacheProcessQueue(this);
|
processTask = new DataCacheProcessQueue();
|
||||||
clearTask = new DataCacheClearQueue(this);
|
clearTask = new DataCacheClearQueue(this);
|
||||||
saveTask = new DataCacheSaveQueue(plugin, this);
|
saveTask = new DataCacheSaveQueue(plugin, this);
|
||||||
}
|
}
|
||||||
@ -235,11 +236,12 @@ public class DataCacheHandler extends SessionCache {
|
|||||||
*
|
*
|
||||||
* @param i Object that extends HandlingInfo.
|
* @param i Object that extends HandlingInfo.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public void addToPool(HandlingInfo i) {
|
public void addToPool(HandlingInfo i) {
|
||||||
if (i == null) {
|
if (i == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//TODO processTask.addToPool(i);
|
processTask.addToQueue(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -264,11 +266,11 @@ public class DataCacheHandler extends SessionCache {
|
|||||||
UUID uuid = p.getUuid();
|
UUID uuid = p.getUuid();
|
||||||
endSession(uuid);
|
endSession(uuid);
|
||||||
String worldName = ((Player) p.getWrappedPlayerClass()).getWorld().getName();
|
String worldName = ((Player) p.getWrappedPlayerClass()).getWorld().getName();
|
||||||
//TODO toProcess.add(new LogoutInfo(uuid, time, p.isBanned(), p.getGamemode().name(), getSession(uuid), worldName));
|
toProcess.add(new LogoutInfo(uuid, time, p.isBanned(), p.getGamemode().name(), getSession(uuid), worldName));
|
||||||
}
|
}
|
||||||
Log.debug("ToProcess size_AFTER: " + toProcess.size() + " DataCache size: " + dataCache.keySet().size());
|
Log.debug("ToProcess size_AFTER: " + toProcess.size() + " DataCache size: " + dataCache.keySet().size());
|
||||||
//TODO toProcess.sort(new HandlingInfoTimeComparator());
|
// toProcess.sort(new HandlingInfoTimeComparator());
|
||||||
//TODO processUnprocessedHandlingInfo(toProcess);
|
processUnprocessedHandlingInfo(toProcess);
|
||||||
Benchmark.stop("Cache: ProcessOnlineHandlingInfo");
|
Benchmark.stop("Cache: ProcessOnlineHandlingInfo");
|
||||||
List<UserData> data = new ArrayList<>();
|
List<UserData> data = new ArrayList<>();
|
||||||
data.addAll(dataCache.values());
|
data.addAll(dataCache.values());
|
||||||
@ -292,16 +294,10 @@ public class DataCacheHandler extends SessionCache {
|
|||||||
Benchmark.stop("Cache: SaveOnDisable");
|
Benchmark.stop("Cache: SaveOnDisable");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processUnprocessedHandlingInfo(List<HandlingInfo> toProcess) {
|
private void processUnprocessedHandlingInfo(List<Processor> toProcess) {
|
||||||
Log.debug("PROCESS: " + toProcess.size());
|
Log.debug("PROCESS: " + toProcess.size());
|
||||||
for (HandlingInfo i : toProcess) {
|
for (Processor i : toProcess) {
|
||||||
UserData uData = dataCache.get(i.getUuid());
|
i.process();
|
||||||
if (uData == null) {
|
|
||||||
DBCallableProcessor p = i::process;
|
|
||||||
getUserDataForProcessing(p, i.getUuid());
|
|
||||||
} else {
|
|
||||||
i.process(uData);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,8 +147,7 @@ public abstract class Importer {
|
|||||||
public HandlingInfo importData(UUID uuid, String... args) {
|
public HandlingInfo importData(UUID uuid, String... args) {
|
||||||
return new HandlingInfo(uuid, InfoType.OTHER, 0) {
|
return new HandlingInfo(uuid, InfoType.OTHER, 0) {
|
||||||
@Override
|
@Override
|
||||||
public boolean process(UserData uData) {
|
public void process(UserData uData) {
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -27,11 +27,10 @@ public class ChatInfo extends HandlingInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean process(UserData uData) {
|
public void process(UserData uData) {
|
||||||
if (!uData.getUuid().equals(uuid)) {
|
if (!uData.getUuid().equals(uuid)) {
|
||||||
return false;
|
return;
|
||||||
}
|
}
|
||||||
ChatHandling.processChatInfo(uData, nickname);
|
ChatHandling.processChatInfo(uData, nickname);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,11 +22,10 @@ public class DeathInfo extends HandlingInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean process(UserData uData) {
|
public void process(UserData uData) {
|
||||||
if (!uData.getUuid().equals(uuid)) {
|
if (!uData.getUuid().equals(uuid)) {
|
||||||
return false;
|
return;
|
||||||
}
|
}
|
||||||
uData.setDeaths(uData.getDeaths() + 1);
|
uData.setDeaths(uData.getDeaths() + 1);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
package main.java.com.djrapitops.plan.data.handling.info;
|
package main.java.com.djrapitops.plan.data.handling.info;
|
||||||
|
|
||||||
|
import main.java.com.djrapitops.plan.Plan;
|
||||||
import main.java.com.djrapitops.plan.data.UserData;
|
import main.java.com.djrapitops.plan.data.UserData;
|
||||||
|
import main.java.com.djrapitops.plan.data.cache.DBCallableProcessor;
|
||||||
|
import main.java.com.djrapitops.plan.queue.processing.Processor;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@ -11,7 +14,7 @@ import java.util.UUID;
|
|||||||
* @author Rsl1122
|
* @author Rsl1122
|
||||||
* @since 3.0.0
|
* @since 3.0.0
|
||||||
*/
|
*/
|
||||||
public abstract class HandlingInfo {
|
public abstract class HandlingInfo extends Processor<UUID> implements DBCallableProcessor{
|
||||||
|
|
||||||
final UUID uuid;
|
final UUID uuid;
|
||||||
final InfoType type;
|
final InfoType type;
|
||||||
@ -26,7 +29,8 @@ public abstract class HandlingInfo {
|
|||||||
* @param time Epoch ms of the event.
|
* @param time Epoch ms of the event.
|
||||||
*/
|
*/
|
||||||
public HandlingInfo(UUID uuid, InfoType type, long time) {
|
public HandlingInfo(UUID uuid, InfoType type, long time) {
|
||||||
this.uuid = uuid;
|
super(uuid);
|
||||||
|
this.uuid = object;
|
||||||
this.type = type;
|
this.type = type;
|
||||||
this.time = time;
|
this.time = time;
|
||||||
}
|
}
|
||||||
@ -58,6 +62,10 @@ public abstract class HandlingInfo {
|
|||||||
return time;
|
return time;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void process() {
|
||||||
|
Plan.getInstance().getHandler().getUserDataForProcessing(this, uuid);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Process the info and modify the UserData object accordingly.
|
* Process the info and modify the UserData object accordingly.
|
||||||
* <p>
|
* <p>
|
||||||
@ -66,5 +74,5 @@ public abstract class HandlingInfo {
|
|||||||
* @param uData UserData object to modify.
|
* @param uData UserData object to modify.
|
||||||
* @return UUID of the UserData object and HandlingInfo match.
|
* @return UUID of the UserData object and HandlingInfo match.
|
||||||
*/
|
*/
|
||||||
public abstract boolean process(UserData uData);
|
public abstract void process(UserData uData);
|
||||||
}
|
}
|
||||||
|
@ -22,12 +22,11 @@ public class KickInfo extends HandlingInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean process(UserData uData) {
|
public void process(UserData uData) {
|
||||||
if (!uData.getUuid().equals(uuid)) {
|
if (!uData.getUuid().equals(uuid)) {
|
||||||
return false;
|
return;
|
||||||
}
|
}
|
||||||
uData.setTimesKicked(uData.getTimesKicked() + 1);
|
uData.setTimesKicked(uData.getTimesKicked() + 1);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -33,11 +33,10 @@ public class KillInfo extends HandlingInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean process(UserData uData) {
|
public void process(UserData uData) {
|
||||||
if (!uData.getUuid().equals(uuid)) {
|
if (!uData.getUuid().equals(uuid)) {
|
||||||
return false;
|
return;
|
||||||
}
|
}
|
||||||
KillHandling.processKillInfo(uData, time, dead, weaponName);
|
KillHandling.processKillInfo(uData, time, dead, weaponName);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -62,12 +62,11 @@ public class LoginInfo extends HandlingInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean process(UserData uData) {
|
public void process(UserData uData) {
|
||||||
if (!uData.getUuid().equals(uuid)) {
|
if (!uData.getUuid().equals(uuid)) {
|
||||||
return false;
|
return;
|
||||||
}
|
}
|
||||||
LoginHandling.processLoginInfo(uData, time, ip, banned, nickname, loginTimes);
|
LoginHandling.processLoginInfo(uData, time, ip, banned, nickname, loginTimes);
|
||||||
playtimeDependentInfo.process(uData);
|
playtimeDependentInfo.process(uData);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -36,14 +36,13 @@ public class LogoutInfo extends HandlingInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean process(UserData uData) {
|
public void process(UserData uData) {
|
||||||
if (!uData.getUuid().equals(uuid)) {
|
if (!uData.getUuid().equals(uuid)) {
|
||||||
return false;
|
return;
|
||||||
}
|
}
|
||||||
uData.addSession(sData);
|
uData.addSession(sData);
|
||||||
LogoutHandling.processLogoutInfo(uData, time, banned);
|
LogoutHandling.processLogoutInfo(uData, time, banned);
|
||||||
playtimeDependentInfo.process(uData);
|
playtimeDependentInfo.process(uData);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -18,11 +18,10 @@ public class PlaytimeDependentInfo extends HandlingInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean process(UserData uData) {
|
public void process(UserData uData) {
|
||||||
if (!uuid.equals(uData.getUuid())) {
|
if (!uuid.equals(uData.getUuid())) {
|
||||||
return false;
|
return;
|
||||||
}
|
}
|
||||||
PlaytimeHandling.processPlaytimeDependentInfo(uData, time, gamemode, worldName);
|
PlaytimeHandling.processPlaytimeDependentInfo(uData, time, gamemode, worldName);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@ import org.bukkit.Server;
|
|||||||
import org.bukkit.configuration.InvalidConfigurationException;
|
import org.bukkit.configuration.InvalidConfigurationException;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.sql.SQLException;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -56,13 +57,15 @@ public class ServerInfoManager {
|
|||||||
String webAddress = address[0];
|
String webAddress = address[0];
|
||||||
int port = Integer.parseInt(address[1]);
|
int port = Integer.parseInt(address[1]);
|
||||||
String name = Settings.SERVER_NAME.toString();
|
String name = Settings.SERVER_NAME.toString();
|
||||||
|
try {
|
||||||
serverTable.saveCurrentServerInfo(new ServerInfo(-1, serverUUID, name, webAddress, port));
|
serverTable.saveCurrentServerInfo(new ServerInfo(-1, serverUUID, name, webAddress, port));
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Log.toLog(this.getClass().getName(), e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public UUID generateNewUUID(Server server) {
|
public UUID generateNewUUID(Server server) {
|
||||||
String seed = server.getName() + server.getIp() + server.getPort() + server.getVersion() + server.getBukkitVersion();
|
String seed = server.getName() + server.getIp() + server.getPort() + server.getVersion() + server.getBukkitVersion();
|
||||||
return UUID.nameUUIDFromBytes(seed.getBytes());
|
return UUID.nameUUIDFromBytes(seed.getBytes());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
@ -1,9 +1,6 @@
|
|||||||
package main.java.com.djrapitops.plan.queue;
|
package main.java.com.djrapitops.plan.queue;
|
||||||
|
|
||||||
import com.djrapitops.plugin.utilities.Verify;
|
|
||||||
import main.java.com.djrapitops.plan.Log;
|
import main.java.com.djrapitops.plan.Log;
|
||||||
import main.java.com.djrapitops.plan.data.cache.DBCallableProcessor;
|
|
||||||
import main.java.com.djrapitops.plan.data.cache.DataCacheHandler;
|
|
||||||
import main.java.com.djrapitops.plan.queue.processing.Processor;
|
import main.java.com.djrapitops.plan.queue.processing.Processor;
|
||||||
|
|
||||||
import java.util.concurrent.ArrayBlockingQueue;
|
import java.util.concurrent.ArrayBlockingQueue;
|
||||||
@ -16,30 +13,25 @@ import java.util.concurrent.BlockingQueue;
|
|||||||
* @author Rsl1122
|
* @author Rsl1122
|
||||||
* @since 3.0.0
|
* @since 3.0.0
|
||||||
*/
|
*/
|
||||||
// TODO Change Processing Queue to use more generic object as processing.
|
|
||||||
// GOAL: Processing queue can be used to process query results from the database
|
|
||||||
// & for processing events into statements.
|
|
||||||
public class DataCacheProcessQueue extends Queue<Processor> {
|
public class DataCacheProcessQueue extends Queue<Processor> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class constructor, starts the new Thread for processing.
|
* Class constructor, starts the new Thread for processing.
|
||||||
*
|
|
||||||
* @param handler current instance of DataCacheHandler.
|
|
||||||
*/
|
*/
|
||||||
public DataCacheProcessQueue(DataCacheHandler handler) {
|
public DataCacheProcessQueue() {
|
||||||
super(new ArrayBlockingQueue<>(20000));
|
super(new ArrayBlockingQueue<>(20000));
|
||||||
setup = new ProcessSetup(queue, handler);
|
setup = new ProcessSetup(queue);
|
||||||
setup.go();
|
setup.go();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to add HandlingInfo object to be processed.
|
* Used to add HandlingInfo object to be processed.
|
||||||
*
|
*
|
||||||
* @param info object that extends HandlingInfo.
|
* @param processor object that extends HandlingInfo.
|
||||||
*/
|
*/
|
||||||
public void addToPool(Processor info) {
|
public void addToQueue(Processor processor) {
|
||||||
try {
|
try {
|
||||||
queue.add(info);
|
queue.add(processor);
|
||||||
} catch (IllegalStateException e) {
|
} catch (IllegalStateException e) {
|
||||||
Log.toLog(this.getClass().getName(), e);
|
Log.toLog(this.getClass().getName(), e);
|
||||||
}
|
}
|
||||||
@ -48,35 +40,27 @@ public class DataCacheProcessQueue extends Queue<Processor> {
|
|||||||
|
|
||||||
class ProcessConsumer extends Consumer<Processor> {
|
class ProcessConsumer extends Consumer<Processor> {
|
||||||
|
|
||||||
private DataCacheHandler handler;
|
|
||||||
|
|
||||||
ProcessConsumer(BlockingQueue<Processor> q, DataCacheHandler h) {
|
ProcessConsumer(BlockingQueue<Processor> q) {
|
||||||
super(q, "ProcessQueueConsumer");
|
super(q, "ProcessQueueConsumer");
|
||||||
handler = h;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void consume(Processor info) {
|
protected void consume(Processor process) {
|
||||||
if (!Verify.notNull(handler, info)) {
|
if (process == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
process.process();
|
||||||
DBCallableProcessor p = data -> info.process();
|
|
||||||
|
|
||||||
//TODO handler.getUserDataForProcessing(p, info.getUuid());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void clearVariables() {
|
protected void clearVariables() {
|
||||||
if (handler != null) {
|
|
||||||
handler = null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ProcessSetup extends Setup<Processor> {
|
class ProcessSetup extends Setup<Processor> {
|
||||||
|
|
||||||
ProcessSetup(BlockingQueue<Processor> q, DataCacheHandler h) {
|
ProcessSetup(BlockingQueue<Processor> q) {
|
||||||
super(new ProcessConsumer(q, h), new ProcessConsumer(q, h));
|
super(new ProcessConsumer(q), new ProcessConsumer(q));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,16 +5,20 @@
|
|||||||
package main.java.com.djrapitops.plan.queue.processing;
|
package main.java.com.djrapitops.plan.queue.processing;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* //TODO Class Javadoc Comment
|
* Abstract class for processing different objects using Generics.
|
||||||
*
|
*
|
||||||
* @author Rsl1122
|
* @author Rsl1122
|
||||||
*/
|
*/
|
||||||
public abstract class Processor<T> {
|
public abstract class Processor<T> {
|
||||||
private T processed;
|
protected T object;
|
||||||
|
|
||||||
public Processor(T processed) {
|
public Processor(T object) {
|
||||||
this.processed = processed;
|
this.object = object;
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract void process();
|
public abstract void process();
|
||||||
|
|
||||||
|
public T getObject() {
|
||||||
|
return object;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -152,14 +152,13 @@ public class DataCacheQueueTest {
|
|||||||
List<Integer> errors = new ArrayList<>();
|
List<Integer> errors = new ArrayList<>();
|
||||||
handler.addToPool(new HandlingInfo(uuid1, InfoType.OTHER, 0) {
|
handler.addToPool(new HandlingInfo(uuid1, InfoType.OTHER, 0) {
|
||||||
@Override
|
@Override
|
||||||
public boolean process(UserData uData) {
|
public void process(UserData uData) {
|
||||||
if (uData.equals(data1)) {
|
if (uData.equals(data1)) {
|
||||||
uData.setName("TestSuccessful");
|
uData.setName("TestSuccessful");
|
||||||
processCalls.add(1);
|
processCalls.add(1);
|
||||||
} else {
|
} else {
|
||||||
errors.add(1);
|
errors.add(1);
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
while (processCalls.size() < 1) {
|
while (processCalls.size() < 1) {
|
||||||
|
@ -33,7 +33,7 @@ public class ChatInfoTest {
|
|||||||
UserData data = MockUtils.mockUser();
|
UserData data = MockUtils.mockUser();
|
||||||
String expected = "TestNicknameChatInfo";
|
String expected = "TestNicknameChatInfo";
|
||||||
ChatInfo i = new ChatInfo(data.getUuid(), expected);
|
ChatInfo i = new ChatInfo(data.getUuid(), expected);
|
||||||
assertTrue("Didn't succeed", i.process(data));
|
i.process(data);
|
||||||
assertTrue("Didn't add nickname", data.getNicknames().contains(expected));
|
assertTrue("Didn't add nickname", data.getNicknames().contains(expected));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,6 @@ import org.junit.Test;
|
|||||||
import test.java.utils.MockUtils;
|
import test.java.utils.MockUtils;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertTrue;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Rsl1122
|
* @author Rsl1122
|
||||||
@ -39,7 +38,7 @@ public class DeathInfoTest {
|
|||||||
public void testProcess() {
|
public void testProcess() {
|
||||||
UserData data = MockUtils.mockUser();
|
UserData data = MockUtils.mockUser();
|
||||||
DeathInfo i = new DeathInfo(data.getUuid());
|
DeathInfo i = new DeathInfo(data.getUuid());
|
||||||
assertTrue(i.process(data));
|
i.process(data);
|
||||||
assertEquals(1, data.getDeaths());
|
assertEquals(1, data.getDeaths());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -33,8 +33,8 @@ public class HandlingInfoTest {
|
|||||||
UUID uuid = UUID.fromString("45b0dfdb-f71d-4cf3-8c21-27c9d4c651db");
|
UUID uuid = UUID.fromString("45b0dfdb-f71d-4cf3-8c21-27c9d4c651db");
|
||||||
HandlingInfo i = new HandlingInfo(uuid, InfoType.CHAT, 10L) {
|
HandlingInfo i = new HandlingInfo(uuid, InfoType.CHAT, 10L) {
|
||||||
@Override
|
@Override
|
||||||
public boolean process(UserData data) {
|
public void process(UserData data) {
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
assertEquals(uuid, i.getUuid());
|
assertEquals(uuid, i.getUuid());
|
||||||
@ -48,8 +48,8 @@ public class HandlingInfoTest {
|
|||||||
UUID uuid = UUID.fromString("45b0dfdb-f71d-4cf3-8c21-27c9d4c651db");
|
UUID uuid = UUID.fromString("45b0dfdb-f71d-4cf3-8c21-27c9d4c651db");
|
||||||
HandlingInfo i = new HandlingInfo(uuid, InfoType.CHAT, 10L) {
|
HandlingInfo i = new HandlingInfo(uuid, InfoType.CHAT, 10L) {
|
||||||
@Override
|
@Override
|
||||||
public boolean process(UserData data) {
|
public void process(UserData data) {
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
assertEquals(InfoType.CHAT, i.getType());
|
assertEquals(InfoType.CHAT, i.getType());
|
||||||
@ -63,8 +63,8 @@ public class HandlingInfoTest {
|
|||||||
UUID uuid = UUID.fromString("45b0dfdb-f71d-4cf3-8c21-27c9d4c651db");
|
UUID uuid = UUID.fromString("45b0dfdb-f71d-4cf3-8c21-27c9d4c651db");
|
||||||
HandlingInfo i = new HandlingInfo(uuid, InfoType.CHAT, 10L) {
|
HandlingInfo i = new HandlingInfo(uuid, InfoType.CHAT, 10L) {
|
||||||
@Override
|
@Override
|
||||||
public boolean process(UserData data) {
|
public void process(UserData data) {
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
assertEquals(10L, i.getTime());
|
assertEquals(10L, i.getTime());
|
||||||
|
@ -1,34 +0,0 @@
|
|||||||
package test.java.main.java.com.djrapitops.plan.data.handling.info;
|
|
||||||
|
|
||||||
import main.java.com.djrapitops.plan.data.UserData;
|
|
||||||
import main.java.com.djrapitops.plan.data.handling.info.*;
|
|
||||||
import main.java.com.djrapitops.plan.utilities.MiscUtils;
|
|
||||||
import org.junit.Test;
|
|
||||||
import test.java.utils.MockUtils;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import static org.junit.Assert.assertTrue;
|
|
||||||
|
|
||||||
public class InfoUuidCorrectionTest {
|
|
||||||
private final UserData wrong = MockUtils.mockUser2();
|
|
||||||
private final UUID test = MockUtils.getPlayerUUID();
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testAllInfoBooleanReturn() {
|
|
||||||
long now = MiscUtils.getTime();
|
|
||||||
HandlingInfo[] h = new HandlingInfo[]{
|
|
||||||
new ChatInfo(test, ""),
|
|
||||||
new DeathInfo(test),
|
|
||||||
new KickInfo(test),
|
|
||||||
new KillInfo(test, now, null, ""),
|
|
||||||
new LoginInfo(test, now, null, false, "", "", 0, ""),
|
|
||||||
new LogoutInfo(test, now, false, "", null, ""),
|
|
||||||
new PlaytimeDependentInfo(test, InfoType.OTHER, now, "", ""),
|
|
||||||
new ReloadInfo(test, now, null, false, "", "", "")
|
|
||||||
};
|
|
||||||
for (HandlingInfo info : h) {
|
|
||||||
assertTrue(info.getClass().getSimpleName(), !info.process(wrong));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -17,7 +17,6 @@ import test.java.utils.MockUtils;
|
|||||||
import test.java.utils.TestInit;
|
import test.java.utils.TestInit;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertTrue;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Rsl1122
|
* @author Rsl1122
|
||||||
@ -47,7 +46,7 @@ public class KickInfoTest {
|
|||||||
public void testProcess() {
|
public void testProcess() {
|
||||||
UserData data = MockUtils.mockUser();
|
UserData data = MockUtils.mockUser();
|
||||||
KickInfo i = new KickInfo(data.getUuid());
|
KickInfo i = new KickInfo(data.getUuid());
|
||||||
assertTrue(i.process(data));
|
i.process(data);
|
||||||
assertEquals(1, data.getTimesKicked());
|
assertEquals(1, data.getTimesKicked());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,8 +20,8 @@ import org.junit.Test;
|
|||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.powermock.core.classloader.annotations.PrepareForTest;
|
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||||
import org.powermock.modules.junit4.PowerMockRunner;
|
import org.powermock.modules.junit4.PowerMockRunner;
|
||||||
import test.java.utils.TestInit;
|
|
||||||
import test.java.utils.MockUtils;
|
import test.java.utils.MockUtils;
|
||||||
|
import test.java.utils.TestInit;
|
||||||
|
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
@ -85,7 +85,7 @@ public class KillInfoTest {
|
|||||||
UserData data = MockUtils.mockUser();
|
UserData data = MockUtils.mockUser();
|
||||||
Player dead = MockUtils.mockPlayer2();
|
Player dead = MockUtils.mockPlayer2();
|
||||||
KillInfo i = new KillInfo(data.getUuid(), 10L, dead, "TestWeapon");
|
KillInfo i = new KillInfo(data.getUuid(), 10L, dead, "TestWeapon");
|
||||||
assertTrue(i.process(data));
|
i.process(data);
|
||||||
KillData expected = new KillData(dead.getUniqueId(), 1, "TestWeapon", 10L);
|
KillData expected = new KillData(dead.getUniqueId(), 1, "TestWeapon", 10L);
|
||||||
assertTrue("Didn't add the kill", data.getPlayerKills().size() == 1);
|
assertTrue("Didn't add the kill", data.getPlayerKills().size() == 1);
|
||||||
KillData result = data.getPlayerKills().get(0);
|
KillData result = data.getPlayerKills().get(0);
|
||||||
@ -102,7 +102,7 @@ public class KillInfoTest {
|
|||||||
public void testProcessMobKill() throws SQLException {
|
public void testProcessMobKill() throws SQLException {
|
||||||
UserData data = MockUtils.mockUser();
|
UserData data = MockUtils.mockUser();
|
||||||
KillInfo i = new KillInfo(data.getUuid(), 10L, null, "TestWeapon");
|
KillInfo i = new KillInfo(data.getUuid(), 10L, null, "TestWeapon");
|
||||||
assertTrue(i.process(data));
|
i.process(data);
|
||||||
assertTrue("Added a kill", data.getPlayerKills().isEmpty());
|
assertTrue("Added a kill", data.getPlayerKills().isEmpty());
|
||||||
assertEquals(1, data.getMobKills());
|
assertEquals(1, data.getMobKills());
|
||||||
}
|
}
|
||||||
|
@ -54,7 +54,7 @@ public class LoginInfoTest {
|
|||||||
int loginTimes = data.getLoginTimes();
|
int loginTimes = data.getLoginTimes();
|
||||||
String nick = "TestProcessLoginInfo";
|
String nick = "TestProcessLoginInfo";
|
||||||
LoginInfo i = new LoginInfo(data.getUuid(), time, ip, true, nick, "CREATIVE", 1, "World");
|
LoginInfo i = new LoginInfo(data.getUuid(), time, ip, true, nick, "CREATIVE", 1, "World");
|
||||||
assertTrue(i.process(data));
|
i.process(data);
|
||||||
assertTrue("LastPlayed wrong: " + data.getLastPlayed(), data.getLastPlayed() == time);
|
assertTrue("LastPlayed wrong: " + data.getLastPlayed(), data.getLastPlayed() == time);
|
||||||
assertTrue("Ip not added", data.getIps().contains(ip));
|
assertTrue("Ip not added", data.getIps().contains(ip));
|
||||||
assertTrue("Logintimes not +1", data.getLoginTimes() == loginTimes + 1);
|
assertTrue("Logintimes not +1", data.getLoginTimes() == loginTimes + 1);
|
||||||
|
@ -44,7 +44,7 @@ public class LogoutInfoTest {
|
|||||||
long time = 20L;
|
long time = 20L;
|
||||||
data.getGmTimes().setState("SURVIVAL");
|
data.getGmTimes().setState("SURVIVAL");
|
||||||
LogoutInfo i = new LogoutInfo(data.getUuid(), time, true, "CREATIVE", new SessionData(0, 1), "World");
|
LogoutInfo i = new LogoutInfo(data.getUuid(), time, true, "CREATIVE", new SessionData(0, 1), "World");
|
||||||
assertTrue(i.process(data));
|
i.process(data);
|
||||||
assertTrue("Last Played wrong", data.getLastPlayed() == 20L);
|
assertTrue("Last Played wrong", data.getLastPlayed() == 20L);
|
||||||
assertTrue("Playtime wrong", data.getPlayTime() == 10L);
|
assertTrue("Playtime wrong", data.getPlayTime() == 10L);
|
||||||
assertTrue("Banned wrong", data.isBanned());
|
assertTrue("Banned wrong", data.isBanned());
|
||||||
|
@ -14,8 +14,8 @@ import org.junit.Test;
|
|||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.powermock.core.classloader.annotations.PrepareForTest;
|
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||||
import org.powermock.modules.junit4.PowerMockRunner;
|
import org.powermock.modules.junit4.PowerMockRunner;
|
||||||
import test.java.utils.TestInit;
|
|
||||||
import test.java.utils.MockUtils;
|
import test.java.utils.MockUtils;
|
||||||
|
import test.java.utils.TestInit;
|
||||||
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
@ -55,7 +55,7 @@ public class ReloadInfoTest {
|
|||||||
int loginTimes = data.getLoginTimes();
|
int loginTimes = data.getLoginTimes();
|
||||||
String nick = "TestProcessLoginInfo";
|
String nick = "TestProcessLoginInfo";
|
||||||
ReloadInfo i = new ReloadInfo(data.getUuid(), time, ip, true, nick, "CREATIVE", "World");
|
ReloadInfo i = new ReloadInfo(data.getUuid(), time, ip, true, nick, "CREATIVE", "World");
|
||||||
assertTrue(i.process(data));
|
i.process(data);
|
||||||
assertTrue("LastPlayed wrong: " + data.getLastPlayed(), data.getLastPlayed() == time);
|
assertTrue("LastPlayed wrong: " + data.getLastPlayed(), data.getLastPlayed() == time);
|
||||||
assertTrue("Ip not added", data.getIps().contains(ip));
|
assertTrue("Ip not added", data.getIps().contains(ip));
|
||||||
assertTrue("Login times is not the same", data.getLoginTimes() == loginTimes);
|
assertTrue("Login times is not the same", data.getLoginTimes() == loginTimes);
|
||||||
|
@ -79,8 +79,8 @@ public class RandomData {
|
|||||||
for (int i = 0; i < 20; i++) {
|
for (int i = 0; i < 20; i++) {
|
||||||
test.add(new HandlingInfo(UUID.randomUUID(), randomEnum(InfoType.class), r.nextLong()) {
|
test.add(new HandlingInfo(UUID.randomUUID(), randomEnum(InfoType.class), r.nextLong()) {
|
||||||
@Override
|
@Override
|
||||||
public boolean process(UserData uData) {
|
public void process(UserData uData) {
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user