Author: mjakl
Date: Wed Aug 5 14:15:12 2009
New Revision: 801238
URL: http://svn.apache.org/viewvc?rev=801238&view=rev
Log:
Introduced the concept of "affiliation" and "privilege" into the pubsub module.
Currently the creator of a node is the owner, and hence is allowed to publish,
delete etc. Everyone else is only a "member" (open-access model) and is allowed
to subscribe.
Added:
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubSubAffiliation.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubSubPrivilege.java
Modified:
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubCreateNodeHandler.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishHandler.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerDeleteNodeHandler.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/CollectionNode.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/LeafNode.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/storageprovider/LeafNodeInMemoryStorageProvider.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/storageprovider/LeafNodeStorageProvider.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoInfoTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoItemsTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubCreateNodeTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubDeleteNodeTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/CollectionNodeTestCase.java
Added:
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubSubAffiliation.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubSubAffiliation.java?rev=801238&view=auto
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubSubAffiliation.java
(added)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubSubAffiliation.java
Wed Aug 5 14:15:12 2009
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.vysper.xmpp.modules.extension.xep0060_pubsub;
+
+/**
+ * This class defines which affiliations are known. The order of the
+ * constants is important and defines the hierarchy.
+ *
+ * @author The Apache MINA Project (http://mina.apache.org)
+ */
+public enum PubSubAffiliation {
+ OUTCAST,
+ NONE,
+ MEMBER,
+ PUBLISHER,
+ OWNER
+}
Added:
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubSubPrivilege.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubSubPrivilege.java?rev=801238&view=auto
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubSubPrivilege.java
(added)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubSubPrivilege.java
Wed Aug 5 14:15:12 2009
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.vysper.xmpp.modules.extension.xep0060_pubsub;
+
+/**
+ * This class defines which privileges are required for certain tasks.
+ *
+ * @author The Apache MINA Project (http://mina.apache.org)
+ */
+public class PubSubPrivilege {
+
+ public static final PubSubAffiliation DELETE = PubSubAffiliation.OWNER;
+ public static final PubSubAffiliation PUBLISH =
PubSubAffiliation.PUBLISHER;
+
+}
Modified:
mina/sandbox/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/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubCreateNodeHandler.java?rev=801238&r1=801237&r2=801238&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubCreateNodeHandler.java
(original)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubCreateNodeHandler.java
Wed Aug 5 14:15:12 2009
@@ -80,7 +80,7 @@
String nodeName = extractNodeName(stanza);
try {
- root.createNode(receiver, nodeName);
+ root.createNode(receiver, nodeName, sender);
} catch (DuplicateNodeException e) {
return
errorStanzaGenerator.generateDuplicateNodeErrorStanza(sender, receiver, stanza);
}
Modified:
mina/sandbox/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/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishHandler.java?rev=801238&r1=801237&r2=801238&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishHandler.java
(original)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishHandler.java
Wed Aug 5 14:15:12 2009
@@ -23,6 +23,7 @@
import org.apache.vysper.compliance.SpecCompliant;
import org.apache.vysper.xmpp.addressing.Entity;
import org.apache.vysper.xmpp.delivery.StanzaRelay;
+import org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.PubSubPrivilege;
import
org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.model.CollectionNode;
import org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.model.LeafNode;
import org.apache.vysper.xmpp.protocol.NamespaceURIs;
@@ -100,7 +101,7 @@
return errorStanzaGenerator.generateNoNodeErrorStanza(sender,
receiver, stanza);
}
- if(!node.isSubscribed(sender)) {
+ if(!node.isAuthorized(sender, PubSubPrivilege.PUBLISH)) {
// not enough privileges to publish - error condition 1 (7.1.3)
return
errorStanzaGenerator.generateInsufficientPrivilegesErrorStanza(sender,
receiver, stanza);
}
Modified:
mina/sandbox/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/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerDeleteNodeHandler.java?rev=801238&r1=801237&r2=801238&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerDeleteNodeHandler.java
(original)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerDeleteNodeHandler.java
Wed Aug 5 14:15:12 2009
@@ -23,6 +23,7 @@
import org.apache.vysper.compliance.SpecCompliant;
import org.apache.vysper.xmpp.addressing.Entity;
import org.apache.vysper.xmpp.delivery.StanzaRelay;
+import org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.PubSubPrivilege;
import
org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.model.CollectionNode;
import org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.model.LeafNode;
import org.apache.vysper.xmpp.server.ServerRuntimeContext;
@@ -85,7 +86,7 @@
return errorStanzaGenerator.generateNoNodeErrorStanza(sender,
receiver, stanza);
}
- if(!node.isSubscribed(sender)) {
+ if(!node.isAuthorized(sender, PubSubPrivilege.DELETE)) {
return
errorStanzaGenerator.generateInsufficientPrivilegesErrorStanza(sender,
receiver, stanza);
}
Modified:
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/CollectionNode.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/CollectionNode.java?rev=801238&r1=801237&r2=801238&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/CollectionNode.java
(original)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/CollectionNode.java
Wed Aug 5 14:15:12 2009
@@ -70,10 +70,11 @@
* @param serverJID the JID of the server this node is associated with.
* @param nodeName the unique node-name of the node (its key)
* @param givenName the free-text name of the node
+ * @param creator the JID of the creator of the node
* @return the newly created LeafNode.
* @throws DuplicateNodeException if the JID is already taken.
*/
- public LeafNode createNode(Entity serverJID, String nodeName, String
givenName) throws DuplicateNodeException {
+ public LeafNode createNode(Entity serverJID, String nodeName, String
givenName, Entity creator) throws DuplicateNodeException {
LeafNode node = new LeafNode(serverJID, nodeName, givenName);
node.setPersistenceManager(leafNodeStorage);
node.initialize();
@@ -83,7 +84,8 @@
}
collectionNodeStorage.storeNode(node);
-
+
+ node.addOwner(creator);
return node;
}
@@ -92,11 +94,12 @@
*
* @param serverJID the JID of the server new node lies on.
* @param nodeName the unique name of the node
+ * @param creator the creator of the node
* @return the newly create LeafNode
* @throws DuplicateNodeException
*/
- public LeafNode createNode(Entity serverJID, String nodeName) throws
DuplicateNodeException {
- return this.createNode(serverJID, nodeName, null);
+ public LeafNode createNode(Entity serverJID, String nodeName, Entity
creator) throws DuplicateNodeException {
+ return this.createNode(serverJID, nodeName, null, creator);
}
/**
Modified:
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/LeafNode.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/LeafNode.java?rev=801238&r1=801237&r2=801238&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/LeafNode.java
(original)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/LeafNode.java
Wed Aug 5 14:15:12 2009
@@ -25,6 +25,7 @@
import org.apache.vysper.xmpp.addressing.Entity;
import org.apache.vysper.xmpp.delivery.StanzaRelay;
import org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.ItemVisitor;
+import
org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.PubSubAffiliation;
import
org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.SubscriberPayloadNotificationVisitor;
import
org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.feature.PubsubFeatures;
import
org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.storageprovider.LeafNodeInMemoryStorageProvider;
@@ -227,7 +228,30 @@
storage.initialize(this);
}
+ /**
+ * Removes this node from the storage.
+ */
public void delete() {
this.storage.delete(this.name);
}
+
+ /**
+ * Adds the given entity to the owner list.
+ *
+ * @param owner
+ */
+ public void addOwner(Entity owner) {
+ this.storage.addOwner(name,owner);
+ }
+
+ /**
+ * Check whether the given JID is allowed to perform the requested task.
+ * @param sender
+ * @param requestedAffiliation
+ * @return
+ */
+ public boolean isAuthorized(Entity sender, PubSubAffiliation
requestedAffiliation) {
+ PubSubAffiliation affiliation = this.storage.getAffiliation(name,
sender);
+ return affiliation.compareTo(requestedAffiliation) >= 0;
+ }
}
Modified:
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/storageprovider/LeafNodeInMemoryStorageProvider.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/storageprovider/LeafNodeInMemoryStorageProvider.java?rev=801238&r1=801237&r2=801238&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/storageprovider/LeafNodeInMemoryStorageProvider.java
(original)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/storageprovider/LeafNodeInMemoryStorageProvider.java
Wed Aug 5 14:15:12 2009
@@ -19,11 +19,13 @@
*/
package
org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.storageprovider;
+import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
import org.apache.vysper.xmpp.addressing.Entity;
import org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.ItemVisitor;
+import
org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.PubSubAffiliation;
import
org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.SubscriberVisitor;
import org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.model.LeafNode;
import
org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.model.PayloadItem;
@@ -37,6 +39,8 @@
*/
public class LeafNodeInMemoryStorageProvider implements
LeafNodeStorageProvider {
+ // The node owners
+ protected Map<String,Map<Entity, PubSubAffiliation>> nodeAffiliations;
// stores subscribers to a node, access via subid
protected Map<String,Map<String, Entity>> nodeSubscribers;
// stores messages to a node, access via itemid
@@ -48,6 +52,7 @@
public LeafNodeInMemoryStorageProvider() {
this.nodeSubscribers = new TreeMap<String, Map<String, Entity>>();
this.nodeMessages = new TreeMap<String, Map<String, PayloadItem>>();
+ this.nodeAffiliations = new TreeMap<String, Map<Entity,
PubSubAffiliation>>();
}
/**
@@ -161,6 +166,7 @@
public void initialize(LeafNode leafNode) {
nodeMessages.put(leafNode.getName(), new TreeMap<String,
PayloadItem>());
nodeSubscribers.put(leafNode.getName(), new TreeMap<String, Entity>());
+ nodeAffiliations.put(leafNode.getName(), new HashMap<Entity,
PubSubAffiliation>());
}
/**
@@ -169,5 +175,25 @@
public void delete(String name) {
nodeMessages.remove(name);
nodeSubscribers.remove(name);
+ nodeAffiliations.remove(name);
+ }
+
+ /**
+ * Add the entity to the owner list of the given node.
+ * The owner is stored as bare JID.
+ */
+ public void addOwner(String nodeName, Entity owner) {
+ Map<Entity, PubSubAffiliation> affils =
this.nodeAffiliations.get(nodeName);
+ Entity bareOwner = owner.getBareJID();
+ affils.put(bareOwner, PubSubAffiliation.OWNER);
+ }
+
+ /**
+ * Returns the affiliation of the entity to the node. Only the bare JID
will be compared.
+ */
+ public PubSubAffiliation getAffiliation(String nodeName, Entity entity) {
+ PubSubAffiliation psa = this.nodeAffiliations.get(nodeName)
+ .get(entity.getBareJID());
+ return psa != null ? psa : PubSubAffiliation.NONE; // NONE if there is
no affiliation known.
}
}
Modified:
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/storageprovider/LeafNodeStorageProvider.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/storageprovider/LeafNodeStorageProvider.java?rev=801238&r1=801237&r2=801238&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/storageprovider/LeafNodeStorageProvider.java
(original)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/storageprovider/LeafNodeStorageProvider.java
Wed Aug 5 14:15:12 2009
@@ -22,6 +22,7 @@
import org.apache.vysper.storage.StorageProvider;
import org.apache.vysper.xmpp.addressing.Entity;
import org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.ItemVisitor;
+import
org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.PubSubAffiliation;
import
org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.SubscriberVisitor;
import org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.model.LeafNode;
import org.apache.vysper.xmpp.xmlfragment.XMLElement;
@@ -136,4 +137,15 @@
*/
public void delete(String name);
+ /**
+ * Add the entity to the owner list of the given node.
+ * @param owner
+ */
+ public void addOwner(String nodeName, Entity owner);
+
+ /**
+ * Returns the affiliation of the entity to the node identified by
nodeName.
+ */
+ public PubSubAffiliation getAffiliation(String nodeName, Entity entity);
+
}
Modified:
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoInfoTestCase.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoInfoTestCase.java?rev=801238&r1=801237&r2=801238&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoInfoTestCase.java
(original)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoInfoTestCase.java
Wed Aug 5 14:15:12 2009
@@ -74,7 +74,7 @@
}
public void testInfoRequestForANode() throws Exception {
- root.createNode(serverEntity, "news", "News");
+ root.createNode(serverEntity, "news", "News", client);
DefaultDiscoInfoStanzaGenerator sg =
(DefaultDiscoInfoStanzaGenerator)getDefaultStanzaGenerator();
Stanza stanza = sg.getStanza(client, pubsubService.getBareJID(),
"id123","news");
Modified:
mina/sandbox/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/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoItemsTestCase.java?rev=801238&r1=801237&r2=801238&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoItemsTestCase.java
(original)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoItemsTestCase.java
Wed Aug 5 14:15:12 2009
@@ -55,8 +55,8 @@
}
public void testSomeItems() throws Exception {
- root.createNode(serverEntity, "news", "News");
- root.createNode(serverEntity, "blogs", "Blogs");
+ root.createNode(serverEntity, "news", "News", client);
+ root.createNode(serverEntity, "blogs", "Blogs", client);
DefaultDiscoInfoStanzaGenerator sg =
(DefaultDiscoInfoStanzaGenerator)getDefaultStanzaGenerator();
Stanza stanza = sg.getStanza(client, pubsubService.getBareJID(),
"id123");
@@ -101,7 +101,7 @@
}
public void testNodeItemsNone() throws Exception {
- root.createNode(serverEntity, "news", "News");
+ root.createNode(serverEntity, "news", "News", client);
DefaultDiscoInfoStanzaGenerator sg =
(DefaultDiscoInfoStanzaGenerator)getDefaultStanzaGenerator();
Stanza stanza = sg.getStanza(client, pubsubService.getBareJID(),
"id123", "news");
@@ -126,7 +126,7 @@
}
public void testNodeItemsSome() throws Exception {
- LeafNode node = root.createNode(serverEntity, "news", "News");
+ LeafNode node = root.createNode(serverEntity, "news", "News", client);
XMLElement item1 = new
XMLElement("item1","namespace1",(Attribute[])null, (XMLFragment[])null);
XMLElement item2 = new
XMLElement("item2","namespace2",(Attribute[])null, (XMLFragment[])null);
Modified:
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubCreateNodeTestCase.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubCreateNodeTestCase.java?rev=801238&r1=801237&r2=801238&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubCreateNodeTestCase.java
(original)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubCreateNodeTestCase.java
Wed Aug 5 14:15:12 2009
@@ -85,7 +85,7 @@
public void testCreateDuplicate() throws Exception {
String testNode = "test";
- root.createNode(pubsubService, testNode);
+ root.createNode(pubsubService, testNode, client);
assertNotNull(root.find(testNode)); // should be there
AbstractStanzaGenerator sg = getDefaultStanzaGenerator();
Modified:
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishTestCase.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishTestCase.java?rev=801238&r1=801237&r2=801238&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishTestCase.java
(original)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishTestCase.java
Wed Aug 5 14:15:12 2009
@@ -43,7 +43,7 @@
@Override
public void setUp() throws Exception {
super.setUp();
- node = root.createNode(serverEntity, "news", "Node used for testing
purposes");
+ node = root.createNode(serverEntity, "news", "Node used for testing
purposes", client);
}
@Override
Modified:
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeTestCase.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeTestCase.java?rev=801238&r1=801237&r2=801238&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeTestCase.java
(original)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeTestCase.java
Wed Aug 5 14:15:12 2009
@@ -44,7 +44,7 @@
@Override
public void setUp() throws Exception {
super.setUp();
- node = root.createNode(serverEntity, "news", "Node used for testing
purposes");
+ node = root.createNode(serverEntity, "news", "Node used for testing
purposes", client);
}
@Override
Modified:
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeTestCase.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeTestCase.java?rev=801238&r1=801237&r2=801238&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeTestCase.java
(original)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeTestCase.java
Wed Aug 5 14:15:12 2009
@@ -42,7 +42,7 @@
@Override
public void setUp() throws Exception {
super.setUp();
- node = root.createNode(serverEntity, "news", "Node used for testing
purposes");
+ node = root.createNode(serverEntity, "news", "Node used for testing
purposes", client);
}
class DefaultUnsubscribeStanzaGenerator extends AbstractStanzaGenerator {
Modified:
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubDeleteNodeTestCase.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubDeleteNodeTestCase.java?rev=801238&r1=801237&r2=801238&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubDeleteNodeTestCase.java
(original)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubDeleteNodeTestCase.java
Wed Aug 5 14:15:12 2009
@@ -72,8 +72,8 @@
public void testDelete() throws Exception {
String testNode = "test";
- LeafNode node = root.createNode(pubsubService, testNode);
- node.subscribe("someid", client); // make the client subscriber
(=owner)
+ LeafNode node = root.createNode(pubsubService, testNode, client);
+ node.subscribe("someid", client); // make the owner subscriber
node.subscribe("otherid1", new EntityImpl("yoda", "starwars.com",
"spaceship"));
node.subscribe("otherid2", new EntityImpl("r2d2", "starwars.com",
"desert"));
node.subscribe("otherid3", new EntityImpl("anakin", "starwars.com",
"deathstar"));
@@ -100,12 +100,13 @@
public void testDeleteNotAuth() throws Exception {
String testNode = "test";
- root.createNode(pubsubService, testNode);
+ root.createNode(pubsubService, testNode, client);
assertNotNull(root.find(testNode));
+ Entity clientNotAuthorized = new EntityImpl("darthvader",
"deathstar.tld", null);
AbstractStanzaGenerator sg = getDefaultStanzaGenerator();
- Stanza stanza = sg.getStanza(client, pubsubService, "id123", testNode);
+ Stanza stanza = sg.getStanza(clientNotAuthorized, pubsubService,
"id123", testNode);
ResponseStanzaContainer result = sendStanza(stanza, true);
assertTrue(result.hasResponse());
IQStanza response = new IQStanza(result.getResponseStanza());
Modified:
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/CollectionNodeTestCase.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/CollectionNodeTestCase.java?rev=801238&r1=801237&r2=801238&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/CollectionNodeTestCase.java
(original)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/CollectionNodeTestCase.java
Wed Aug 5 14:15:12 2009
@@ -31,25 +31,28 @@
public class CollectionNodeTestCase extends TestCase {
protected CollectionNode collection;
+ protected Entity owner;
@Override
protected void setUp() throws Exception {
super.setUp();
collection = new CollectionNode();
collection.initialize();
+
+ owner = new EntityImpl("owner","vysper.org", null);
}
public void testCreateNode() throws Exception {
Entity jid = new EntityImpl(null, "pubsub.vysper.org", null);
- LeafNode test1 = collection.createNode(jid, "test1");
+ LeafNode test1 = collection.createNode(jid, "test1", owner);
assertNotNull(test1);
}
public void testCreateNodeTwice() {
Entity jid = new EntityImpl(null, "pubsub.vysper.org", null);
try {
- collection.createNode(jid, "test1");
- collection.createNode(jid, "test1");
+ collection.createNode(jid, "test1", owner);
+ collection.createNode(jid, "test1", owner);
fail();
} catch(DuplicateNodeException e) {
// ok
@@ -58,7 +61,7 @@
public void testInsertFind() throws Exception {
Entity jid = new EntityImpl(null, "pubsub.vysper.org", null);
- LeafNode insertedNode = collection.createNode(jid, "test1");
+ LeafNode insertedNode = collection.createNode(jid, "test1", owner);
LeafNode foundNode = collection.find("test1");
assertEquals(insertedNode, foundNode);
}