diff --git a/src/main/java/org/olat/instantMessaging/InstantMessagingClient.java b/src/main/java/org/olat/instantMessaging/InstantMessagingClient.java index 1a1c0067b450bf289fbba4d21203613895096657..90b8818419fa5cebb7d5ec9d27244dafb9a6b6b0 100644 --- a/src/main/java/org/olat/instantMessaging/InstantMessagingClient.java +++ b/src/main/java/org/olat/instantMessaging/InstantMessagingClient.java @@ -29,6 +29,7 @@ package org.olat.instantMessaging; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.concurrent.RejectedExecutionException; import org.jivesoftware.smack.PacketListener; import org.jivesoftware.smack.Roster; @@ -38,7 +39,6 @@ import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.filter.PacketFilter; import org.jivesoftware.smack.filter.PacketTypeFilter; import org.jivesoftware.smack.packet.IQ; -import org.jivesoftware.smack.packet.Packet; import org.jivesoftware.smack.packet.Presence; import org.jivesoftware.smack.packet.RosterPacket; import org.olat.basesecurity.BaseSecurityManager; @@ -124,14 +124,15 @@ public class InstantMessagingClient extends LogDelegator { connection = new XMPPConnection(InstantMessagingModule.getConnectionConfiguration()); // connecting to server is done by thread pool - - - - logDebug("Connecting to server by thread pool with user: "+username); - - TaskExecutorManager.getInstance().runTask(new ConnectToServerTask(this)); - connectionTimestamp = System.currentTimeMillis(); - + try { + logDebug("Connecting to server by thread pool with user: "+username); + TaskExecutorManager.getInstance().runTask(new ConnectToServerTask(this)); + connectionTimestamp = System.currentTimeMillis(); + } catch (IllegalStateException e) { + logWarn("Cannot connect to the IM server", e); + } catch (RejectedExecutionException e) { + logWarn("Cannot connect to the IM server", e); + } } /** @@ -407,8 +408,8 @@ public class InstantMessagingClient extends LogDelegator { public String buddyCountOnline() { int onlineBuddyEntries = connection.getRoster().getEntryCount(); int allBuddies = onlineBuddyEntries; - for (Iterator l = connection.getRoster().getEntries().iterator(); l.hasNext();) { - RosterEntry entry = (RosterEntry) l.next(); + for (Iterator<RosterEntry> l = connection.getRoster().getEntries().iterator(); l.hasNext();) { + RosterEntry entry = l.next(); Presence presence = connection.getRoster().getPresence(entry.getUser()); if (presence.getType() == Presence.Type.unavailable) onlineBuddyEntries--; } @@ -433,8 +434,8 @@ public class InstantMessagingClient extends LogDelegator { RosterGroup rosterGroup = connection.getRoster().getGroup(groupname); int buddyEntries = rosterGroup.getEntryCount(); int allBuddies = buddyEntries; - for (Iterator I = rosterGroup.getEntries().iterator(); I.hasNext();) { - RosterEntry entry = (RosterEntry) I.next(); + for (Iterator<RosterEntry> I = rosterGroup.getEntries().iterator(); I.hasNext();) { + RosterEntry entry = I.next(); Presence presence = connection.getRoster().getPresence(entry.getUser()); if (presence.getType() == Presence.Type.unavailable) buddyEntries--; } diff --git a/src/main/java/org/olat/instantMessaging/groupchat/InstantMessagingGroupChatController.java b/src/main/java/org/olat/instantMessaging/groupchat/InstantMessagingGroupChatController.java index c1217dc4efa5cada8c71c23b1c7fb982dab97420..fb49508e8ecf9ec1778210edf255d44a9b299dce 100644 --- a/src/main/java/org/olat/instantMessaging/groupchat/InstantMessagingGroupChatController.java +++ b/src/main/java/org/olat/instantMessaging/groupchat/InstantMessagingGroupChatController.java @@ -30,6 +30,7 @@ import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Locale; +import java.util.concurrent.RejectedExecutionException; import org.jivesoftware.smack.PacketListener; import org.jivesoftware.smack.XMPPConnection; @@ -268,7 +269,9 @@ public class InstantMessagingGroupChatController extends BasicController impleme TaskExecutorManager.getInstance().runTask(roomJoinTask); } catch (IllegalStateException e) { logWarn("Error while trying to create group chat room for user"+getIdentity().getName()+" and course resource: +ores", e); - } + } catch (RejectedExecutionException e) { + logWarn("Error while trying to create group chat room for user"+getIdentity().getName()+" and course resource: +ores", e); + } } else { return false;