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 2010/04/27 21:43:02 UTC
svn commit: r938617 - in
/mina/vysper/trunk/server/extensions/xep0060-pubsub/src:
main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/
main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/
main/java/org/apache/vysper/...
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")) {