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));

Reply via email to