if (room != null) { features.add("http://jabber.org/protocol/muc"); if (room.isPublicRoom()) { features.add("muc_public"); } else {
private boolean canDiscoverRoom(MUCRoom room, JID senderJID) { // Check if locked rooms may be discovered if (!allowToDiscoverLockedRooms && room.isLocked()) { return false; } if (!room.isPublicRoom()) { if (!allowToDiscoverMembersOnlyRooms && room.isMembersOnly()) { return false; } MUCRole.Affiliation affiliation = room.getAffiliation(senderJID.asBareJID()); if (affiliation != MUCRole.Affiliation.owner && affiliation != MUCRole.Affiliation.admin && affiliation != MUCRole.Affiliation.member) { return false; } } return true; }
/** * Checks if the room may be included in search results. This is almost * identical to {@link MultiUserChatServiceImpl#canDiscoverRoom(org.jivesoftware.openfire.muc.MUCRoom, org.xmpp.packet.JID)}, * but that method is private and cannot be re-used here. * * @param room * The room to check * @return ''true'' if the room may be included in search results, ''false'' * otherwise. */ private static boolean canBeIncludedInResult(MUCRoom room) { // Check if locked rooms may be discovered final boolean discoverLocked = MUCPersistenceManager.getBooleanProperty(room.getMUCService().getServiceName(), "discover.locked", true); if (!discoverLocked && room.isLocked()) { return false; } return room.isPublicRoom(); } }
if (room != null) { features.add("http://jabber.org/protocol/muc"); if (room.isPublicRoom()) { features.add("muc_public"); } else {
private boolean canDiscoverRoom(MUCRoom room, JID senderJID) { // Check if locked rooms may be discovered if (!allowToDiscoverLockedRooms && room.isLocked()) { return false; } if (!room.isPublicRoom()) { if (!allowToDiscoverMembersOnlyRooms && room.isMembersOnly()) { return false; } MUCRole.Affiliation affiliation = room.getAffiliation(senderJID.asBareJID()); if (affiliation != MUCRole.Affiliation.owner && affiliation != MUCRole.Affiliation.admin && affiliation != MUCRole.Affiliation.member) { return false; } } return true; }
/** * Checks if the room may be included in search results. This is almost * identical to {@link MultiUserChatServiceImpl#canDiscoverRoom(org.jivesoftware.openfire.muc.MUCRoom, org.xmpp.packet.JID)}, * but that method is private and cannot be re-used here. * * @param room * The room to check * @return ''true'' if the room may be included in search results, ''false'' * otherwise. */ private static boolean canBeIncludedInResult(MUCRoom room) { // Check if locked rooms may be discovered final boolean discoverLocked = MUCPersistenceManager.getBooleanProperty(room.getMUCService().getServiceName(), "discover.locked", true); if (!discoverLocked && room.isLocked()) { return false; } return room.isPublicRoom(); } }