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