Author: berndf
Date: Fri May 25 09:56:07 2012
New Revision: 1342551
URL: http://svn.apache.org/viewvc?rev=1342551&view=rev
Log:
MUC: do not report hidden rooms in disco
Modified:
mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/model/Conference.java
mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/model/Room.java
mina/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/AbstractItemsDiscoTestCase.java
mina/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/MUCItemsDiscoTestCase.java
Modified:
mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/model/Conference.java
URL:
http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/model/Conference.java?rev=1342551&r1=1342550&r2=1342551&view=diff
==============================================================================
---
mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/model/Conference.java
(original)
+++
mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/model/Conference.java
Fri May 25 09:56:07 2012
@@ -122,6 +122,7 @@ public class Conference implements Serve
Collection<Room> rooms = getAllRooms();
for (Room room : rooms) {
+ if (room.isRoomType(RoomType.Hidden)) continue;
items.add(new Item(room.getJID(), room.getName()));
}
Modified:
mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/model/Room.java
URL:
http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/model/Room.java?rev=1342551&r1=1342550&r2=1342551&view=diff
==============================================================================
---
mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/model/Room.java
(original)
+++
mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/model/Room.java
Fri May 25 09:56:07 2012
@@ -210,16 +210,18 @@ public class Room implements InfoRequest
}
public List<Item> getItemsFor(InfoRequest request) throws
ServiceDiscoveryRequestException {
- // List of users
- List<Item> items = new ArrayList<Item>();
// TODO is this the right way to determine if the room is private?
if (isRoomType(RoomType.FullyAnonymous) ||
isRoomType(RoomType.SemiAnonymous)) {
// private room, return empty list
- } else {
- for (Occupant occupant : getOccupants()) {
- items.add(new Item(new EntityImpl(getJID(),
occupant.getNick())));
- }
+ return Collections.emptyList();
+ }
+
+ // List of users
+ List<Item> items = new ArrayList<Item>();
+
+ for (Occupant occupant : getOccupants()) {
+ items.add(new Item(new EntityImpl(getJID(), occupant.getNick())));
}
return items;
}
Modified:
mina/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/AbstractItemsDiscoTestCase.java
URL:
http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/AbstractItemsDiscoTestCase.java?rev=1342551&r1=1342550&r2=1342551&view=diff
==============================================================================
---
mina/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/AbstractItemsDiscoTestCase.java
(original)
+++
mina/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/AbstractItemsDiscoTestCase.java
Fri May 25 09:56:07 2012
@@ -68,6 +68,7 @@ public abstract class AbstractItemsDisco
private void assertItems(XMLElement queryElement) throws Exception {
List<XMLElement> itemElements =
queryElement.getInnerElementsNamed("item");
List<Item> expectedItems = new ArrayList<Item>(getExpectedItems());
+ assertEquals(itemElements.size(), expectedItems.size());
// order is random, check that all namespaces are present
for (Item item : expectedItems) {
String expectedJID = item.getJid().getFullQualifiedName();
Modified:
mina/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/MUCItemsDiscoTestCase.java
URL:
http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/MUCItemsDiscoTestCase.java?rev=1342551&r1=1342550&r2=1342551&view=diff
==============================================================================
---
mina/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/MUCItemsDiscoTestCase.java
(original)
+++
mina/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/MUCItemsDiscoTestCase.java
Fri May 25 09:56:07 2012
@@ -27,6 +27,7 @@ import org.apache.vysper.xmpp.addressing
import org.apache.vysper.xmpp.addressing.EntityImpl;
import org.apache.vysper.xmpp.modules.Module;
import org.apache.vysper.xmpp.modules.extension.xep0045_muc.model.Conference;
+import org.apache.vysper.xmpp.modules.extension.xep0045_muc.model.RoomType;
import org.apache.vysper.xmpp.modules.servicediscovery.management.Item;
/**
@@ -47,6 +48,7 @@ public class MUCItemsDiscoTestCase exten
Conference conference = new Conference("Foo", new MUCFeatures());
conference.createRoom(ROOM1_JID, "room1");
conference.createRoom(ROME2_JID, "room2");
+ conference.createRoom(EntityImpl.parseUnchecked("hidden@" +
MODULE_JID), "roomHidden", RoomType.Hidden);
module = new MUCModule(SUBDOMAIN, conference);
module.initialize(serverRuntimeContext);