You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ra...@apache.org on 2019/09/01 16:10:33 UTC
[mina-vysper] branch master updated: Extract
InternalResourceRegistry interface from ResourceRegistry
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 dcb2ca9 Extract InternalResourceRegistry interface from ResourceRegistry
dcb2ca9 is described below
commit dcb2ca9f4700fb296abd581bb7ea9b7e216f4ede
Author: Réda Housni Alaoui <re...@gmail.com>
AuthorDate: Sun Sep 1 18:10:24 2019 +0200
Extract InternalResourceRegistry interface from ResourceRegistry
---
.../DeliveringInternalInboundStanzaRelay.java | 13 ++++---
.../apache/vysper/xmpp/server/SessionContext.java | 1 -
.../org/apache/vysper/xmpp/server/XMPPServer.java | 3 +-
.../resourcebinding/DefaultResourceRegistry.java | 2 +-
.../resourcebinding/InternalResourceRegistry.java | 45 ++++++++++++++++++++++
.../state/resourcebinding/ResourceRegistry.java | 7 ----
...eliveringInteralInboundStanzaRelayTestCase.java | 3 +-
7 files changed, 57 insertions(+), 17 deletions(-)
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInternalInboundStanzaRelay.java b/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInternalInboundStanzaRelay.java
index 7b53abc..8c4b502 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInternalInboundStanzaRelay.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInternalInboundStanzaRelay.java
@@ -63,6 +63,7 @@ import org.apache.vysper.xmpp.stanza.MessageStanzaType;
import org.apache.vysper.xmpp.stanza.PresenceStanza;
import org.apache.vysper.xmpp.stanza.Stanza;
import org.apache.vysper.xmpp.stanza.XMPPCoreStanza;
+import org.apache.vysper.xmpp.state.resourcebinding.InternalResourceRegistry;
import org.apache.vysper.xmpp.state.resourcebinding.ResourceRegistry;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -101,7 +102,7 @@ public class DeliveringInternalInboundStanzaRelay implements StanzaRelay, Manage
private static final Integer PRIO_THRESHOLD = 0;
- protected ResourceRegistry resourceRegistry;
+ protected InternalResourceRegistry resourceRegistry;
protected ExecutorService executor;
@@ -119,16 +120,16 @@ public class DeliveringInternalInboundStanzaRelay implements StanzaRelay, Manage
protected long lastDumpTimestamp = 0;
- public DeliveringInternalInboundStanzaRelay(Entity serverEntity, ResourceRegistry resourceRegistry,
- StorageProviderRegistry storageProviderRegistry, ComponentRegistry componentRegistry) {
+ public DeliveringInternalInboundStanzaRelay(Entity serverEntity, InternalResourceRegistry resourceRegistry,
+ StorageProviderRegistry storageProviderRegistry, ComponentRegistry componentRegistry) {
this(serverEntity, resourceRegistry, componentRegistry,
storageProviderRegistry.retrieve(AccountManagement.class),
storageProviderRegistry.retrieve(OfflineStorageProvider.class));
}
- public DeliveringInternalInboundStanzaRelay(Entity serverEntity, ResourceRegistry resourceRegistry,
- ComponentRegistry componentRegistry, AccountManagement accountVerification,
- OfflineStanzaReceiver offlineStanzaReceiver) {
+ public DeliveringInternalInboundStanzaRelay(Entity serverEntity, InternalResourceRegistry resourceRegistry,
+ ComponentRegistry componentRegistry, AccountManagement accountVerification,
+ OfflineStanzaReceiver offlineStanzaReceiver) {
this.serverEntity = serverEntity;
this.resourceRegistry = resourceRegistry;
this.componentRegistry = requireNonNull(componentRegistry);
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/server/SessionContext.java b/server/core/src/main/java/org/apache/vysper/xmpp/server/SessionContext.java
index f0d14f9..6101863 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/server/SessionContext.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/server/SessionContext.java
@@ -22,7 +22,6 @@ package org.apache.vysper.xmpp.server;
import org.apache.vysper.xmpp.addressing.Entity;
import org.apache.vysper.xmpp.state.resourcebinding.BindException;
-import org.apache.vysper.xmpp.writer.StanzaWriter;
/**
* provides the server-side session with its context data
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/server/XMPPServer.java b/server/core/src/main/java/org/apache/vysper/xmpp/server/XMPPServer.java
index 095f45e..d4781b6 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/server/XMPPServer.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/server/XMPPServer.java
@@ -54,6 +54,7 @@ import org.apache.vysper.xmpp.protocol.StanzaProcessor;
import org.apache.vysper.xmpp.server.components.AlterableComponentRegistry;
import org.apache.vysper.xmpp.server.components.SimpleComponentRegistry;
import org.apache.vysper.xmpp.state.resourcebinding.DefaultResourceRegistry;
+import org.apache.vysper.xmpp.state.resourcebinding.InternalResourceRegistry;
import org.apache.vysper.xmpp.state.resourcebinding.ResourceRegistry;
/**
@@ -179,7 +180,7 @@ public class XMPPServer {
List<HandlerDictionary> dictionaries = new ArrayList<>();
addCoreDictionaries(dictionaries);
- ResourceRegistry resourceRegistry = new DefaultResourceRegistry();
+ InternalResourceRegistry resourceRegistry = new DefaultResourceRegistry();
EntityImpl serverEntity = new EntityImpl(null, serverDomain, null);
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/DefaultResourceRegistry.java b/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/DefaultResourceRegistry.java
index 494aa7c..0be69e7 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/DefaultResourceRegistry.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/DefaultResourceRegistry.java
@@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory;
*
* @author The Apache MINA Project (dev@mina.apache.org)
*/
-public class DefaultResourceRegistry implements ResourceRegistry {
+public class DefaultResourceRegistry implements InternalResourceRegistry {
final Logger logger = LoggerFactory.getLogger(DefaultResourceRegistry.class);
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/InternalResourceRegistry.java b/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/InternalResourceRegistry.java
new file mode 100644
index 0000000..718a177
--- /dev/null
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/InternalResourceRegistry.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.vysper.xmpp.state.resourcebinding;
+
+import java.util.List;
+
+import org.apache.vysper.xmpp.addressing.Entity;
+import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+
+/**
+ * Resource registry giving access to its internal parts. This abstraction
+ * should only be provided to internal framework parts. Technical components
+ * like {@link org.apache.vysper.xmpp.protocol.StanzaHandler},
+ * {@link org.apache.vysper.xmpp.modules.Module} should not be provided the
+ * methods described by this contract.
+ *
+ * @author Réda Housni Alaoui
+ */
+public interface InternalResourceRegistry extends ResourceRegistry {
+
+ StanzaReceivingSessionContext getSessionContext(String resourceId);
+
+ List<StanzaReceivingSessionContext> getSessions(Entity entity);
+
+ List<StanzaReceivingSessionContext> getSessions(Entity entity, Integer prioThreshold);
+
+ List<StanzaReceivingSessionContext> getHighestPrioSessions(Entity entity, Integer prioThreshold);
+}
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistry.java b/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistry.java
index 27f3e93..07f945d 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistry.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistry.java
@@ -9,7 +9,6 @@ import java.util.List;
/**
*/
public interface ResourceRegistry {
- StanzaReceivingSessionContext getSessionContext(String resourceId);
boolean setResourceState(String resourceId, ResourceState state);
@@ -21,12 +20,6 @@ public interface ResourceRegistry {
String getUniqueResourceForSession(SessionContext sessionContext);
- List<StanzaReceivingSessionContext> getSessions(Entity entity);
-
- List<StanzaReceivingSessionContext> getSessions(Entity entity, Integer prioThreshold);
-
- List<StanzaReceivingSessionContext> getHighestPrioSessions(Entity entity, Integer prioThreshold);
-
void setResourcePriority(String resourceId, int priority);
List<String> getAvailableResources(Entity entity);
diff --git a/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInteralInboundStanzaRelayTestCase.java b/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInteralInboundStanzaRelayTestCase.java
index ed63a6d..de0cfb3 100644
--- a/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInteralInboundStanzaRelayTestCase.java
+++ b/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInteralInboundStanzaRelayTestCase.java
@@ -45,6 +45,7 @@ import org.apache.vysper.xmpp.stanza.Stanza;
import org.apache.vysper.xmpp.stanza.StanzaBuilder;
import org.apache.vysper.xmpp.state.resourcebinding.BindException;
import org.apache.vysper.xmpp.state.resourcebinding.DefaultResourceRegistry;
+import org.apache.vysper.xmpp.state.resourcebinding.InternalResourceRegistry;
import org.apache.vysper.xmpp.state.resourcebinding.ResourceRegistry;
import junit.framework.Assert;
@@ -58,7 +59,7 @@ public class DeliveringInteralInboundStanzaRelayTestCase extends TestCase {
protected static final EntityImpl FROM_ENTITY = EntityImpl.parseUnchecked("userFrom@vysper.org");
- protected ResourceRegistry resourceRegistry = new DefaultResourceRegistry();
+ protected InternalResourceRegistry resourceRegistry = new DefaultResourceRegistry();
protected AccountManagement accountVerification;