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")) {