From 08c7d897498cc1b6a4c3773b2717ab577d9d9143 Mon Sep 17 00:00:00 2001 From: mohammed jasem alaajel Date: Thu, 14 Apr 2022 01:40:16 +0400 Subject: [PATCH] revert payloads due mass errors --- .../redisbungee/internal/DataManager.java | 30 ++++++++----------- .../redisbungee/internal/RedisUtil.java | 4 +-- .../minecraft/redisbungee/RBUtils.java | 2 +- 3 files changed, 16 insertions(+), 20 deletions(-) diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/DataManager.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/DataManager.java index 5be4377..bb9775b 100644 --- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/DataManager.java +++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/DataManager.java @@ -171,11 +171,11 @@ public abstract class DataManager { switch (action) { case JOIN: - final DataManagerMessage message1 = gson.fromJson(jsonObject, new TypeToken() { + final DataManagerMessage message1 = gson.fromJson(jsonObject, new TypeToken>() { }.getType()); proxyCache.put(message1.getTarget(), message1.getSource()); lastOnlineCache.put(message1.getTarget(), (long) 0); - ipCache.put(message1.getTarget(), ((LoginPayload) message1.getPayload()).getAddress()); + ipCache.put(message1.getTarget(), message1.getPayload().getAddress()); plugin.executeAsync(new Runnable() { @Override public void run() { @@ -191,10 +191,10 @@ public abstract class DataManager { }); break; case LEAVE: - final DataManagerMessage message2 = gson.fromJson(jsonObject, new TypeToken() { + final DataManagerMessage message2 = gson.fromJson(jsonObject, new TypeToken>() { }.getType()); invalidate(message2.getTarget()); - lastOnlineCache.put(message2.getTarget(), ((LogoutPayload) message2.getPayload()).getTimestamp()); + lastOnlineCache.put(message2.getTarget(), message2.getPayload().getTimestamp()); plugin.executeAsync(new Runnable() { @Override public void run() { @@ -209,9 +209,9 @@ public abstract class DataManager { }); break; case SERVER_CHANGE: - final DataManagerMessage message3 = gson.fromJson(jsonObject, new TypeToken() { + final DataManagerMessage message3 = gson.fromJson(jsonObject, new TypeToken>() { }.getType()); - serverCache.put(message3.getTarget(), ((ServerChangePayload) message3.getPayload()).getServer()); + serverCache.put(message3.getTarget(), message3.getPayload().getServer()); plugin.executeAsync(new Runnable() { @Override public void run() { @@ -228,13 +228,13 @@ public abstract class DataManager { } } - public static class DataManagerMessage { + public static class DataManagerMessage { private final UUID target; private final String source; private final Action action; // for future use! - private final Payload payload; + private final T payload; - public DataManagerMessage(UUID target, String source, Action action, Payload payload) { + public DataManagerMessage(UUID target, String source, Action action, T payload) { this.target = target; this.source = source; this.action = action; @@ -253,7 +253,7 @@ public abstract class DataManager { return action; } - public Payload getPayload() { + public T getPayload() { return payload; } @@ -264,11 +264,7 @@ public abstract class DataManager { } } - public static abstract class Payload { - } - - - public static class LoginPayload extends Payload { + public static class LoginPayload { private final InetAddress address; public LoginPayload(InetAddress address) { @@ -280,7 +276,7 @@ public abstract class DataManager { } } - public static class ServerChangePayload extends Payload { + public static class ServerChangePayload{ private final String server; private final String oldServer; @@ -299,7 +295,7 @@ public abstract class DataManager { } - public static class LogoutPayload extends Payload { + public static class LogoutPayload { private final long timestamp; public LogoutPayload(long timestamp) { diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/RedisUtil.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/RedisUtil.java index 697a1e6..d70fbe6 100644 --- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/RedisUtil.java +++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/RedisUtil.java @@ -17,7 +17,7 @@ public class RedisUtil { rsc.hdel("player:" + player, "server", "ip", "proxy"); long timestamp = System.currentTimeMillis(); rsc.hset("player:" + player, "online", String.valueOf(timestamp)); - rsc.publish("redisbungee-data", gson.toJson(new DataManager.DataManagerMessage( + rsc.publish("redisbungee-data", gson.toJson(new DataManager.DataManagerMessage<>( UUID.fromString(player), RedisBungeeAPI.getRedisBungeeApi().getServerId(), DataManager.DataManagerMessage.Action.LEAVE, new DataManager.LogoutPayload(timestamp)))); } @@ -27,7 +27,7 @@ public class RedisUtil { rsc.hdel("player:" + player, "server", "ip", "proxy"); long timestamp = System.currentTimeMillis(); rsc.hset("player:" + player, "online", String.valueOf(timestamp)); - rsc.publish("redisbungee-data", gson.toJson(new DataManager.DataManagerMessage( + rsc.publish("redisbungee-data", gson.toJson(new DataManager.DataManagerMessage<>( UUID.fromString(player), RedisBungeeAPI.getRedisBungeeApi().getServerId(), DataManager.DataManagerMessage.Action.LEAVE, new DataManager.LogoutPayload(timestamp)))); } diff --git a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RBUtils.java b/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RBUtils.java index 66c0022..580944f 100644 --- a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RBUtils.java +++ b/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RBUtils.java @@ -29,7 +29,7 @@ public class RBUtils { pipeline.hmset("player:" + connection.getUniqueId().toString(), playerData); if (fireEvent) { - pipeline.publish("redisbungee-data", gson.toJson(new DataManager.DataManagerMessage( + pipeline.publish("redisbungee-data", gson.toJson(new DataManager.DataManagerMessage<>( connection.getUniqueId(), RedisBungeeAPI.getRedisBungeeApi().getServerId(), DataManager.DataManagerMessage.Action.JOIN, new DataManager.LoginPayload(connection.getAddress().getAddress())))); }