Code cleanup

git-svn-id: https://svn.java.net/svn/essentials~svn/trunk@1569 e251c2fe-e539-e718-e476-b85c1f46cddb
This commit is contained in:
snowleo 2011-06-02 13:49:58 +00:00
parent 8ba3e3c2f9
commit 0ff89abeee
3 changed files with 29 additions and 24 deletions

View file

@ -23,7 +23,6 @@ public class Commandxmpp extends EssentialsCommand
throw new NotEnoughArgumentsException(); throw new NotEnoughArgumentsException();
} }
final String message = getFinalArg(args, 1);
final String address = EssentialsXMPP.getInstance().getAddress(args[0]); final String address = EssentialsXMPP.getInstance().getAddress(args[0]);
if (address == null) if (address == null)
{ {
@ -31,6 +30,7 @@ public class Commandxmpp extends EssentialsCommand
} }
else else
{ {
final String message = getFinalArg(args, 1);
final String senderName = sender instanceof Player ? ess.getUser(sender).getDisplayName() : Console.NAME; final String senderName = sender instanceof Player ? ess.getUser(sender).getDisplayName() : Console.NAME;
sender.sendMessage("[" + senderName + ">" + address + "] " + message); sender.sendMessage("[" + senderName + ">" + address + "] " + message);
EssentialsXMPP.getInstance().sendMessage(address, "[" + senderName + "] " + message); EssentialsXMPP.getInstance().sendMessage(address, "[" + senderName + "] " + message);

View file

@ -51,28 +51,20 @@ public class XMPPManager extends Handler implements MessageListener, ChatManager
public void sendMessage(final String address, final String message) public void sendMessage(final String address, final String message)
{ {
Chat chat = null; if (address != null && !address.isEmpty())
try
{ {
if (address == null || address.isEmpty()) try
{ {
return; startChat(address);
final Chat chat = chats.get(address);
if (chat != null)
{
chat.sendMessage(message.replaceAll("§[0-9a-f]", ""));
}
} }
startChat(address); catch (XMPPException ex)
chat = chats.get(address);
if (chat == null)
{ {
return; disableChat(address, ex);
}
chat.sendMessage(message.replaceAll("§[0-9a-f]", ""));
}
catch (XMPPException ex)
{
if (chat != null)
{
chat.removeMessageListener(this);
chats.remove(address);
LOGGER.log(Level.WARNING, "Failed to send xmpp message.", ex);
} }
} }
} }
@ -260,7 +252,9 @@ public class XMPPManager extends Handler implements MessageListener, ChatManager
{ {
LOGGER.log(Level.WARNING, "Failed to send xmpp message.", ex); LOGGER.log(Level.WARNING, "Failed to send xmpp message.", ex);
} }
} else { }
else
{
for (Player p : matches) for (Player p : matches)
{ {
p.sendMessage("[" + chat.getParticipant() + ">" + p.getDisplayName() + "] " + message); p.sendMessage("[" + chat.getParticipant() + ">" + p.getDisplayName() + "] " + message);
@ -280,4 +274,15 @@ public class XMPPManager extends Handler implements MessageListener, ChatManager
} }
} }
} }
private void disableChat(final String address, final XMPPException exception)
{
final Chat chat = chats.get(address);
if (chat != null)
{
chat.removeMessageListener(this);
chats.remove(address);
LOGGER.log(Level.WARNING, "Failed to send xmpp message.", exception);
}
}
} }

View file

@ -11,10 +11,10 @@ depend: [Essentials]
commands: commands:
setxmpp: setxmpp:
description: set your xmpp address description: set your xmpp address
usage: /<command> address usage: /<command> <address>
xmpp: xmpp:
description: send a message to a player description: send a message to a player
usage: /<command> player message usage: /<command> <player> <message>
xmppspy: xmppspy:
description: toggle xmpp spy for all message description: toggle xmpp spy for all messages
usage: /<command> player usage: /<command> <player>