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 2009/08/24 15:43:23 UTC
svn commit: r807212 - in /mina/sandbox/vysper/trunk/server/core/src:
main/java/org/apache/vysper/xmpp/delivery/inbound/
main/java/org/apache/vysper/xmpp/server/
test/java/org/apache/vysper/xmpp/delivery/inbound/
Author: berndf
Date: Mon Aug 24 13:43:22 2009
New Revision: 807212
URL: http://svn.apache.org/viewvc?rev=807212&view=rev
Log:
VYSPER-176: prepare routing inbound stanzas to a component
Modified:
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInboundStanzaRelay.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/XMPPServer.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringStanzaRelayTestCase.java
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInboundStanzaRelay.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInboundStanzaRelay.java?rev=807212&r1=807211&r2=807212&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInboundStanzaRelay.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInboundStanzaRelay.java Mon Aug 24 13:43:22 2009
@@ -21,6 +21,7 @@
import org.apache.vysper.storage.StorageProviderRegistry;
import org.apache.vysper.xmpp.addressing.Entity;
+import org.apache.vysper.xmpp.addressing.EntityImpl;
import org.apache.vysper.xmpp.authorization.AccountManagement;
import org.apache.vysper.xmpp.protocol.SessionStateHolder;
import org.apache.vysper.xmpp.protocol.StanzaHandler;
@@ -75,12 +76,14 @@
protected ExecutorService executor;
protected AccountManagement accountVerification;
protected OfflineStanzaReceiver offlineStanzaReceiver = null;
+ protected Entity serverEntity;
- public DeliveringInboundStanzaRelay(ResourceRegistry resourceRegistry, StorageProviderRegistry storageProviderRegistry) {
- this(resourceRegistry, (AccountManagement)storageProviderRegistry.retrieve(AccountManagement.class));
+ public DeliveringInboundStanzaRelay(Entity serverEntity, ResourceRegistry resourceRegistry, StorageProviderRegistry storageProviderRegistry) {
+ this(serverEntity, resourceRegistry, (AccountManagement)storageProviderRegistry.retrieve(AccountManagement.class));
}
- public DeliveringInboundStanzaRelay(ResourceRegistry resourceRegistry, AccountManagement accountVerification) {
+ public DeliveringInboundStanzaRelay(Entity serverEntity, ResourceRegistry resourceRegistry, AccountManagement accountManagement) {
+ this.serverEntity = serverEntity;
this.resourceRegistry = resourceRegistry;
this.accountVerification = accountVerification;
int coreThreadCount = 10;
@@ -143,6 +146,19 @@
@SpecCompliant(spec="draft-ietf-xmpp-3921bis-00", section="8.", status= SpecCompliant.ComplianceStatus.IN_PROGRESS, coverage = SpecCompliant.ComplianceCoverage.COMPLETE)
protected RelayResult deliver() {
try {
+ String receiverDomain = receiver.getDomain();
+ if (receiverDomain != null && !receiverDomain.equals(serverEntity.getDomain())) {
+ if (!receiverDomain.endsWith("." + serverEntity.getDomain())) {
+ return new RelayResult(new ServiceNotAvailableException("unsupported domain " + receiverDomain));
+ }
+
+ // TODO get components runtime context
+
+ // pass through to component all stanzas like component.vysper.org for server domain vysper.org
+ // TODO INBOUND_STANZA_PROTOCOL_WORKER.processStanza(null, sessionStateHolder, stanza, stanzaHandler);
+ throw new RuntimeException("component delivery not implemented");
+ }
+
if (receiver.isResourceSet()) {
return deliverToFullJID();
} else {
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/XMPPServer.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/XMPPServer.java?rev=807212&r1=807211&r2=807212&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/XMPPServer.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/XMPPServer.java Mon Aug 24 13:43:22 2009
@@ -99,8 +99,10 @@
ResourceRegistry resourceRegistry = new ResourceRegistry();
+ EntityImpl serverEntity = new EntityImpl(null, serverDomain, null);
+
AccountManagement accountManagement = (AccountManagement) storageProviderRegistry.retrieve(AccountManagement.class);
- DeliveringInboundStanzaRelay internalStanzaRelay = new DeliveringInboundStanzaRelay(resourceRegistry, accountManagement);
+ DeliveringInboundStanzaRelay internalStanzaRelay = new DeliveringInboundStanzaRelay(serverEntity, resourceRegistry, accountManagement);
RecordingStanzaRelay externalStanzaRelay = new RecordingStanzaRelay();
StanzaRelayBroker stanzaRelayBroker = new StanzaRelayBroker();
@@ -110,8 +112,6 @@
ServerFeatures serverFeatures = new ServerFeatures();
serverFeatures.setAuthenticationMethods(saslMechanisms);
- EntityImpl serverEntity = new EntityImpl(null, serverDomain, null);
-
serverRuntimeContext = new DefaultServerRuntimeContext(serverEntity, stanzaRelayBroker, serverFeatures, dictionaries, resourceRegistry);
serverRuntimeContext.setStorageProviderRegistry(storageProviderRegistry);
serverRuntimeContext.setTlsContextFactory(tlsContextFactory);
Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringStanzaRelayTestCase.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringStanzaRelayTestCase.java?rev=807212&r1=807211&r2=807212&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringStanzaRelayTestCase.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringStanzaRelayTestCase.java Mon Aug 24 13:43:22 2009
@@ -57,8 +57,8 @@
protected void setUp() throws Exception {
super.setUp();
- accountVerification = new AccountVerificationMock();
- stanzaRelay = new DeliveringInboundStanzaRelay(resourceRegistry, accountVerification);
+ accountVerification = new AccountVerificationMock();
+ stanzaRelay = new DeliveringInboundStanzaRelay(EntityImpl.parse("vysper.org"), resourceRegistry, accountVerification);
}
public void testSimpleRelay() throws EntityFormatException, XMLSemanticError, DeliveryException {