You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ng...@apache.org on 2010/08/28 10:53:33 UTC
svn commit: r990326 - in /mina/vysper/trunk/server/core/src:
main/java/org/apache/vysper/xmpp/delivery/
main/java/org/apache/vysper/xmpp/delivery/inbound/
main/java/org/apache/vysper/xmpp/modules/core/base/handler/
main/java/org/apache/vysper/xmpp/modu...
Author: ngn
Date: Sat Aug 28 08:53:33 2010
New Revision: 990326
URL: http://svn.apache.org/viewvc?rev=990326&view=rev
Log:
Some additional refactorings based on EntityUtils (VYSPER-246)
Added:
mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/addressing/EntityUtilsTestCase.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/core/src/main/java/org/apache/vysper/xmpp/modules/core/base/handler/RelayingIQHandler.java
mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java
mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoItemIQHandler.java
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/ServerRuntimeContext.java
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=990326&r1=990325&r2=990326&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 Sat Aug 28 08:53:33 2010
@@ -76,11 +76,9 @@ public class StanzaRelayBroker implement
//return;
}
- String domain = receiver.getDomain();
-
boolean relayToExternal = serverRuntimeContext.getServerFeatures().isRelayingToFederationServers();
- if (domain.endsWith(serverRuntimeContext.getServerEnitity().getDomain())) {
+ if (EntityUtils.isAddressingServerComponent(receiver, serverRuntimeContext.getServerEnitity()) || toComponent) {
internalRelay.relay(receiver, stanza, deliveryFailureStrategy);
} else {
if (!relayToExternal)
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=990326&r1=990325&r2=990326&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 Sat Aug 28 08:53:33 2010
@@ -179,7 +179,7 @@ public class DeliveringInboundStanzaRela
return new RelayResult(new ServiceNotAvailableException("unsupported domain " + receiverDomain));
}
- StanzaProcessor processor = serverRuntimeContext.getComponentStanzaProcessor(receiverDomain);
+ StanzaProcessor processor = serverRuntimeContext.getComponentStanzaProcessor(receiver);
if (processor == null) {
return new RelayResult(new ServiceNotAvailableException(
"cannot retrieve component stanza processor for" + receiverDomain));
Modified: mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/base/handler/RelayingIQHandler.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/base/handler/RelayingIQHandler.java?rev=990326&r1=990325&r2=990326&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/base/handler/RelayingIQHandler.java (original)
+++ mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/base/handler/RelayingIQHandler.java Sat Aug 28 08:53:33 2010
@@ -90,7 +90,7 @@ public class RelayingIQHandler extends I
serverRuntimeContext.getStanzaRelay().relay(to, forwardedStanza,
new ReturnErrorToSenderFailureStrategy(serverRuntimeContext.getStanzaRelay()));
} catch (DeliveryException e) {
- final Logger logger = LoggerFactory.getLogger(RelayingIQHandler.class);
+ // TODO how to handle this exception?
}
} else {
// write inbound stanza to the user
Modified: mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java?rev=990326&r1=990325&r2=990326&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java (original)
+++ mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java Sat Aug 28 08:53:33 2010
@@ -95,7 +95,7 @@ public class DiscoInfoIQHandler extends
Entity serviceEntity = serverRuntimeContext.getServerEnitity();
if (to == null || to.equals(serviceEntity)) {
isServerInfoRequest = true; // this can only be meant to query the server
- } else if (serverRuntimeContext.getComponentStanzaProcessor(to.getDomain()) != null) {
+ } else if (serverRuntimeContext.getComponentStanzaProcessor(to) != null) {
isComponentInfoRequest = true; // this is a query to a component
} else if (!to.isNodeSet()) {
isServerInfoRequest = serviceEntity.equals(to);
Modified: mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoItemIQHandler.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoItemIQHandler.java?rev=990326&r1=990325&r2=990326&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoItemIQHandler.java (original)
+++ mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoItemIQHandler.java Sat Aug 28 08:53:33 2010
@@ -89,7 +89,7 @@ public class DiscoItemIQHandler extends
isServerInfoRequest = true; // this can only be meant to query the server
} else if (!to.isNodeSet()) {
isServerInfoRequest = serverRuntimeContext.getServerEnitity().equals(to);
- isComponentInfoRequest = serverRuntimeContext.getComponentStanzaProcessor(to.getDomain()) != null;
+ isComponentInfoRequest = serverRuntimeContext.getComponentStanzaProcessor(to) != null;
if (!isServerInfoRequest && !isComponentInfoRequest) {
return ServerErrorResponses.getInstance().getStanzaError(StanzaErrorCondition.ITEM_NOT_FOUND, stanza,
StanzaErrorType.CANCEL,
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=990326&r1=990325&r2=990326&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 Sat Aug 28 08:53:33 2010
@@ -30,6 +30,7 @@ import org.apache.vysper.storage.OpenSto
import org.apache.vysper.storage.StorageProvider;
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.UserAuthorization;
import org.apache.vysper.xmpp.cryptography.TLSContextFactory;
import org.apache.vysper.xmpp.delivery.StanzaRelay;
@@ -339,11 +340,12 @@ public class DefaultServerRuntimeContext
componentMap.put(component.getSubdomain(), component);
}
- public StanzaProcessor getComponentStanzaProcessor(String domain) {
+ public StanzaProcessor getComponentStanzaProcessor(Entity entity) {
String serverDomain = getServerEnitity().getDomain();
- if (!domain.endsWith(serverDomain)) {
+ if (!EntityUtils.isAddressingServerComponent(entity, getServerEnitity())) {
return null;
}
+ String domain = entity.getDomain();
String subdomain = domain.replace("." + serverDomain, "");
Component component = componentMap.get(subdomain);
if (component == null)
Modified: mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/ServerRuntimeContext.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/ServerRuntimeContext.java?rev=990326&r1=990325&r2=990326&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/ServerRuntimeContext.java (original)
+++ mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/ServerRuntimeContext.java Sat Aug 28 08:53:33 2010
@@ -70,5 +70,5 @@ public interface ServerRuntimeContext {
void registerComponent(Component component);
- StanzaProcessor getComponentStanzaProcessor(String domain);
+ StanzaProcessor getComponentStanzaProcessor(Entity entity);
}
Added: mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/addressing/EntityUtilsTestCase.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/addressing/EntityUtilsTestCase.java?rev=990326&view=auto
==============================================================================
--- mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/addressing/EntityUtilsTestCase.java (added)
+++ mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/addressing/EntityUtilsTestCase.java Sat Aug 28 08:53:33 2010
@@ -0,0 +1,64 @@
+/*
+ * 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.addressing;
+
+import junit.framework.TestCase;
+
+public class EntityUtilsTestCase extends TestCase {
+
+ private Entity server = EntityImpl.parseUnchecked("vysper.org");
+
+ public void testIsComponent() {
+ assertAddressingServerComponent("foo.vysper.org");
+ assertAddressingServerComponent("bar@foo.vysper.org");
+ assertAddressingServerComponent("bar@foo.vysper.org/xyz");
+ assertAddressingServerComponent("bar.foo.vysper.org");
+ assertNotAddressingServerComponent("vysper.org");
+ assertNotAddressingServerComponent("foovysper.org");
+ assertNotAddressingServerComponent("foo.org");
+ }
+
+ public void testIsInternal() {
+ assertAddressingServer("vysper.org");
+ assertNotAddressingServer("foo.vysper.org");
+ assertAddressingServer("bar@vysper.org");
+ assertAddressingServer("bar@vysper.org/xyz");
+ assertNotAddressingServer("foovysper.org");
+ assertNotAddressingServer("foo.org");
+ }
+
+
+ private void assertAddressingServerComponent(String entity) {
+ assertTrue(EntityUtils.isAddressingServerComponent(EntityImpl.parseUnchecked(entity), server));
+ }
+
+ private void assertNotAddressingServerComponent(String entity) {
+ assertFalse(EntityUtils.isAddressingServerComponent(EntityImpl.parseUnchecked(entity), server));
+ }
+
+ private void assertAddressingServer(String entity) {
+ assertTrue(EntityUtils.isAddressingServer(EntityImpl.parseUnchecked(entity), server));
+ }
+
+ private void assertNotAddressingServer(String entity) {
+ assertFalse(EntityUtils.isAddressingServer(EntityImpl.parseUnchecked(entity), server));
+ }
+
+}
Re: svn commit: r990326 - in /mina/vysper/trunk/server/core/src:
main/java/org/apache/vysper/xmpp/delivery/ main/java/org/apache/vysper/xmpp/delivery/inbound/
main/java/org/apache/vysper/xmpp/modules/core/base/handler/ main/java/org/apache/vysper/xmpp/modu...
Posted by Bernd Fondermann <bf...@brainlounge.de>.
ngn@apache.org wrote:
> Author: ngn
> Date: Sat Aug 28 08:53:33 2010
> New Revision: 990326
>
> URL: http://svn.apache.org/viewvc?rev=990326&view=rev
> Log:
> Some additional refactorings based on EntityUtils (VYSPER-246)
>
> Added:
> mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/addressing/EntityUtilsTestCase.java
> Modified:
> mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelayBroker.java
>
> 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=990326&r1=990325&r2=990326&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 Sat Aug 28 08:53:33 2010
> @@ -76,11 +76,9 @@ public class StanzaRelayBroker implement
> //return;
> }
>
> - String domain = receiver.getDomain();
> -
> boolean relayToExternal = serverRuntimeContext.getServerFeatures().isRelayingToFederationServers();
>
> - if (domain.endsWith(serverRuntimeContext.getServerEnitity().getDomain())) {
> + if (EntityUtils.isAddressingServerComponent(receiver, serverRuntimeContext.getServerEnitity()) || toComponent) {
> internalRelay.relay(receiver, stanza, deliveryFailureStrategy);
> } else {
> if (!relayToExternal)
I don't think the last change is equivalent.
domain.endsWith(serverRuntimeContext.getServerEnitity().getDomain()
is true for domain values of "chat.vysper.org" and "vysper.org"
while EntityUtils.isAddressingServerComponent(receiver, ...getDomain())
is true for "chat.vysper.org" but false for "vysper.org"
I didn't change this line in the first place, but should have commmented
it instead.
I'm +1 to revert, WDYT?
Bernd
Re: svn commit: r990326 - in /mina/vysper/trunk/server/core/src:
main/java/org/apache/vysper/xmpp/delivery/ main/java/org/apache/vysper/xmpp/delivery/inbound/
main/java/org/apache/vysper/xmpp/modules/core/base/handler/ main/java/org/apache/vysper/xmpp/modu...
Posted by Bernd Fondermann <bf...@brainlounge.de>.
ngn@apache.org wrote:
> Author: ngn
> Date: Sat Aug 28 08:53:33 2010
> New Revision: 990326
>
> URL: http://svn.apache.org/viewvc?rev=990326&view=rev
> Log:
> Some additional refactorings based on EntityUtils (VYSPER-246)
>
> Added:
> mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/addressing/EntityUtilsTestCase.java
> Modified:
> mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelayBroker.java
>
> 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=990326&r1=990325&r2=990326&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 Sat Aug 28 08:53:33 2010
> @@ -76,11 +76,9 @@ public class StanzaRelayBroker implement
> //return;
> }
>
> - String domain = receiver.getDomain();
> -
> boolean relayToExternal = serverRuntimeContext.getServerFeatures().isRelayingToFederationServers();
>
> - if (domain.endsWith(serverRuntimeContext.getServerEnitity().getDomain())) {
> + if (EntityUtils.isAddressingServerComponent(receiver, serverRuntimeContext.getServerEnitity()) || toComponent) {
> internalRelay.relay(receiver, stanza, deliveryFailureStrategy);
> } else {
> if (!relayToExternal)
ok, fixed already in r990362, looks fine.
Bernd