src/net/java/sip/communicator/impl/muc/MUCServiceImpl.java
/**
     * Creates a chat room, by specifying the chat room name, the parent
     * protocol provider and eventually, the contacts invited to participate in
     * this chat room.
     *
     * @param roomName the name of the room
     * @param protocolProvider the parent protocol provider.
     * @param contacts the contacts invited when creating the chat room.
     * @param reason
     * @param join whether we should join the room after creating it.
     * @param persistent whether the newly created room will be persistent.
     * @param isPrivate whether the room will be private or public.
     * @return the <tt>ChatRoomWrapper</tt> corresponding to the created room or
     *         <tt>null</tt> if the protocol fails to create the chat room.
     */
Creates a chat room, by specifying the chat room name, the parent
protocol provider and eventually, the contacts invited to participate in
this chat room.

@param roomName the name of the room
@param protocolProvider the parent protocol provider.
@param contacts the contacts invited when creating the chat room.
@param reason
@param join whether we should join the room after creating it.
@param persistent whether the newly created room will be persistent.
@param isPrivate whether the room will be private or public.
@return the ChatRoomWrapper corresponding to the created room or
null if the protocol fails to create the chat room.
Creates a chat room by specifying the chat room name the parent protocol provider and eventually the contacts invited to participate in this chat room . @param roomName the name of the room @param protocolProvider the parent protocol provider . @param contacts the contacts invited when creating the chat room . @param reason @param join whether we should join the room after creating it . @param persistent whether the newly created room will be persistent . @param isPrivate whether the room will be private or public . @return the ChatRoomWrapper corresponding to the created room or null if the protocol fails to create the chat room .
public ChatRoomWrapper createChatRoom(
        String roomName,
        ProtocolProviderService protocolProvider,
        Collection<String> contacts,
        String reason,
        boolean join,
        boolean persistent,
        boolean isPrivate)
    {
        ChatRoomWrapper chatRoomWrapper = null;
        OperationSetMultiUserChat groupChatOpSet
            = protocolProvider.getOperationSet(OperationSetMultiUserChat.class);
        if (groupChatOpSet == null)
            return null;
        ChatRoom chatRoom = null;
        try
        {
            HashMap<String, Object> roomProperties =
                new HashMap<String, Object>();
            roomProperties.put("isPrivate", isPrivate);
            chatRoom = groupChatOpSet.createChatRoom(roomName, roomProperties);
            if(join)
            {
                chatRoom.join();
                for(String contact : contacts)
                    chatRoom.invite(contact, reason);
            }
        }
        catch (OperationFailedException ex)
        {
            logger.error("Failed to create chat room.", ex);
            MUCActivator.getAlertUIService().showAlertDialog(
                MUCActivator.getResources().getI18NString("service.gui.ERROR"),
                MUCActivator.getResources().getI18NString(
                    "service.gui.CREATE_CHAT_ROOM_ERROR",
                    new String[]{protocolProvider.getProtocolDisplayName()}),
                    ex);
        }
        catch (OperationNotSupportedException ex)
        {
            logger.error("Failed to create chat room.", ex);
            MUCActivator.getAlertUIService().showAlertDialog(
                MUCActivator.getResources().getI18NString("service.gui.ERROR"),
                MUCActivator.getResources().getI18NString(
                    "service.gui.CREATE_CHAT_ROOM_ERROR",
                    new String[]{protocolProvider.getProtocolDisplayName()}),
                    ex);
        }
        if(chatRoom != null)
        {
            ChatRoomProviderWrapper parentProvider
                = chatRoomList.findServerWrapperFromProvider(protocolProvider);
            chatRoomWrapper =
                chatRoomList.findChatRoomWrapperFromChatRoom(chatRoom);
            if(chatRoomWrapper == null)
            {
                chatRoomWrapper
                    = new ChatRoomWrapperImpl(parentProvider, chatRoom);
                chatRoomWrapper.setPersistent(persistent);
                chatRoomList.addChatRoom(chatRoomWrapper);
            }
        }
        return chatRoomWrapper;
    }
public ChatRoomWrapper createChatRoom ( String roomName , ProtocolProviderService protocolProvider , Collection < String > contacts , String reason , boolean join , boolean persistent , boolean isPrivate ) { ChatRoomWrapper chatRoomWrapper = null ; OperationSetMultiUserChat groupChatOpSet = protocolProvider . getOperationSet ( OperationSetMultiUserChat . class ) ; if ( groupChatOpSet == null ) return null ; ChatRoom chatRoom = null ; try { HashMap < String , Object > roomProperties = new HashMap < String , Object > ( ) ; roomProperties . put ( "isPrivate" , isPrivate ) ; chatRoom = groupChatOpSet . createChatRoom ( roomName , roomProperties ) ; if ( join ) { chatRoom . join ( ) ; for ( String contact : contacts ) chatRoom . invite ( contact , reason ) ; } } catch ( OperationFailedException ex ) { logger . error ( "Failed to create chat room." , ex ) ; MUCActivator . getAlertUIService ( ) . showAlertDialog ( MUCActivator . getResources ( ) . getI18NString ( "service.gui.ERROR" ) , MUCActivator . getResources ( ) . getI18NString ( "service.gui.CREATE_CHAT_ROOM_ERROR" , new String [ ] { protocolProvider . getProtocolDisplayName ( ) } ) , ex ) ; } catch ( OperationNotSupportedException ex ) { logger . error ( "Failed to create chat room." , ex ) ; MUCActivator . getAlertUIService ( ) . showAlertDialog ( MUCActivator . getResources ( ) . getI18NString ( "service.gui.ERROR" ) , MUCActivator . getResources ( ) . getI18NString ( "service.gui.CREATE_CHAT_ROOM_ERROR" , new String [ ] { protocolProvider . getProtocolDisplayName ( ) } ) , ex ) ; } if ( chatRoom != null ) { ChatRoomProviderWrapper parentProvider = chatRoomList . findServerWrapperFromProvider ( protocolProvider ) ; chatRoomWrapper = chatRoomList . findChatRoomWrapperFromChatRoom ( chatRoom ) ; if ( chatRoomWrapper == null ) { chatRoomWrapper = new ChatRoomWrapperImpl ( parentProvider , chatRoom ) ; chatRoomWrapper . setPersistent ( persistent ) ; chatRoomList . addChatRoom ( chatRoomWrapper ) ; } } return chatRoomWrapper ; }
Creates a chat room, by specifying the chat room name, the parent
 protocol provider and eventually, the contacts invited to participate in
 this chat room.
Creates a chat room by specifying the chat room name the parent protocol provider and eventually the contacts invited to participate in this chat room .
// If there's no group chat operation set we have nothing to do here. // if there is the same room ids don't add new wrapper as old one // maybe already created