This is an automated email from the ASF dual-hosted git repository. ralaoui pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mina-vysper.git
The following commit(s) were added to refs/heads/master by this push: new a1e65d2 Make ServerRuntimeContext.getStorageProvider generic a1e65d2 is described below commit a1e65d22447879c055bfe6f115b831a65297e4b8 Author: Réda Housni Alaoui <reda.housniala...@gmail.com> AuthorDate: Fri Aug 23 01:00:14 2019 +0200 Make ServerRuntimeContext.getStorageProvider generic --- .../java/org/apache/vysper/storage/OpenStorageProviderRegistry.java | 5 +++-- .../main/java/org/apache/vysper/storage/StorageProviderRegistry.java | 2 +- .../xmpp/modules/core/im/handler/PresenceAvailabilityHandler.java | 2 +- .../modules/extension/xep0049_privatedata/PrivateDataModule.java | 2 +- .../xmpp/modules/extension/xep0054_vcardtemp/VcardTempModule.java | 2 +- .../extension/xep0077_inbandreg/InBandRegistrationHandler.java | 2 +- .../xep0133_service_administration/ServiceAdministrationModule.java | 2 +- .../apache/vysper/xmpp/modules/roster/handler/RosterIQHandler.java | 4 ++-- .../vysper/xmpp/modules/roster/persistence/RosterManagerUtils.java | 2 +- .../org/apache/vysper/xmpp/server/DefaultServerRuntimeContext.java | 3 ++- .../java/org/apache/vysper/xmpp/server/ServerRuntimeContext.java | 2 +- .../apache/vysper/xmpp/modules/extension/xep0045_muc/MUCModule.java | 4 ++-- .../modules/extension/xep0060_pubsub/PublishSubscribeModule.java | 4 ++-- .../vysper/xmpp/extension/xep0065_socks/Socks5IntegrationTest.java | 2 +- 14 files changed, 20 insertions(+), 18 deletions(-) diff --git a/server/core/src/main/java/org/apache/vysper/storage/OpenStorageProviderRegistry.java b/server/core/src/main/java/org/apache/vysper/storage/OpenStorageProviderRegistry.java index 4e2c25b..01d6313 100644 --- a/server/core/src/main/java/org/apache/vysper/storage/OpenStorageProviderRegistry.java +++ b/server/core/src/main/java/org/apache/vysper/storage/OpenStorageProviderRegistry.java @@ -48,8 +48,9 @@ public class OpenStorageProviderRegistry implements StorageProviderRegistry { storageServices.putAll(entries); } - public StorageProvider retrieve(Class<? extends StorageProvider> clazz) { - return storageServices.get(clazz); + @SuppressWarnings("unchecked") + public <T extends StorageProvider> T retrieve(Class<T> clazz) { + return (T) storageServices.get(clazz); } /** diff --git a/server/core/src/main/java/org/apache/vysper/storage/StorageProviderRegistry.java b/server/core/src/main/java/org/apache/vysper/storage/StorageProviderRegistry.java index 1644442..9b9114a 100644 --- a/server/core/src/main/java/org/apache/vysper/storage/StorageProviderRegistry.java +++ b/server/core/src/main/java/org/apache/vysper/storage/StorageProviderRegistry.java @@ -34,7 +34,7 @@ public interface StorageProviderRegistry { * @param clazz a class implementing StorageProvider * @return the fully initialized storage provider */ - StorageProvider retrieve(Class<? extends StorageProvider> clazz); + <T extends StorageProvider> T retrieve(Class<T> clazz); /** * adds a storage provider implementation to the registry diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailabilityHandler.java b/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailabilityHandler.java index 4abcada..461fd77 100644 --- a/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailabilityHandler.java +++ b/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailabilityHandler.java @@ -262,7 +262,7 @@ public class PresenceAvailabilityHandler extends AbstractPresenceSpecializedHand registry.setResourcePriority(resourceId, presenceStanza.getPrioritySafe()); // check for pending offline stored stanzas, and send them out - OfflineStorageProvider offlineProvider = (OfflineStorageProvider) serverRuntimeContext + OfflineStorageProvider offlineProvider = serverRuntimeContext .getStorageProvider(OfflineStorageProvider.class); if (offlineProvider == null) { logger.warn("No Offline Storage Provider configured"); diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0049_privatedata/PrivateDataModule.java b/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0049_privatedata/PrivateDataModule.java index efa320a..91faa6f 100644 --- a/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0049_privatedata/PrivateDataModule.java +++ b/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0049_privatedata/PrivateDataModule.java @@ -49,7 +49,7 @@ public class PrivateDataModule extends DefaultDiscoAwareModule implements Server public void initialize(ServerRuntimeContext serverRuntimeContext) { super.initialize(serverRuntimeContext); - PrivateDataPersistenceManager persistenceManager = (PrivateDataPersistenceManager) serverRuntimeContext + PrivateDataPersistenceManager persistenceManager = serverRuntimeContext .getStorageProvider(PrivateDataPersistenceManager.class); if (persistenceManager == null) { logger.error("no PrivateDataPersistenceManager found"); diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp/VcardTempModule.java b/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp/VcardTempModule.java index d7e68d3..20810f0 100644 --- a/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp/VcardTempModule.java +++ b/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp/VcardTempModule.java @@ -49,7 +49,7 @@ public class VcardTempModule extends DefaultDiscoAwareModule implements ServerIn public void initialize(ServerRuntimeContext serverRuntimeContext) { super.initialize(serverRuntimeContext); - VcardTempPersistenceManager persistenceManager = (VcardTempPersistenceManager) serverRuntimeContext + VcardTempPersistenceManager persistenceManager = serverRuntimeContext .getStorageProvider(VcardTempPersistenceManager.class); if (persistenceManager == null) { logger.error("no VcardTempPersistenceManager found"); diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0077_inbandreg/InBandRegistrationHandler.java b/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0077_inbandreg/InBandRegistrationHandler.java index 0987bb9..1f39b8a 100644 --- a/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0077_inbandreg/InBandRegistrationHandler.java +++ b/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0077_inbandreg/InBandRegistrationHandler.java @@ -116,7 +116,7 @@ public class InBandRegistrationHandler extends DefaultIQHandler { String password = passwordElm.getInnerText().getText(); if(password.trim().length() == 0) throw new XMLSemanticError("Invalid password"); - AccountManagement accountManagement = (AccountManagement) serverRuntimeContext.getStorageProvider(AccountManagement.class); + AccountManagement accountManagement = serverRuntimeContext.getStorageProvider(AccountManagement.class); Entity user; if(username.contains("@")) { user = EntityImpl.parse(username); diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0133_service_administration/ServiceAdministrationModule.java b/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0133_service_administration/ServiceAdministrationModule.java index ea2212c..7bd7754 100644 --- a/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0133_service_administration/ServiceAdministrationModule.java +++ b/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0133_service_administration/ServiceAdministrationModule.java @@ -133,7 +133,7 @@ public class ServiceAdministrationModule extends DefaultModule implements AdhocC public AdhocCommandHandler getCommandHandler(String commandNode, Entity executingUser) { if (executingUser == null) return null; - final AccountManagement accountManagement = (AccountManagement)serverRuntimeContext.getStorageProvider(AccountManagement.class); + final AccountManagement accountManagement = serverRuntimeContext.getStorageProvider(AccountManagement.class); final ResourceRegistry resourceRegistry = serverRuntimeContext.getResourceRegistry(); if (!admins.contains(executingUser.getBareJID())) { diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/handler/RosterIQHandler.java b/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/handler/RosterIQHandler.java index a1b8610..cc3081c 100644 --- a/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/handler/RosterIQHandler.java +++ b/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/handler/RosterIQHandler.java @@ -89,7 +89,7 @@ public class RosterIQHandler extends DefaultIQHandler { protected List<Stanza> handleGet(IQStanza stanza, ServerRuntimeContext serverRuntimeContext, SessionContext sessionContext) { ResourceRegistry registry = serverRuntimeContext.getResourceRegistry(); - RosterManager rosterManager = (RosterManager) serverRuntimeContext.getStorageProvider(RosterManager.class); + RosterManager rosterManager = serverRuntimeContext.getStorageProvider(RosterManager.class); if (rosterManager == null) { return handleCannotRetrieveRoster(stanza, sessionContext); @@ -131,7 +131,7 @@ public class RosterIQHandler extends DefaultIQHandler { @SpecCompliant(spec = "rfc3921bis-08", section = "2.5", status = FINISHED, coverage = COMPLETE, comment = "only calling from here") }) @Override protected List<Stanza> handleSet(IQStanza stanza, ServerRuntimeContext serverRuntimeContext, SessionContext sessionContext) { - RosterManager rosterManager = (RosterManager) serverRuntimeContext.getStorageProvider(RosterManager.class); + RosterManager rosterManager = serverRuntimeContext.getStorageProvider(RosterManager.class); if (rosterManager == null) { return handleCannotRetrieveRoster(stanza, sessionContext); diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/persistence/RosterManagerUtils.java b/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/persistence/RosterManagerUtils.java index 6e1e3c1..2b480b7 100644 --- a/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/persistence/RosterManagerUtils.java +++ b/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/persistence/RosterManagerUtils.java @@ -38,7 +38,7 @@ public class RosterManagerUtils { SessionContext sessionContext) { RosterManager rosterManager; try { - rosterManager = (RosterManager) serverRuntimeContext.getStorageProvider(RosterManager.class); + rosterManager = serverRuntimeContext.getStorageProvider(RosterManager.class); } catch (Exception e) { // System.err.println("failed to retrieve roster manager for session id = " + sessionContext.getSessionId()); String sessionId = sessionContext == null ? "NO_SESSION" : sessionContext.getSessionId(); diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/server/DefaultServerRuntimeContext.java b/server/core/src/main/java/org/apache/vysper/xmpp/server/DefaultServerRuntimeContext.java index 439a6c3..56a7475 100644 --- a/server/core/src/main/java/org/apache/vysper/xmpp/server/DefaultServerRuntimeContext.java +++ b/server/core/src/main/java/org/apache/vysper/xmpp/server/DefaultServerRuntimeContext.java @@ -260,6 +260,7 @@ public class DefaultServerRuntimeContext implements ServerRuntimeContext, Module * @param name * @return */ + @Override public ServerRuntimeContextService getServerRuntimeContextService(String name) { return serverRuntimeContextServiceMap.get(name); } @@ -279,7 +280,7 @@ public class DefaultServerRuntimeContext implements ServerRuntimeContext, Module * @param clazz * @return */ - public StorageProvider getStorageProvider(Class<? extends StorageProvider> clazz) { + public <T extends StorageProvider> T getStorageProvider(Class<T> clazz) { return storageProviderRegistry.retrieve(clazz); } diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/server/ServerRuntimeContext.java b/server/core/src/main/java/org/apache/vysper/xmpp/server/ServerRuntimeContext.java index 88ebbb3..13a4c90 100644 --- a/server/core/src/main/java/org/apache/vysper/xmpp/server/ServerRuntimeContext.java +++ b/server/core/src/main/java/org/apache/vysper/xmpp/server/ServerRuntimeContext.java @@ -71,7 +71,7 @@ public interface ServerRuntimeContext { ServerRuntimeContextService getServerRuntimeContextService(String name); - StorageProvider getStorageProvider(Class<? extends StorageProvider> clazz); + <T extends StorageProvider> T getStorageProvider(Class<T> clazz); void registerComponent(Component component); diff --git a/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/MUCModule.java b/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/MUCModule.java index 71f4422..1aaa388 100644 --- a/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/MUCModule.java +++ b/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/MUCModule.java @@ -105,9 +105,9 @@ public class MUCModule extends DefaultDiscoAwareModule implements Component, Com processor.addHandler(new MUCIqAdminHandler(conference)); stanzaProcessor = processor; - RoomStorageProvider roomStorageProvider = (RoomStorageProvider) serverRuntimeContext + RoomStorageProvider roomStorageProvider = serverRuntimeContext .getStorageProvider(RoomStorageProvider.class); - OccupantStorageProvider occupantStorageProvider = (OccupantStorageProvider) serverRuntimeContext + OccupantStorageProvider occupantStorageProvider = serverRuntimeContext .getStorageProvider(OccupantStorageProvider.class); if (roomStorageProvider == null) { diff --git a/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PublishSubscribeModule.java b/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PublishSubscribeModule.java index fca334c..9ae9448 100644 --- a/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PublishSubscribeModule.java +++ b/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PublishSubscribeModule.java @@ -120,9 +120,9 @@ public class PublishSubscribeModule extends DefaultDiscoAwareModule implements C fullDomain = EntityUtils.createComponentDomain(subdomain, serverRuntimeContext); - CollectionNodeStorageProvider collectionNodeStorageProvider = (CollectionNodeStorageProvider) serverRuntimeContext + CollectionNodeStorageProvider collectionNodeStorageProvider = serverRuntimeContext .getStorageProvider(CollectionNodeStorageProvider.class); - LeafNodeStorageProvider leafNodeStorageProvider = (LeafNodeStorageProvider) serverRuntimeContext + LeafNodeStorageProvider leafNodeStorageProvider = serverRuntimeContext .getStorageProvider(LeafNodeStorageProvider.class); if (collectionNodeStorageProvider == null) { diff --git a/server/extensions/xep0065-socks/src/test/java/org/apache/vysper/xmpp/extension/xep0065_socks/Socks5IntegrationTest.java b/server/extensions/xep0065-socks/src/test/java/org/apache/vysper/xmpp/extension/xep0065_socks/Socks5IntegrationTest.java index 4d63419..96d4390 100644 --- a/server/extensions/xep0065-socks/src/test/java/org/apache/vysper/xmpp/extension/xep0065_socks/Socks5IntegrationTest.java +++ b/server/extensions/xep0065-socks/src/test/java/org/apache/vysper/xmpp/extension/xep0065_socks/Socks5IntegrationTest.java @@ -202,7 +202,7 @@ public class Socks5IntegrationTest { server.start(); System.out.println("vysper server is running..."); - RosterManager rosterManager = (RosterManager) server.getServerRuntimeContext() + RosterManager rosterManager = server.getServerRuntimeContext() .getStorageProvider(RosterManager.class); rosterManager.addContact(USER1, new RosterItem(USER2, SubscriptionType.BOTH)); rosterManager.addContact(USER2, new RosterItem(USER1, SubscriptionType.BOTH));