You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by be...@apache.org on 2011/09/16 16:32:57 UTC
svn commit: r1171590 - in /mina/vysper/trunk/server/core/src:
main/java/org/apache/vysper/xmpp/server/
main/java/org/apache/vysper/xmpp/state/resourcebinding/
test/java/org/apache/vysper/stanzasession/
test/java/org/apache/vysper/xmpp/delivery/inbound/...
Author: berndf
Date: Fri Sep 16 14:32:56 2011
New Revision: 1171590
URL: http://svn.apache.org/viewvc?rev=1171590&view=rev
Log:
VYSPER-266. introduce interface for ResourceRegistry. initial patch by Sasha Dolgy. thanks for contributing! (However, I re-created the patch by fully relying on the excellent Intellij IDEA refactoring support)
Added:
mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/DefaultResourceRegistry.java
- copied, changed from r1140701, mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistry.java
mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistry.java
Modified:
mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/DefaultServerRuntimeContext.java
mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/XMPPServer.java
mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java
mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInteralInboundStanzaRelayTestCase.java
mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistryTestCase.java
Modified: mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/DefaultServerRuntimeContext.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/DefaultServerRuntimeContext.java?rev=1171590&r1=1171589&r2=1171590&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/DefaultServerRuntimeContext.java (original)
+++ mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/DefaultServerRuntimeContext.java Fri Sep 16 14:32:56 2011
@@ -50,6 +50,7 @@ import org.apache.vysper.xmpp.server.s2s
import org.apache.vysper.xmpp.stanza.Stanza;
import org.apache.vysper.xmpp.state.presence.LatestPresenceCache;
import org.apache.vysper.xmpp.state.presence.SimplePresenceCache;
+import org.apache.vysper.xmpp.state.resourcebinding.DefaultResourceRegistry;
import org.apache.vysper.xmpp.state.resourcebinding.ResourceRegistry;
import org.apache.vysper.xmpp.uuid.JVMBuiltinUUIDGenerator;
import org.apache.vysper.xmpp.uuid.UUIDGenerator;
@@ -135,7 +136,7 @@ public class DefaultServerRuntimeContext
public DefaultServerRuntimeContext(Entity serverEntity, StanzaRelay stanzaRelay) {
this.serverEntity = serverEntity;
this.stanzaRelay = stanzaRelay;
- this.resourceRegistry = new ResourceRegistry();
+ this.resourceRegistry = new DefaultResourceRegistry();
this.stanzaHandlerLookup = new StanzaHandlerLookup(this);
}
Modified: mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/XMPPServer.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/XMPPServer.java?rev=1171590&r1=1171589&r2=1171590&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/XMPPServer.java (original)
+++ mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/XMPPServer.java Fri Sep 16 14:32:56 2011
@@ -42,6 +42,7 @@ import org.apache.vysper.xmpp.modules.ex
import org.apache.vysper.xmpp.modules.roster.RosterModule;
import org.apache.vysper.xmpp.modules.servicediscovery.ServiceDiscoveryModule;
import org.apache.vysper.xmpp.protocol.HandlerDictionary;
+import org.apache.vysper.xmpp.state.resourcebinding.DefaultResourceRegistry;
import org.apache.vysper.xmpp.state.resourcebinding.ResourceRegistry;
/**
@@ -129,7 +130,7 @@ public class XMPPServer {
List<HandlerDictionary> dictionaries = new ArrayList<HandlerDictionary>();
addCoreDictionaries(dictionaries);
- ResourceRegistry resourceRegistry = new ResourceRegistry();
+ ResourceRegistry resourceRegistry = new DefaultResourceRegistry();
EntityImpl serverEntity = new EntityImpl(null, serverDomain, null);
Copied: mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/DefaultResourceRegistry.java (from r1140701, mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistry.java)
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/DefaultResourceRegistry.java?p2=mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/DefaultResourceRegistry.java&p1=mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistry.java&r1=1140701&r2=1171590&rev=1171590&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistry.java (original)
+++ mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/DefaultResourceRegistry.java Fri Sep 16 14:32:56 2011
@@ -41,9 +41,9 @@ import org.slf4j.LoggerFactory;
*
* @author The Apache MINA Project (dev@mina.apache.org)
*/
-public class ResourceRegistry {
+public class DefaultResourceRegistry implements ResourceRegistry {
- final Logger logger = LoggerFactory.getLogger(ResourceRegistry.class);
+ final Logger logger = LoggerFactory.getLogger(DefaultResourceRegistry.class);
private static class SessionData {
@@ -245,7 +245,7 @@ public class ResourceRegistry {
/**
* retrieve IDs of all bound resources for this entity
*/
- protected List<String> getBoundResources(Entity entity) {
+ public List<String> getBoundResources(Entity entity) {
return getBoundResources(entity, true);
}
Added: mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistry.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistry.java?rev=1171590&view=auto
==============================================================================
--- mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistry.java (added)
+++ mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistry.java Fri Sep 16 14:32:56 2011
@@ -0,0 +1,44 @@
+package org.apache.vysper.xmpp.state.resourcebinding;
+
+import org.apache.vysper.xmpp.addressing.Entity;
+import org.apache.vysper.xmpp.server.SessionContext;
+
+import java.util.List;
+
+/**
+ */
+public interface ResourceRegistry {
+ SessionContext getSessionContext(String resourceId);
+
+ boolean setResourceState(String resourceId, ResourceState state);
+
+ ResourceState getResourceState(String resourceId);
+
+ List<String> getInterestedResources(Entity entity);
+
+ long getSessionCount();
+
+ String getUniqueResourceForSession(SessionContext sessionContext);
+
+ List<SessionContext> getSessions(Entity entity);
+
+ List<SessionContext> getSessions(Entity entity, Integer prioThreshold);
+
+ List<SessionContext> getHighestPrioSessions(Entity entity, Integer prioThreshold);
+
+ void setResourcePriority(String resourceId, int priority);
+
+ List<String> getAvailableResources(Entity entity);
+
+ String bindSession(SessionContext sessionContext);
+
+ boolean unbindResource(String resourceId);
+
+ void unbindSession(SessionContext unbindingSessionContext);
+
+ List<String> getBoundResources(Entity entity);
+
+ List<String> getBoundResources(Entity entity, boolean considerBareID);
+
+ List<String> getResourcesForSession(SessionContext sessionContext);
+}
Modified: mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java?rev=1171590&r1=1171589&r2=1171590&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java (original)
+++ mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java Fri Sep 16 14:32:56 2011
@@ -31,7 +31,7 @@ import org.apache.vysper.xmpp.server.Def
import org.apache.vysper.xmpp.server.ServerFeatures;
import org.apache.vysper.xmpp.stanza.Stanza;
import org.apache.vysper.xmpp.stanza.StanzaBuilder;
-import org.apache.vysper.xmpp.state.resourcebinding.ResourceRegistry;
+import org.apache.vysper.xmpp.state.resourcebinding.DefaultResourceRegistry;
import org.apache.vysper.xmpp.writer.DenseStanzaLogRenderer;
/**
@@ -54,7 +54,7 @@ public class StanzaSessionTestCase exten
dictionaries.add(new org.apache.vysper.xmpp.modules.roster.RosterDictionary());
DefaultServerRuntimeContext serverContext = new DefaultServerRuntimeContext(new EntityImpl(null, "test", null),
- relay, new ServerFeatures(), dictionaries, new ResourceRegistry());
+ relay, new ServerFeatures(), dictionaries, new DefaultResourceRegistry());
relay.setServerRuntimeContext(serverContext);
Modified: mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInteralInboundStanzaRelayTestCase.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInteralInboundStanzaRelayTestCase.java?rev=1171590&r1=1171589&r2=1171590&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInteralInboundStanzaRelayTestCase.java (original)
+++ mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInteralInboundStanzaRelayTestCase.java Fri Sep 16 14:32:56 2011
@@ -35,13 +35,14 @@ import org.apache.vysper.xmpp.server.Tes
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.ResourceRegistry;
/**
*/
public class DeliveringInteralInboundStanzaRelayTestCase extends TestCase {
- protected ResourceRegistry resourceRegistry = new ResourceRegistry();
+ protected ResourceRegistry resourceRegistry = new DefaultResourceRegistry();
protected AccountManagement accountVerification;
Modified: mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistryTestCase.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistryTestCase.java?rev=1171590&r1=1171589&r2=1171590&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistryTestCase.java (original)
+++ mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistryTestCase.java Fri Sep 16 14:32:56 2011
@@ -32,7 +32,7 @@ import org.apache.vysper.xmpp.server.Tes
*/
public class ResourceRegistryTestCase extends TestCase {
- protected ResourceRegistry resourceRegistry = new ResourceRegistry();
+ protected DefaultResourceRegistry resourceRegistry = new DefaultResourceRegistry();
public void testSessionNotWellDefinedForResourceBinding() {
TestSessionContext sessionContext = TestSessionContext.createSessionContext(null);