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 <reda.housniala...@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 (d...@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("userf...@vysper.org"); - protected ResourceRegistry resourceRegistry = new DefaultResourceRegistry(); + protected InternalResourceRegistry resourceRegistry = new DefaultResourceRegistry(); protected AccountManagement accountVerification;