From 1f990a0d5c1a4689d45965d9d05f6616d0dbd3c8 Mon Sep 17 00:00:00 2001 From: hristoterezov Date: Thu, 7 Nov 2013 19:52:14 +0200 Subject: [PATCH] Fixes an issue with the chat room contacts search results. Fixes comments and warnings. --- .../conference/ChatConferenceCallDialog.java | 4 +- .../communicator/impl/muc/ChatRoomQuery.java | 55 ++++++------------- .../communicator/impl/muc/MUCActivator.java | 2 +- .../communicator/impl/muc/MUCServiceImpl.java | 13 +++-- 4 files changed, 28 insertions(+), 46 deletions(-) diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/conference/ChatConferenceCallDialog.java b/src/net/java/sip/communicator/impl/gui/main/chat/conference/ChatConferenceCallDialog.java index 888a28909..f523d189d 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chat/conference/ChatConferenceCallDialog.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/conference/ChatConferenceCallDialog.java @@ -361,7 +361,7 @@ private void joinConference() { ConferenceDescription chatConference - = (ConferenceDescription)chatConferenceListPanel.getSelectedValue(); + = chatConferenceListPanel.getSelectedValue(); if (chatConference != null) CallManager.call(chatPanel.getChatSession() @@ -381,7 +381,7 @@ public void loadSkin() /** * Adds a ConferenceDescription to the list of conferences. * - * @param chatConference the ConferenceDescription to add + * @param conferenceDescription the ConferenceDescription to add */ public void addConference(ConferenceDescription conferenceDescription) { diff --git a/src/net/java/sip/communicator/impl/muc/ChatRoomQuery.java b/src/net/java/sip/communicator/impl/muc/ChatRoomQuery.java index f7f79ffcc..1e5e6365c 100644 --- a/src/net/java/sip/communicator/impl/muc/ChatRoomQuery.java +++ b/src/net/java/sip/communicator/impl/muc/ChatRoomQuery.java @@ -13,8 +13,6 @@ import net.java.sip.communicator.service.protocol.*; import net.java.sip.communicator.service.protocol.event.*; -import org.jitsi.service.configuration.*; - /** * The ChatRoomQuery is a query over the * ChatRoomContactSourceService. @@ -42,7 +40,7 @@ public class ChatRoomQuery * * @param contactSource the parent contact source * @param queryString the query string to match - * @param contactCount the maximum result contact count + * @param count the maximum result contact count */ public ChatRoomQuery(String queryString, int count, ChatRoomContactSourceService contactSource) @@ -55,8 +53,8 @@ public ChatRoomQuery(String queryString, for(ProtocolProviderService pps : MUCActivator .getChatRoomProviders()) { - OperationSetMultiUserChat opSetMUC = (OperationSetMultiUserChat) - pps.getOperationSet(OperationSetMultiUserChat.class); + OperationSetMultiUserChat opSetMUC + = pps.getOperationSet(OperationSetMultiUserChat.class); if(opSetMUC != null) { opSetMUC.addPresenceListener(this); @@ -69,42 +67,23 @@ public ChatRoomQuery(String queryString, @Override protected void run() { - ConfigurationService configService - = MUCActivator.getConfigurationService(); - - String prefix = "net.java.sip.communicator.impl.gui.accounts"; - - List accounts = - configService.getPropertyNamesByPrefix(prefix, true); - - for(ProtocolProviderService pps : MUCActivator - .getChatRoomProviders()) + Iterator chatRoomProviders + = MUCActivator + .getMUCService().getChatRoomList().getChatRoomProviders(); + while (chatRoomProviders.hasNext()) { - for (String accountRootPropName : accounts) { - String accountUID - = configService.getString(accountRootPropName); - - if(accountUID.equals(pps - .getAccountID().getAccountUniqueID())) + ChatRoomProviderWrapper provider = chatRoomProviders.next(); + for(int i = 0; i < provider.countChatRooms(); i++) + { + if(count > 0 && getQueryResultCount() > count) { - List chatRooms = configService - .getPropertyNamesByPrefix( - accountRootPropName + ".chatRooms", true); - - for (String chatRoomPropName : chatRooms) - { - if(count > 0 && getQueryResultCount() > count) - { - if (getStatus() != QUERY_CANCELED) - setStatus(QUERY_COMPLETED); - return; - } - - addChatRoom( pps, configService.getString( - chatRoomPropName + ".chatRoomName"), - configService.getString(chatRoomPropName)); - } + if (getStatus() != QUERY_CANCELED) + setStatus(QUERY_COMPLETED); + return; } + ChatRoomWrapper chatRoom = provider.getChatRoom(i); + addChatRoom( provider.getProtocolProvider(), + chatRoom.getChatRoomName(), chatRoom.getChatRoomID()); } } if (getStatus() != QUERY_CANCELED) diff --git a/src/net/java/sip/communicator/impl/muc/MUCActivator.java b/src/net/java/sip/communicator/impl/muc/MUCActivator.java index 8d827fe1a..7c3b5f873 100644 --- a/src/net/java/sip/communicator/impl/muc/MUCActivator.java +++ b/src/net/java/sip/communicator/impl/muc/MUCActivator.java @@ -193,7 +193,7 @@ public static CredentialsStorageService getCredentialsStorageService() if (credentialsService == null) { credentialsService - = (CredentialsStorageService) ServiceUtils.getService( + = ServiceUtils.getService( bundleContext, CredentialsStorageService.class); } return credentialsService; diff --git a/src/net/java/sip/communicator/impl/muc/MUCServiceImpl.java b/src/net/java/sip/communicator/impl/muc/MUCServiceImpl.java index eed8156ca..6ccc7ecdd 100644 --- a/src/net/java/sip/communicator/impl/muc/MUCServiceImpl.java +++ b/src/net/java/sip/communicator/impl/muc/MUCServiceImpl.java @@ -681,9 +681,8 @@ private class JoinChatRoomTask } /** - * @override {@link SwingWorker}{@link #doInBackground()} to perform - * all asynchronous tasks. - * @return SUCCESS if success, otherwise the error code + * @override {@link Thread}{@link #run()} to perform all asynchronous + * tasks. */ @Override public void run() @@ -711,12 +710,16 @@ else if (nickName != null) { case OperationFailedException.AUTHENTICATION_FAILED: done(AUTHENTICATION_FAILED); + break; case OperationFailedException.REGISTRATION_REQUIRED: done(REGISTRATION_REQUIRED); + break; case OperationFailedException.PROVIDER_NOT_REGISTERED: done(PROVIDER_NOT_REGISTERED); + break; case OperationFailedException.SUBSCRIPTION_ALREADY_EXISTS: done(SUBSCRIPTION_ALREADY_EXISTS); + break; default: done(UNKNOWN_ERROR); } @@ -724,8 +727,8 @@ else if (nickName != null) } /** - * @override {@link SwingWorker}{@link #done()} to perform UI changes - * after the chat room join task has finished. + * Performs UI changes after the chat room join task has finished. + * @param returnCode the result code from the chat room join task. */ private void done(String returnCode) {