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 <[email protected]>
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));