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