You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by be...@apache.org on 2008/04/23 08:48:42 UTC

svn commit: r650762 - in /labs/vysper/src/main/java/org/apache/vysper/xmpp: addressing/Entity.java addressing/EntityImpl.java delivery/MasterStanzaRelay.java modules/core/base/handler/MessageHandler.java

Author: berndf
Date: Tue Apr 22 23:48:35 2008
New Revision: 650762

URL: http://svn.apache.org/viewvc?rev=650762&view=rev
Log:
[vysper] more details for relaying stanzas (LABS-124)

Modified:
    labs/vysper/src/main/java/org/apache/vysper/xmpp/addressing/Entity.java
    labs/vysper/src/main/java/org/apache/vysper/xmpp/addressing/EntityImpl.java
    labs/vysper/src/main/java/org/apache/vysper/xmpp/delivery/MasterStanzaRelay.java
    labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/core/base/handler/MessageHandler.java

Modified: labs/vysper/src/main/java/org/apache/vysper/xmpp/addressing/Entity.java
URL: http://svn.apache.org/viewvc/labs/vysper/src/main/java/org/apache/vysper/xmpp/addressing/Entity.java?rev=650762&r1=650761&r2=650762&view=diff
==============================================================================
--- labs/vysper/src/main/java/org/apache/vysper/xmpp/addressing/Entity.java (original)
+++ labs/vysper/src/main/java/org/apache/vysper/xmpp/addressing/Entity.java Tue Apr 22 23:48:35 2008
@@ -55,5 +55,8 @@
     String getBareJID();
     
     String getCanonicalizedName();
+    
+    boolean isNodeSet();
+    boolean isResourceSet();
 
 }

Modified: labs/vysper/src/main/java/org/apache/vysper/xmpp/addressing/EntityImpl.java
URL: http://svn.apache.org/viewvc/labs/vysper/src/main/java/org/apache/vysper/xmpp/addressing/EntityImpl.java?rev=650762&r1=650761&r2=650762&view=diff
==============================================================================
--- labs/vysper/src/main/java/org/apache/vysper/xmpp/addressing/EntityImpl.java (original)
+++ labs/vysper/src/main/java/org/apache/vysper/xmpp/addressing/EntityImpl.java Tue Apr 22 23:48:35 2008
@@ -79,23 +79,32 @@
 
 	public String getFullQualifiedName() {
 		StringBuffer buffer = new StringBuffer();
-		if (node != null && !"".equals(node))
+		if (isNodeSet())
 			buffer.append(node).append("@");
 		buffer.append(domain);
-		if (resource != null && !"".equals(resource))
+		if (isResourceSet())
 			buffer.append("/").append(resource);
 		return buffer.toString();
 	}
 
-	public String getBareJID() {
+    public String getBareJID() {
 		return null;
 	}
 
-	public String getCanonicalizedName() {
+    public String getCanonicalizedName() {
 		return null;
 	}
 
-	public boolean equals(Object o) {
+    public boolean isNodeSet() {
+        return node != null && !"".equals(node);
+    }
+
+    public boolean isResourceSet() {
+        return resource != null && !"".equals(resource);
+    }
+
+
+    public boolean equals(Object o) {
 		if (this == o)
 			return true;
 		if (o == null || !(o instanceof Entity))

Modified: labs/vysper/src/main/java/org/apache/vysper/xmpp/delivery/MasterStanzaRelay.java
URL: http://svn.apache.org/viewvc/labs/vysper/src/main/java/org/apache/vysper/xmpp/delivery/MasterStanzaRelay.java?rev=650762&r1=650761&r2=650762&view=diff
==============================================================================
--- labs/vysper/src/main/java/org/apache/vysper/xmpp/delivery/MasterStanzaRelay.java (original)
+++ labs/vysper/src/main/java/org/apache/vysper/xmpp/delivery/MasterStanzaRelay.java Tue Apr 22 23:48:35 2008
@@ -21,7 +21,7 @@
 import org.apache.vysper.xmpp.stanza.Stanza;
 
 /**
- * relays stanzas to internal or external servers
+ * relays stanzas. handles message itself, routes to another server/domain or delivers locally.
  */
 public class MasterStanzaRelay implements StanzaRelay {
 
@@ -42,6 +42,17 @@
     }
 
     public void relay(Entity receiver, Stanza stanza) throws DeliveryException {
+        if (receiver == null || !receiver.isNodeSet()) {
+            // TODO handle by server
+            
+            // TODO if received <message/> from another server to MUST be set
+            // TODO if received <presence/> from another server with no to, broadcast to subscribed entities
+            // TODO if received <iq/>/get/set with no to, see 3920bis#11.1.4
+            
+            throw new RuntimeException("not yet implemented");
+            //return;
+        }
+
         String domain = receiver.getDomain();
 
         boolean relayToExternal = serverRuntimeContext.getServerFeatures().isRelayingToFederationServers();

Modified: labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/core/base/handler/MessageHandler.java
URL: http://svn.apache.org/viewvc/labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/core/base/handler/MessageHandler.java?rev=650762&r1=650761&r2=650762&view=diff
==============================================================================
--- labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/core/base/handler/MessageHandler.java (original)
+++ labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/core/base/handler/MessageHandler.java Tue Apr 22 23:48:35 2008
@@ -76,10 +76,6 @@
 
         Entity to = stanza.getTo();
         
-        // TODO check if to is empty.
-        
-        // TODO check if the user should be on this server. relay if not.
-        
         StanzaRelay stanzaRelay = sessionContext.getServerRuntimeContext().getStanzaRelay();
         try {
             stanzaRelay.relay(to, stanza);



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org