Author: berndf
Date: Tue Apr 27 19:43:02 2010
New Revision: 938617

URL: http://svn.apache.org/viewvc?rev=938617&view=rev
Log:
VYSPER-200: make pubsub a component, use proper helper class for IQ-result 
generation

Modified:
    
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PublishSubscribeModule.java
    
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubCreateNodeHandler.java
    
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishHandler.java
    
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveAffiliationsHandler.java
    
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveSubscriptionsHandler.java
    
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeHandler.java
    
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeHandler.java
    
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerDeleteNodeHandler.java
    
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerManageAffiliationsHandler.java
    
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/AbstractPublishSubscribeTestCase.java
    
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoItemsTestCase.java

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=938617&r1=938616&r2=938617&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
 Tue Apr 27 19:43:02 2010
@@ -23,6 +23,9 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.vysper.compliance.SpecCompliant;
+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.modules.DefaultDiscoAwareModule;
 import org.apache.vysper.xmpp.modules.core.base.handler.MessageHandler;
 import 
org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.handler.PubSubCreateNodeHandler;
@@ -37,19 +40,11 @@ import org.apache.vysper.xmpp.modules.ex
 import org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.model.LeafNode;
 import 
org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.storageprovider.CollectionNodeStorageProvider;
 import 
org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.storageprovider.LeafNodeStorageProvider;
-import org.apache.vysper.xmpp.modules.servicediscovery.management.Feature;
-import org.apache.vysper.xmpp.modules.servicediscovery.management.Identity;
-import org.apache.vysper.xmpp.modules.servicediscovery.management.InfoElement;
-import org.apache.vysper.xmpp.modules.servicediscovery.management.InfoRequest;
-import org.apache.vysper.xmpp.modules.servicediscovery.management.Item;
-import 
org.apache.vysper.xmpp.modules.servicediscovery.management.ItemRequestListener;
-import 
org.apache.vysper.xmpp.modules.servicediscovery.management.ServerInfoRequestListener;
-import 
org.apache.vysper.xmpp.modules.servicediscovery.management.ServiceDiscoveryRequestException;
-import org.apache.vysper.xmpp.protocol.HandlerDictionary;
-import org.apache.vysper.xmpp.protocol.NamespaceHandlerDictionary;
-import org.apache.vysper.xmpp.protocol.NamespaceURIs;
-import org.apache.vysper.xmpp.protocol.StanzaHandler;
+import org.apache.vysper.xmpp.modules.servicediscovery.management.*;
+import org.apache.vysper.xmpp.protocol.*;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
+import org.apache.vysper.xmpp.server.components.Component;
+import org.apache.vysper.xmpp.server.components.ComponentStanzaProcessor;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -59,25 +54,40 @@ import org.slf4j.LoggerFactory;
  * @author The Apache MINA Project (http://mina.apache.org)
  */
 @SpecCompliant(spec="xep-0060", comment="spec. version: 1.13rc", status= 
SpecCompliant.ComplianceStatus.IN_PROGRESS, coverage = 
SpecCompliant.ComplianceCoverage.PARTIAL)
-public class PublishSubscribeModule extends DefaultDiscoAwareModule implements 
ServerInfoRequestListener, ItemRequestListener {
+public class PublishSubscribeModule
+        extends DefaultDiscoAwareModule
+        implements Component, ComponentInfoRequestListener, 
ItemRequestListener {
 
     // The configuration of the service
     private PubSubServiceConfiguration serviceConfiguration = null;
     // for debugging
     private final Logger logger = 
LoggerFactory.getLogger(PublishSubscribeModule.class);
 
+    private ComponentStanzaProcessor stanzaProcessor;
+    private ServerRuntimeContext serverRuntimeContext;
+
+    /**
+     * the subdomain this module becomes know under.
+     */
+    protected String subdomain = "pubsub";
+
+    /**
+     * the domain derived from the subdomain and the server domain
+     */
+    protected Entity fullDomain;
+
     /**
      * Create a new PublishSubscribeModule together with a new root-collection 
node.
      */
     public PublishSubscribeModule() {
-        this.serviceConfiguration = new PubSubServiceConfiguration(new 
CollectionNode());
+        this(new PubSubServiceConfiguration(new CollectionNode()));
     }
 
     /**
      * Create a new PublishSubscribeModule together with a supplied 
root-collection node.
      */
-    public PublishSubscribeModule(PubSubServiceConfiguration 
servcieConfiguration) {
-        this.serviceConfiguration = servcieConfiguration;
+    public PublishSubscribeModule(PubSubServiceConfiguration 
serviceConfiguration) {
+        this.serviceConfiguration = serviceConfiguration;
     }
 
     /**
@@ -87,6 +97,14 @@ public class PublishSubscribeModule exte
     public void initialize(ServerRuntimeContext serverRuntimeContext) {
         super.initialize(serverRuntimeContext);
 
+        this.serverRuntimeContext = serverRuntimeContext;
+        
+        try {
+            fullDomain = EntityImpl.parse(subdomain + "." + 
serverRuntimeContext.getServerEnitity().getDomain());
+        } catch (EntityFormatException e) {
+            throw new RuntimeException("failed to initialize PubSub domain", 
e);
+        }
+
         CollectionNodeStorageProvider collectionNodeStorageProvider = 
(CollectionNodeStorageProvider) 
serverRuntimeContext.getStorageProvider(CollectionNodeStorageProvider.class);
         LeafNodeStorageProvider leafNodeStorageProvider = 
(LeafNodeStorageProvider) 
serverRuntimeContext.getStorageProvider(LeafNodeStorageProvider.class);
         
@@ -102,6 +120,12 @@ public class PublishSubscribeModule exte
             
serviceConfiguration.setLeafNodeStorageProvider(leafNodeStorageProvider);
         }
         
+        ComponentStanzaProcessor processor = new 
ComponentStanzaProcessor(serverRuntimeContext);
+        addPubsubHandlers(processor);
+        addPubsubOwnerHandlers(processor);
+        processor.addDictionary(new 
NamespaceHandlerDictionary(NamespaceURIs.XEP0060_PUBSUB_EVENT, new 
MessageHandler()));
+        stanzaProcessor = processor;
+
         
this.serviceConfiguration.setServerJID(serverRuntimeContext.getServerEnitity());
         this.serviceConfiguration.initialize();
     }
@@ -123,24 +147,18 @@ public class PublishSubscribeModule exte
     }
 
     /**
-     * Make this object available for disco#info requests.
-     */
-    @Override
-    protected void 
addServerInfoRequestListeners(List<ServerInfoRequestListener> 
serverInfoRequestListeners) {
-        serverInfoRequestListeners.add(this);
-    }
-
-    /**
      * Implements the getServerInfosFor method from the {...@link 
ServerInfoRequestListener} interface.
      * Makes this modules available via disco#info as "pubsub service" in the 
pubsub namespace.
      * 
-     * @see ServerInfoRequestListener#getServerInfosFor(InfoRequest)
+     * @see 
ComponentInfoRequestListener#getComponentInfosFor(org.apache.vysper.xmpp.modules.servicediscovery.management.InfoRequest)
 
      */
-    public List<InfoElement> getServerInfosFor(InfoRequest request) throws 
ServiceDiscoveryRequestException {
+    public List<InfoElement> getComponentInfosFor(InfoRequest request) throws 
ServiceDiscoveryRequestException {
+        if (!fullDomain.getDomain().equals(request.getTo().getDomain())) 
return null;
+        
         CollectionNode root = serviceConfiguration.getRootNode();
         List<InfoElement> infoElements = new ArrayList<InfoElement>();
         if(request.getNode() == null || request.getNode().length() == 0) {
-            infoElements.add(new Identity("pubsub", "service"));
+            infoElements.add(new Identity("pubsub", "service", 
"Publish-Subscribe"));
             infoElements.add(new Feature(NamespaceURIs.XEP0060_PUBSUB));
         } else {
             LeafNode node = root.find(request.getNode());
@@ -149,6 +167,11 @@ public class PublishSubscribeModule exte
         return infoElements;
     }
 
+    @Override
+    protected void 
addComponentInfoRequestListeners(List<ComponentInfoRequestListener> 
componentInfoRequestListeners) {
+        componentInfoRequestListeners.add(this);
+    }
+
     /**
      * Make this object available for disco#items requests.
      */
@@ -168,6 +191,12 @@ public class PublishSubscribeModule exte
         List<Item> items = null;
         
         if(request.getNode() == null || request.getNode().length() == 0) {
+            if 
(serverRuntimeContext.getServerEnitity().equals(request.getTo())) {
+                // top level item request. for example return entry for 
"pubsub.vysper.org" on request for "vysper.org"
+                List<Item> componentItem = new ArrayList<Item>();
+                componentItem.add(new Item(fullDomain));
+                return componentItem;
+            }
             ServiceDiscoItemsVisitor nv = new 
ServiceDiscoItemsVisitor(serviceConfiguration);
             root.acceptNodes(nv);
             items = nv.getNodeItemList();
@@ -182,33 +211,21 @@ public class PublishSubscribeModule exte
     }
 
     /**
-     * Registers the handlers for the various stanza types known to this 
pubsub implementation.
-     * 
-     * @see DefaultModule#addHandlerDictionaries(List<HandlerDictionary> 
dictionary)
-     */
-    @Override
-    protected void addHandlerDictionaries(List<HandlerDictionary> dictionary) {
-        addPubsubHandlers(dictionary);
-        addPubsubOwnerHandlers(dictionary);
-        dictionary.add(new 
NamespaceHandlerDictionary(NamespaceURIs.XEP0060_PUBSUB_EVENT, new 
MessageHandler()));
-    }
-
-    /**
      * Inserts the handlers for the pubsub#owner namespace into the 
HandlerDictionary.
      * @param dictionary the list to which the handlers should be appended.
      */
-    private void addPubsubOwnerHandlers(List<HandlerDictionary> dictionary) {
+    private void addPubsubOwnerHandlers(ComponentStanzaProcessor dictionary) {
         ArrayList<StanzaHandler> pubsubOwnerHandlers = new 
ArrayList<StanzaHandler>();
         pubsubOwnerHandlers.add(new 
PubSubOwnerConfigureNodeHandler(serviceConfiguration));
         pubsubOwnerHandlers.add(new 
PubSubOwnerDeleteNodeHandler(serviceConfiguration));
-        dictionary.add(new 
NamespaceHandlerDictionary(NamespaceURIs.XEP0060_PUBSUB_OWNER, 
pubsubOwnerHandlers));
+        dictionary.addDictionary(new 
NamespaceHandlerDictionary(NamespaceURIs.XEP0060_PUBSUB_OWNER, 
pubsubOwnerHandlers));
     }
 
     /**
      * Inserts the handlers for the pubsub namespace into the 
HandlerDictionary.
      * @param dictionary the list to which the handlers should be appended.
      */
-    private void addPubsubHandlers(List<HandlerDictionary> dictionary) {
+    private void addPubsubHandlers(ComponentStanzaProcessor dictionary) {
         ArrayList<StanzaHandler> pubsubHandlers = new 
ArrayList<StanzaHandler>();
         pubsubHandlers.add(new PubSubSubscribeHandler(serviceConfiguration));
         pubsubHandlers.add(new PubSubUnsubscribeHandler(serviceConfiguration));
@@ -216,6 +233,14 @@ public class PublishSubscribeModule exte
         pubsubHandlers.add(new PubSubCreateNodeHandler(serviceConfiguration));
         pubsubHandlers.add(new 
PubSubRetrieveSubscriptionsHandler(serviceConfiguration));
         pubsubHandlers.add(new 
PubSubRetrieveAffiliationsHandler(serviceConfiguration));
-        dictionary.add(new 
NamespaceHandlerDictionary(NamespaceURIs.XEP0060_PUBSUB, pubsubHandlers));
+        dictionary.addDictionary(new 
NamespaceHandlerDictionary(NamespaceURIs.XEP0060_PUBSUB, pubsubHandlers));
+    }
+
+    public String getSubdomain() {
+        return subdomain;
+    }
+
+    public StanzaProcessor getStanzaProcessor() {
+        return stanzaProcessor;
     }
 }

Modified: 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubCreateNodeHandler.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/handler/PubSubCreateNodeHandler.java?rev=938617&r1=938616&r2=938617&view=diff
==============================================================================
--- 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubCreateNodeHandler.java
 (original)
+++ 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubCreateNodeHandler.java
 Tue Apr 27 19:43:02 2010
@@ -78,9 +78,7 @@ public class PubSubCreateNodeHandler ext
         
         Entity sender = extractSenderJID(stanza, sessionContext);
 
-        String iqStanzaID = stanza.getAttributeValue("id");
-
-        StanzaBuilder sb = StanzaBuilder.createIQStanza(serverJID, sender, 
IQStanzaType.RESULT, iqStanzaID);
+        StanzaBuilder sb = StanzaBuilder.createDirectReply(stanza, false, 
IQStanzaType.RESULT);
 
         String nodeName = extractNodeName(stanza);
 

Modified: 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishHandler.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/handler/PubSubPublishHandler.java?rev=938617&r1=938616&r2=938617&view=diff
==============================================================================
--- 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishHandler.java
 (original)
+++ 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishHandler.java
 Tue Apr 27 19:43:02 2010
@@ -87,9 +87,7 @@ public class PubSubPublishHandler extend
         
         Entity sender = extractSenderJID(stanza, sessionContext);
 
-        String iqStanzaID = stanza.getAttributeValue("id");
-
-        StanzaBuilder sb = StanzaBuilder.createIQStanza(serverJID, sender, 
IQStanzaType.RESULT, iqStanzaID);
+        StanzaBuilder sb = StanzaBuilder.createDirectReply(stanza, false, 
IQStanzaType.RESULT);
         sb.startInnerElement("pubsub", NamespaceURIs.XEP0060_PUBSUB);
 
         XMLElement publish = 
stanza.getFirstInnerElement().getFirstInnerElement(); // pubsub/publish

Modified: 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveAffiliationsHandler.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/handler/PubSubRetrieveAffiliationsHandler.java?rev=938617&r1=938616&r2=938617&view=diff
==============================================================================
--- 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveAffiliationsHandler.java
 (original)
+++ 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveAffiliationsHandler.java
 Tue Apr 27 19:43:02 2010
@@ -76,7 +76,7 @@ public class PubSubRetrieveAffiliationsH
         Entity sender = extractSenderJID(stanza, sessionContext);
         String iqStanzaID = stanza.getAttributeValue("id");
 
-        StanzaBuilder sb = StanzaBuilder.createIQStanza(serverJID, sender, 
IQStanzaType.RESULT, iqStanzaID);
+        StanzaBuilder sb = StanzaBuilder.createDirectReply(stanza, false, 
IQStanzaType.RESULT);
         sb.startInnerElement("pubsub", NamespaceURIs.XEP0060_PUBSUB);
         
         List<AffiliationItem> subscriptions = collectAffiliations(root, 
sender);

Modified: 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveSubscriptionsHandler.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/handler/PubSubRetrieveSubscriptionsHandler.java?rev=938617&r1=938616&r2=938617&view=diff
==============================================================================
--- 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveSubscriptionsHandler.java
 (original)
+++ 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveSubscriptionsHandler.java
 Tue Apr 27 19:43:02 2010
@@ -78,7 +78,7 @@ public class PubSubRetrieveSubscriptions
         Entity sender = extractSenderJID(stanza, sessionContext);
         String iqStanzaID = stanza.getAttributeValue("id");
 
-        StanzaBuilder sb = StanzaBuilder.createIQStanza(serverJID, sender, 
IQStanzaType.RESULT, iqStanzaID);
+        StanzaBuilder sb = StanzaBuilder.createDirectReply(stanza, false, 
IQStanzaType.RESULT);
         sb.startInnerElement("pubsub", NamespaceURIs.XEP0060_PUBSUB);
         String nodeName = extractNodeName(stanza);
         

Modified: 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeHandler.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/handler/PubSubSubscribeHandler.java?rev=938617&r1=938616&r2=938617&view=diff
==============================================================================
--- 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeHandler.java
 (original)
+++ 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeHandler.java
 Tue Apr 27 19:43:02 2010
@@ -91,9 +91,7 @@ public class PubSubSubscribeHandler exte
         Entity sender = extractSenderJID(stanza, sessionContext);
         Entity subJID = null;
 
-        String iqStanzaID = stanza.getAttributeValue("id");
-
-        StanzaBuilder sb = StanzaBuilder.createIQStanza(serverJID, sender, 
IQStanzaType.RESULT, iqStanzaID);
+        StanzaBuilder sb = StanzaBuilder.createDirectReply(stanza, false, 
IQStanzaType.RESULT);
         sb.startInnerElement("pubsub", NamespaceURIs.XEP0060_PUBSUB);
 
         XMLElement sub = stanza.getFirstInnerElement().getFirstInnerElement(); 
// pubsub/subscribe

Modified: 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeHandler.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/handler/PubSubUnsubscribeHandler.java?rev=938617&r1=938616&r2=938617&view=diff
==============================================================================
--- 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeHandler.java
 (original)
+++ 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeHandler.java
 Tue Apr 27 19:43:02 2010
@@ -86,9 +86,7 @@ public class PubSubUnsubscribeHandler ex
         Entity sender = extractSenderJID(stanza, sessionContext);
         Entity subJID = null;
 
-        String iqStanzaID = stanza.getAttributeValue("id");
-
-        StanzaBuilder sb = StanzaBuilder.createIQStanza(serverJID, sender, 
IQStanzaType.RESULT, iqStanzaID);
+        StanzaBuilder sb = StanzaBuilder.createDirectReply(stanza, false, 
IQStanzaType.RESULT);
         sb.startInnerElement("pubsub", NamespaceURIs.XEP0060_PUBSUB);
 
         XMLElement unsub = 
stanza.getFirstInnerElement().getFirstInnerElement(); // pubsub/unsubscribe
@@ -117,7 +115,7 @@ public class PubSubUnsubscribeHandler ex
 
         if(strSubID == null) {
             try {
-                if(node.unsubscribe(subJID) == false) {
+                if(!node.unsubscribe(subJID)) {
                     // has no subscription (6.2.3.2)
                     return 
errorStanzaGenerator.generateNoSuchSubscriberErrorStanza(sender, serverJID, 
stanza);
                 }
@@ -126,7 +124,7 @@ public class PubSubUnsubscribeHandler ex
                 return 
errorStanzaGenerator.generateSubIDRequiredErrorStanza(sender, serverJID, 
stanza);
             }
         } else {
-            if(node.unsubscribe(strSubID, subJID) == false) {
+            if(!node.unsubscribe(strSubID, subJID)) {
                 // subID not valid (6.2.3.5)
                 return 
errorStanzaGenerator.generateSubIDNotValidErrorStanza(sender, serverJID, 
stanza);
             }

Modified: 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerDeleteNodeHandler.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/handler/owner/PubSubOwnerDeleteNodeHandler.java?rev=938617&r1=938616&r2=938617&view=diff
==============================================================================
--- 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerDeleteNodeHandler.java
 (original)
+++ 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerDeleteNodeHandler.java
 Tue Apr 27 19:43:02 2010
@@ -80,8 +80,7 @@ public class PubSubOwnerDeleteNodeHandle
         
         Entity sender = extractSenderJID(stanza, sessionContext);
         
-        String iqStanzaID = stanza.getAttributeValue("id");
-        StanzaBuilder sb = StanzaBuilder.createIQStanza(serverJID, sender, 
IQStanzaType.RESULT, iqStanzaID);
+        StanzaBuilder sb = StanzaBuilder.createDirectReply(stanza, false, 
IQStanzaType.RESULT);
         String nodeName = extractNodeName(stanza);
         LeafNode node = root.find(nodeName);
         

Modified: 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerManageAffiliationsHandler.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/handler/owner/PubSubOwnerManageAffiliationsHandler.java?rev=938617&r1=938616&r2=938617&view=diff
==============================================================================
--- 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerManageAffiliationsHandler.java
 (original)
+++ 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerManageAffiliationsHandler.java
 Tue Apr 27 19:43:02 2010
@@ -87,8 +87,7 @@ public class PubSubOwnerManageAffiliatio
 
         Entity sender = extractSenderJID(stanza, sessionContext);
 
-        String iqStanzaID = stanza.getAttributeValue("id");
-        StanzaBuilder sb = StanzaBuilder.createIQStanza(serverJID, sender, 
IQStanzaType.RESULT, iqStanzaID);
+        StanzaBuilder sb = StanzaBuilder.createDirectReply(stanza, false, 
IQStanzaType.RESULT);
         sb.startInnerElement("pubsub", NamespaceURIs.XEP0060_PUBSUB_OWNER);
         
         String nodeName = extractNodeName(stanza);
@@ -127,8 +126,7 @@ public class PubSubOwnerManageAffiliatio
         CollectionNode root = serviceConfiguration.getRootNode();
         Entity sender = extractSenderJID(stanza, sessionContext);
 
-        String iqStanzaID = stanza.getAttributeValue("id");
-        StanzaBuilder sb = StanzaBuilder.createIQStanza(serverJID, sender, 
IQStanzaType.RESULT, iqStanzaID);
+        StanzaBuilder sb = StanzaBuilder.createDirectReply(stanza, false, 
IQStanzaType.RESULT);
         sb.startInnerElement("pubsub", NamespaceURIs.XEP0060_PUBSUB_OWNER);
 
         String nodeName = extractNodeName(stanza);
@@ -198,4 +196,4 @@ public class PubSubOwnerManageAffiliatio
         affiliations = memberAffiliationVisitor.getAffiliations();
         return affiliations;
     }
-}
\ No newline at end of file
+}

Modified: 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/AbstractPublishSubscribeTestCase.java
URL: 
http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/AbstractPublishSubscribeTestCase.java?rev=938617&r1=938616&r2=938617&view=diff
==============================================================================
--- 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/AbstractPublishSubscribeTestCase.java
 (original)
+++ 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/AbstractPublishSubscribeTestCase.java
 Tue Apr 27 19:43:02 2010
@@ -70,7 +70,7 @@ public abstract class AbstractPublishSub
     protected void setUp() throws Exception {
         super.setUp();
 
-        serverEntity = new EntityImpl(null, "pubsub.vysper.org", null);
+        serverEntity = new EntityImpl(null, "vysper.org", null);
         sessionContext = createTestSessionContext(serverEntity);
 
         root = new CollectionNode();

Modified: 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoItemsTestCase.java
URL: 
http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoItemsTestCase.java?rev=938617&r1=938616&r2=938617&view=diff
==============================================================================
--- 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoItemsTestCase.java
 (original)
+++ 
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoItemsTestCase.java
 Tue Apr 27 19:43:02 2010
@@ -185,8 +185,7 @@ public class PubSubDiscoItemsTestCase ex
         boolean bItem2 = false;
         boolean bItem3 = false;
         for(XMLElement el : inner) {
-            if(el.getName().equals("item") 
-                    && 
el.getAttributeValue("jid").equals(serverEntity.getFullQualifiedName())) {
+            if(el.getName().equals("item") && 
el.getAttributeValue("jid").equals(pubsubService.getFullQualifiedName())) {
                 if(!bItem1 && el.getAttributeValue("name").equals("itemid1")) {
                     bItem1 = true;
                 } else if(bItem1 && !bItem2 && 
el.getAttributeValue("name").equals("itemid2")) {


Reply via email to