From 0eac4cd14a43ddc56e86823698adabb9abf0ed96 Mon Sep 17 00:00:00 2001 From: Pingex Date: Thu, 28 Jul 2016 18:14:04 +0200 Subject: [PATCH] Static GCM --- .../dcf/DiscordCommandableFramework.java | 2 +- .../dcf/core/GatewayConnectionsManager.java | 36 ++++--------------- .../dcf/modularity/events/EventManager.java | 4 +-- 3 files changed, 10 insertions(+), 32 deletions(-) diff --git a/src/main/java/net/pingex/dcf/DiscordCommandableFramework.java b/src/main/java/net/pingex/dcf/DiscordCommandableFramework.java index ca0d400..47f18cf 100644 --- a/src/main/java/net/pingex/dcf/DiscordCommandableFramework.java +++ b/src/main/java/net/pingex/dcf/DiscordCommandableFramework.java @@ -38,7 +38,7 @@ public class DiscordCommandableFramework ClientBuilder builder = new ClientBuilder(); if(Configuration.isConnectionToken()) builder.withToken(Configuration.CONNECTION_TOKEN); else builder.withLogin(Configuration.CONNECTION_USERNAME, Configuration.CONNECTION_PASSWORD); - GatewayConnectionsManager.getInstance().registerConnection(builder); + GatewayConnectionsManager.registerConnection(builder); // Run plugins PluginLoader.getInstance().bulkRunPlugins(); diff --git a/src/main/java/net/pingex/dcf/core/GatewayConnectionsManager.java b/src/main/java/net/pingex/dcf/core/GatewayConnectionsManager.java index f843d42..ad169ea 100644 --- a/src/main/java/net/pingex/dcf/core/GatewayConnectionsManager.java +++ b/src/main/java/net/pingex/dcf/core/GatewayConnectionsManager.java @@ -19,45 +19,23 @@ public class GatewayConnectionsManager /** * Main datastore */ - private Set connectionsDatastore; + private static Set connectionsDatastore = new HashSet<>(); /** * List of registered listeners for each connection, as we can't access registered listeners in IDC dispatcher. */ - private Map> registeredListeners; - - /** - * Singleton unique instance - */ - private static final GatewayConnectionsManager INSTANCE = new GatewayConnectionsManager(); + private static Map> registeredListeners = new HashMap<>(); /** * Logger */ private static final Logger LOGGER = LogManager.getLogger(GatewayConnectionsManager.class); - /** - * Get singleton instance - */ - public static GatewayConnectionsManager getInstance() - { - return INSTANCE; - } - - /** - * Private constructor, to enforce singleton - */ - private GatewayConnectionsManager() - { - connectionsDatastore = new HashSet<>(); - registeredListeners = new HashMap<>(); - } - /** * Registers a connection and login automatically * @param builder Filled and builder ready for log in */ - public void registerConnection(ClientBuilder builder) + public static void registerConnection(ClientBuilder builder) { LOGGER.info("Registering new connection"); builder.withReconnects(); // Makes the connections auto-reconnects on dropped connection. @@ -77,7 +55,7 @@ public class GatewayConnectionsManager * Logout and unregister specified connection * @param client Target connection */ - public void unregisterConnection(IDiscordClient client) + public static void unregisterConnection(IDiscordClient client) { LOGGER.info("Unregistering connection with user #" + client.getOurUser().getID()); @@ -91,7 +69,7 @@ public class GatewayConnectionsManager * @param target Target conection, must be registered * @param refListeners Reference listeners list */ - public void updateListeners(IDiscordClient target, Set> refListeners) + public static void updateListeners(IDiscordClient target, Set> refListeners) { LOGGER.debug("Updating listeners for target " + target.getOurUser().getID()); @@ -123,7 +101,7 @@ public class GatewayConnectionsManager * Update all connections listeners * @param refListeners Reference listeners list */ - public void updateAllListeners(Set> refListeners) + public static void updateAllListeners(Set> refListeners) { for(IDiscordClient i : connectionsDatastore) updateListeners(i, refListeners); } @@ -132,7 +110,7 @@ public class GatewayConnectionsManager * Reconnect a disconnected gateway connection * @param target Disconnected connection */ - public void reconnect(IDiscordClient target) + public static void reconnect(IDiscordClient target) { if(!connectionsDatastore.contains(target)) return; diff --git a/src/main/java/net/pingex/dcf/modularity/events/EventManager.java b/src/main/java/net/pingex/dcf/modularity/events/EventManager.java index fe93982..a8e0be5 100644 --- a/src/main/java/net/pingex/dcf/modularity/events/EventManager.java +++ b/src/main/java/net/pingex/dcf/modularity/events/EventManager.java @@ -92,7 +92,7 @@ public class EventManager */ public void updateConnectionsHandlers() { - GatewayConnectionsManager.getInstance().updateAllListeners(collectAllHandlers()); + GatewayConnectionsManager.updateAllListeners(collectAllHandlers()); } /** @@ -100,6 +100,6 @@ public class EventManager */ public void updateConnectionHandlers(IDiscordClient target) { - GatewayConnectionsManager.getInstance().updateListeners(target, collectAllHandlers()); + GatewayConnectionsManager.updateListeners(target, collectAllHandlers()); } }