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 2010/08/27 20:28:25 UTC

svn commit: r990221 - in /mina/vysper/trunk/server: core/src/main/java/org/apache/vysper/xmpp/addressing/ core/src/main/java/org/apache/vysper/xmpp/delivery/ core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/ extensions/xep0045-muc/src/main/ja...

Author: berndf
Date: Fri Aug 27 18:28:25 2010
New Revision: 990221

URL: http://svn.apache.org/viewvc?rev=990221&view=rev
Log:
VYSPER-246: introduce EntityUtils

Added:
    mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/addressing/EntityUtils.java
Modified:
    mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelayBroker.java
    mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInboundStanzaRelay.java
    mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/MUCModule.java
    mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PublishSubscribeModule.java

Added: mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/addressing/EntityUtils.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/addressing/EntityUtils.java?rev=990221&view=auto
==============================================================================
--- mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/addressing/EntityUtils.java (added)
+++ mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/addressing/EntityUtils.java Fri Aug 27 18:28:25 2010
@@ -0,0 +1,26 @@
+package org.apache.vysper.xmpp.addressing;
+
+import org.apache.vysper.xmpp.server.ServerRuntimeContext;
+
+/**
+ * provides utility methods for {@link org.apache.vysper.xmpp.addressing.Entity}
+ */
+public class EntityUtils {
+
+    public static boolean isAddressingServer(Entity toVerify, Entity serverJID) {
+        return toVerify.getDomain().equals(serverJID.getDomain());
+    }
+    
+    public static boolean isAddressingServerComponent(Entity toVerify, Entity serverJID) {
+        return toVerify.getDomain().endsWith("." + serverJID.getDomain());
+    }
+
+    public static Entity createComponentDomain(String subdomain, ServerRuntimeContext serverRuntimeContext) {
+        try {
+            return EntityImpl.parse(subdomain + "." + serverRuntimeContext.getServerEnitity().getDomain());
+        } catch (EntityFormatException e) {
+            // only happens when server entity is bad.
+            throw new RuntimeException("could not create component domain", e);
+        }
+    }
+}

Modified: mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelayBroker.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelayBroker.java?rev=990221&r1=990220&r2=990221&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelayBroker.java (original)
+++ mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelayBroker.java Fri Aug 27 18:28:25 2010
@@ -20,6 +20,7 @@
 package org.apache.vysper.xmpp.delivery;
 
 import org.apache.vysper.xmpp.addressing.Entity;
+import org.apache.vysper.xmpp.addressing.EntityUtils;
 import org.apache.vysper.xmpp.delivery.failure.DeliveryException;
 import org.apache.vysper.xmpp.delivery.failure.DeliveryFailureStrategy;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
@@ -62,8 +63,7 @@ public class StanzaRelayBroker implement
             throws DeliveryException {
 
         boolean toServerTLD = receiver == null
-                || (!receiver.isNodeSet() && serverRuntimeContext.getServerEnitity().getDomain().equals(
-                        receiver.getDomain()));
+                || (!receiver.isNodeSet() && EntityUtils.isAddressingServer(receiver, serverRuntimeContext.getServerEnitity()));
         boolean toComponent = !toServerTLD && !receiver.isNodeSet();
         if (toServerTLD) {
             // TODO handle by server

Modified: mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInboundStanzaRelay.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInboundStanzaRelay.java?rev=990221&r1=990220&r2=990221&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInboundStanzaRelay.java (original)
+++ mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInboundStanzaRelay.java Fri Aug 27 18:28:25 2010
@@ -33,6 +33,7 @@ import java.util.concurrent.atomic.Atomi
 import org.apache.vysper.compliance.SpecCompliant;
 import org.apache.vysper.storage.StorageProviderRegistry;
 import org.apache.vysper.xmpp.addressing.Entity;
+import org.apache.vysper.xmpp.addressing.EntityUtils;
 import org.apache.vysper.xmpp.authorization.AccountManagement;
 import org.apache.vysper.xmpp.delivery.OfflineStanzaReceiver;
 import org.apache.vysper.xmpp.delivery.StanzaRelay;
@@ -169,12 +170,12 @@ public class DeliveringInboundStanzaRela
         protected RelayResult deliver() {
             try {
                 String receiverDomain = receiver.getDomain();
-                if (receiverDomain != null && !receiverDomain.equals(serverEntity.getDomain())) {
+                if (receiverDomain != null && !EntityUtils.isAddressingServer(receiver, serverEntity)) {
                     if (serverRuntimeContext == null) {
                         return new RelayResult(new ServiceNotAvailableException(
                                 "cannot retrieve component from server context"));
                     }
-                    if (!receiverDomain.endsWith("." + serverEntity.getDomain())) {
+                    if (!EntityUtils.isAddressingServerComponent(receiver, serverEntity)) {
                         return new RelayResult(new ServiceNotAvailableException("unsupported domain " + receiverDomain));
                     }
 

Modified: mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/MUCModule.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/MUCModule.java?rev=990221&r1=990220&r2=990221&view=diff
==============================================================================
--- mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/MUCModule.java (original)
+++ mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/MUCModule.java Fri Aug 27 18:28:25 2010
@@ -25,6 +25,7 @@ import java.util.List;
 import org.apache.vysper.xmpp.addressing.Entity;
 import org.apache.vysper.xmpp.addressing.EntityFormatException;
 import org.apache.vysper.xmpp.addressing.EntityImpl;
+import org.apache.vysper.xmpp.addressing.EntityUtils;
 import org.apache.vysper.xmpp.delivery.failure.DeliveryException;
 import org.apache.vysper.xmpp.delivery.failure.IgnoreFailureStrategy;
 import org.apache.vysper.xmpp.modules.DefaultDiscoAwareModule;
@@ -94,11 +95,7 @@ public class MUCModule extends DefaultDi
 
         this.serverRuntimeContext = serverRuntimeContext;
 
-        try {
-            fullDomain = EntityImpl.parse(subdomain + "." + serverRuntimeContext.getServerEnitity().getDomain());
-        } catch (EntityFormatException e) {
-            throw new RuntimeException("failed to initialize MUC domain", e);
-        }
+        fullDomain = EntityUtils.createComponentDomain(subdomain, serverRuntimeContext);
 
         ComponentStanzaProcessor processor = new ComponentStanzaProcessor(serverRuntimeContext);
         processor.addHandler(new MUCPresenceHandler(conference));

Modified: mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PublishSubscribeModule.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PublishSubscribeModule.java?rev=990221&r1=990220&r2=990221&view=diff
==============================================================================
--- mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PublishSubscribeModule.java (original)
+++ mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PublishSubscribeModule.java Fri Aug 27 18:28:25 2010
@@ -26,6 +26,7 @@ import org.apache.vysper.compliance.Spec
 import org.apache.vysper.xmpp.addressing.Entity;
 import org.apache.vysper.xmpp.addressing.EntityFormatException;
 import org.apache.vysper.xmpp.addressing.EntityImpl;
+import org.apache.vysper.xmpp.addressing.EntityUtils;
 import org.apache.vysper.xmpp.modules.DefaultDiscoAwareModule;
 import org.apache.vysper.xmpp.modules.core.base.handler.MessageHandler;
 import org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.handler.PubSubCreateNodeHandler;
@@ -111,11 +112,7 @@ public class PublishSubscribeModule exte
 
         this.serverRuntimeContext = serverRuntimeContext;
 
-        try {
-            fullDomain = EntityImpl.parse(subdomain + "." + serverRuntimeContext.getServerEnitity().getDomain());
-        } catch (EntityFormatException e) {
-            throw new RuntimeException("failed to initialize PubSub domain", e);
-        }
+        fullDomain = EntityUtils.createComponentDomain(subdomain, serverRuntimeContext);
 
         CollectionNodeStorageProvider collectionNodeStorageProvider = (CollectionNodeStorageProvider) serverRuntimeContext
                 .getStorageProvider(CollectionNodeStorageProvider.class);