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/11/14 21:20:30 UTC

svn commit: r714124 - in /labs/vysper/src/main/java/org/apache/vysper/xmpp/modules: core/im/handler/PresenceAvailabilityHandler.java servicediscovery/collection/ServiceCollector.java servicediscovery/handler/DiscoInfoIQHandler.java

Author: berndf
Date: Fri Nov 14 12:20:30 2008
New Revision: 714124

URL: http://svn.apache.org/viewvc?rev=714124&view=rev
Log:
[vysper] LABS-228 fix disco info handling

Modified:
    labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailabilityHandler.java
    labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/collection/ServiceCollector.java
    labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java

Modified: labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailabilityHandler.java
URL: http://svn.apache.org/viewvc/labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailabilityHandler.java?rev=714124&r1=714123&r2=714124&view=diff
==============================================================================
--- labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailabilityHandler.java (original)
+++ labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailabilityHandler.java Fri Nov 14 12:20:30 2008
@@ -189,10 +189,6 @@
             // return error stanza
         }
 
-// testing
-        registry.getResourcesForSession(sessionContext);
-        ResourceState state = registry.getResourceState(resourceID);
-
         registry.setResourceState(resourceID, ResourceState.UNAVAILABLE);
 
         sessionContext.getServerRuntimeContext().getPresenceCache().remove(user);

Modified: labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/collection/ServiceCollector.java
URL: http://svn.apache.org/viewvc/labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/collection/ServiceCollector.java?rev=714124&r1=714123&r2=714124&view=diff
==============================================================================
--- labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/collection/ServiceCollector.java (original)
+++ labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/collection/ServiceCollector.java Fri Nov 14 12:20:30 2008
@@ -49,9 +49,9 @@
     /**
      * collect all server feature and identity info from the listeners
      */
-    public Set<InfoElement> processServerInfoRequest(InfoRequest infoRequest) {
+    public List<InfoElement> processServerInfoRequest(InfoRequest infoRequest) {
         // sorted structure, to place all <feature/> after <identity/> 
-        Set<InfoElement> elements = new TreeSet<InfoElement>(new ElementPartitioningComparator());
+        List<InfoElement> elements = new ArrayList<InfoElement>();
         elements.add(DEFAULT_FEATURE);
         for (ServerInfoRequestListener serverInfoRequestListener : serverInfoRequestListeners) {
             List<InfoElement> elementList = null;
@@ -60,17 +60,18 @@
             } catch (Throwable e) {
                 continue;
             }
-            if (elements != null) elements.addAll(elementList);
+            if (elementList != null) elements.addAll(elementList);
         }
+        Collections.sort(elements, new ElementPartitioningComparator());
         return elements;
     }
 
     /**
      * collect all non-server feature and identity info from the listeners
      */
-    public Set<InfoElement> processInfoRequest(InfoRequest infoRequest) {
+    public List<InfoElement> processInfoRequest(InfoRequest infoRequest) {
         // sorted structure, to place all <feature/> after <identity/>
-        Set<InfoElement> elements = new TreeSet<InfoElement>(new ElementPartitioningComparator());
+        List<InfoElement> elements = new ArrayList<InfoElement>();
         elements.add(DEFAULT_FEATURE);
         for (InfoRequestListener infoRequestListener : infoRequestListeners) {
             List<InfoElement> elementList = null;
@@ -81,14 +82,15 @@
             }
             if (elementList != null) elements.addAll(elementList);
         }
+        Collections.sort(elements, new ElementPartitioningComparator());
         return elements;
     }
 
     /**
      * collect all item info from the listeners
      */
-    public Set<Item> processItemRequest(InfoRequest infoRequest) {
-        Set<Item> elements = new HashSet<Item>();
+    public List<Item> processItemRequest(InfoRequest infoRequest) {
+        List<Item> elements = new ArrayList<Item>();
         for (ItemRequestListener itemRequestListener : itemRequestListeners) {
             List<Item> elementList = null;
             try {
@@ -96,7 +98,7 @@
             } catch (Throwable e) {
                 continue;
             }
-            if (elements != null) elements.addAll(elementList);
+            if (elementList != null) elements.addAll(elementList);
         }
         return elements;
     }

Modified: labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java
URL: http://svn.apache.org/viewvc/labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java?rev=714124&r1=714123&r2=714124&view=diff
==============================================================================
--- labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java (original)
+++ labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java Fri Nov 14 12:20:30 2008
@@ -22,7 +22,6 @@
 import org.apache.vysper.xmpp.modules.servicediscovery.collection.ServiceDiscoveryRequestListenerRegistry;
 import org.apache.vysper.xmpp.modules.servicediscovery.management.InfoElement;
 import org.apache.vysper.xmpp.modules.servicediscovery.management.InfoRequest;
-import org.apache.vysper.xmpp.modules.roster.RosterItem;
 import org.apache.vysper.xmpp.protocol.NamespaceURIs;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
 import org.apache.vysper.xmpp.server.SessionContext;
@@ -31,7 +30,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.Set;
+import java.util.List;
 
 /**
  * handles roster get, set, push & result requests
@@ -66,11 +65,11 @@
         boolean isServerInfoRequest = serverRuntimeContext.getServerEnitity().equals(stanza.getTo());
 
         // collect all the info response elements
-        Set<InfoElement> elementSet = null;
+        List<InfoElement> elements = null;
         if (isServerInfoRequest) {
-            elementSet = serviceCollector.processServerInfoRequest(new InfoRequest(stanza.getFrom(), stanza.getTo()));
+            elements = serviceCollector.processServerInfoRequest(new InfoRequest(stanza.getFrom(), stanza.getTo()));
         } else {
-            elementSet = serviceCollector.processInfoRequest(new InfoRequest(stanza.getFrom(), stanza.getTo()));
+            elements = serviceCollector.processInfoRequest(new InfoRequest(stanza.getFrom(), stanza.getTo()));
         }
 
         //TODO check that elementSet contains at least one identity element and on feature element!
@@ -80,7 +79,7 @@
             startInnerElement("query").
             addNamespaceAttribute(NamespaceURIs.XEP0030_SERVICE_DISCOVERY_INFO);
 
-            for (InfoElement infoElement : elementSet) {
+            for (InfoElement infoElement : elements) {
                 infoElement.insertElement(stanzaBuilder);
             }
 
@@ -88,4 +87,4 @@
 
         return stanzaBuilder.getFinalStanza();
     }
-}
\ No newline at end of file
+}



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