aboutsummaryrefslogtreecommitdiffstats
path: root/src/net
diff options
context:
space:
mode:
authorDanny van Heumen <danny@dannyvanheumen.nl>2014-08-03 00:55:47 +0200
committerDanny van Heumen <danny@dannyvanheumen.nl>2014-08-03 00:55:47 +0200
commit75d67fdce3658e1a23dc18c0bd4d6d2d2fcca333 (patch)
tree3c474eb12398d7669a53c8706ab98db982c37a68 /src/net
parent7b55fe4a1bb67fdb40075f4da38e6cb023879cc9 (diff)
downloadjitsi-75d67fdce3658e1a23dc18c0bd4d6d2d2fcca333.zip
jitsi-75d67fdce3658e1a23dc18c0bd4d6d2d2fcca333.tar.gz
jitsi-75d67fdce3658e1a23dc18c0bd4d6d2d2fcca333.tar.bz2
Use static shorthand for creating new MessageIrcImpl instance.
Diffstat (limited to 'src/net')
-rw-r--r--src/net/java/sip/communicator/impl/protocol/irc/IrcStack.java45
-rw-r--r--src/net/java/sip/communicator/impl/protocol/irc/MessageIrcImpl.java112
2 files changed, 123 insertions, 34 deletions
diff --git a/src/net/java/sip/communicator/impl/protocol/irc/IrcStack.java b/src/net/java/sip/communicator/impl/protocol/irc/IrcStack.java
index 75e2547..2031e94 100644
--- a/src/net/java/sip/communicator/impl/protocol/irc/IrcStack.java
+++ b/src/net/java/sip/communicator/impl/protocol/irc/IrcStack.java
@@ -1282,13 +1282,8 @@ public class IrcStack
public void onUserPrivMessage(final UserPrivMsg msg)
{
final String user = msg.getSource().getNick();
- final String text =
- Utils.styleAsMessage(Utils.parseIrcMessage(msg.getText()));
final MessageIrcImpl message =
- new MessageIrcImpl(text,
- OperationSetBasicInstantMessaging.HTML_MIME_TYPE,
- OperationSetBasicInstantMessaging.DEFAULT_MIME_ENCODING,
- null);
+ MessageIrcImpl.newMessageFromIRC(msg.getText());
final Contact from =
IrcStack.this.provider.getPersistentPresence()
.findOrCreateContactByID(user);
@@ -1306,7 +1301,7 @@ public class IrcStack
// outstanding error.
LOGGER.error(
"Error occurred while delivering private message from user"
- + " '" + user + "': " + text, e);
+ + " '" + user + "': " + msg.getText(), e);
}
}
@@ -1320,16 +1315,11 @@ public class IrcStack
public void onUserNotice(final UserNotice msg)
{
final String user = msg.getSource().getNick();
- final String text =
- Utils.styleAsNotice(Utils.parseIrcMessage(msg.getText()), user);
- final MessageIrcImpl message =
- new MessageIrcImpl(text,
- OperationSetBasicInstantMessaging.HTML_MIME_TYPE,
- OperationSetBasicInstantMessaging.DEFAULT_MIME_ENCODING,
- null);
final Contact from =
IrcStack.this.provider.getPersistentPresence()
.findOrCreateContactByID(user);
+ final MessageIrcImpl message =
+ MessageIrcImpl.newNoticeFromIRC(from, msg.getText());
IrcStack.this.provider.getBasicInstantMessaging()
.fireMessageReceived(message, from);
}
@@ -1344,16 +1334,11 @@ public class IrcStack
public void onUserAction(final UserActionMsg msg)
{
final String user = msg.getSource().getNick();
- final String text =
- Utils.styleAsAction(Utils.parseIrcMessage(msg.getText()), user);
- final MessageIrcImpl message =
- new MessageIrcImpl(text,
- OperationSetBasicInstantMessaging.HTML_MIME_TYPE,
- OperationSetBasicInstantMessaging.DEFAULT_MIME_ENCODING,
- null);
final Contact from =
IrcStack.this.provider.getPersistentPresence().findContactByID(
user);
+ final MessageIrcImpl message =
+ MessageIrcImpl.newActionFromIRC(from, msg.getText());
IrcStack.this.provider.getBasicInstantMessaging()
.fireMessageReceived(message, from);
}
@@ -1726,11 +1711,9 @@ public class IrcStack
return;
}
- String text =
- Utils.styleAsMessage(Utils.parseIrcMessage(msg.getText()));
- MessageIrcImpl message =
- new MessageIrcImpl(text, "text/html", "UTF-8", null);
- ChatRoomMemberIrcImpl member =
+ final MessageIrcImpl message =
+ MessageIrcImpl.newMessageFromIRC(msg.getText());
+ final ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(IrcStack.this.provider,
this.chatroom, msg.getSource().getNick(),
ChatRoomMemberRole.MEMBER);
@@ -1755,11 +1738,8 @@ public class IrcStack
ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(IrcStack.this.provider,
this.chatroom, userNick, ChatRoomMemberRole.MEMBER);
- String text =
- Utils.styleAsAction(Utils.parseIrcMessage(msg.getText()),
- userNick);
MessageIrcImpl message =
- new MessageIrcImpl(text, "text/html", "UTF-8", null);
+ MessageIrcImpl.newActionFromIRC(member, msg.getText());
this.chatroom.fireMessageReceivedEvent(message, member, new Date(),
ChatRoomMessageReceivedEvent.CONVERSATION_MESSAGE_RECEIVED);
}
@@ -1781,11 +1761,8 @@ public class IrcStack
final ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(IrcStack.this.provider,
this.chatroom, userNick, ChatRoomMemberRole.MEMBER);
- final String text =
- Utils.styleAsNotice(Utils.parseIrcMessage(msg.getText()),
- userNick);
final MessageIrcImpl message =
- new MessageIrcImpl(text, "text/html", "UTF-8", null);
+ MessageIrcImpl.newNoticeFromIRC(member, msg.getText());
this.chatroom.fireMessageReceivedEvent(message, member, new Date(),
ChatRoomMessageReceivedEvent.CONVERSATION_MESSAGE_RECEIVED);
}
diff --git a/src/net/java/sip/communicator/impl/protocol/irc/MessageIrcImpl.java b/src/net/java/sip/communicator/impl/protocol/irc/MessageIrcImpl.java
index 3ea1a46..daa6b24 100644
--- a/src/net/java/sip/communicator/impl/protocol/irc/MessageIrcImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/irc/MessageIrcImpl.java
@@ -31,6 +31,118 @@ public class MessageIrcImpl
public static final String DEFAULT_MIME_TYPE = "text/plain";
/**
+ * Default mime type for HTML messages.
+ */
+ public static final String HTML_MIME_TYPE = "text/html";
+
+ /**
+ * Create a Message instance from a piece of text directly from IRC. This
+ * text might contain control characters for formatting as well as html
+ * entities that have yet to be escaped.
+ *
+ * The IRC message is parsed, control codes replaced with html tags and html
+ * entities in the original message are escaped.
+ *
+ * @param message the message from IRC
+ * @return returns a Message instance with content
+ */
+ public static MessageIrcImpl newMessageFromIRC(final String message)
+ {
+ String text = Utils.parseIrcMessage(message);
+ text = Utils.styleAsMessage(text);
+ return new MessageIrcImpl(text, HTML_MIME_TYPE, DEFAULT_MIME_ENCODING,
+ null);
+ }
+
+ /**
+ * Create a new instance from an IRC text and parse the IRC message. (See
+ * {@link #newMessageFromIRC(String)}.)
+ *
+ * @param user the originating user
+ * @param message the IRC notice message
+ * @return returns a new message instance
+ */
+ public static MessageIrcImpl newNoticeFromIRC(
+ final ChatRoomMemberIrcImpl user, final String message)
+ {
+ return newNoticeFromIRC(user.getContactAddress(), message);
+ }
+
+ /**
+ * Create a new instance from an IRC text and parse the IRC message. (See
+ * {@link #newMessageFromIRC(String)}.)
+ *
+ * @param user the originating user
+ * @param message the IRC notice message
+ * @return returns a new message instance
+ */
+ public static MessageIrcImpl newNoticeFromIRC(final Contact user,
+ final String message)
+ {
+ return newNoticeFromIRC(user.getAddress(), message);
+ }
+
+ /**
+ * Construct the new notice message.
+ *
+ * @param user the originating user
+ * @param message the IRC notice message
+ * @return returns a new message instance
+ */
+ private static MessageIrcImpl newNoticeFromIRC(final String user,
+ final String message)
+ {
+ String text = Utils.parseIrcMessage(message);
+ text = Utils.styleAsNotice(text, user);
+ return new MessageIrcImpl(text, HTML_MIME_TYPE, DEFAULT_MIME_ENCODING,
+ null);
+ }
+
+ /**
+ * Create a new instance from an IRC text and parse the IRC message. (See
+ * {@link #newMessageFromIRC(String)}.)
+ *
+ * @param user the originating user
+ * @param message the IRC action message
+ * @return returns a new message instance
+ */
+ public static MessageIrcImpl newActionFromIRC(
+ final ChatRoomMemberIrcImpl user, final String message)
+ {
+ return newActionFromIRC(user.getContactAddress(), message);
+ }
+
+ /**
+ * Create a new instance from an IRC text and parse the IRC message. (See
+ * {@link #newMessageFromIRC(String)}.)
+ *
+ * @param user the originating user
+ * @param message the IRC action message
+ * @return returns a new message instance
+ */
+ public static MessageIrcImpl newActionFromIRC(final Contact user,
+ final String message)
+ {
+ return newActionFromIRC(user.getAddress(), message);
+ }
+
+ /**
+ * Construct the new action message.
+ *
+ * @param user the originating user
+ * @param message the IRC action message
+ * @return returns a new message instance
+ */
+ private static MessageIrcImpl newActionFromIRC(final String user,
+ final String message)
+ {
+ String text = Utils.parseIrcMessage(message);
+ text = Utils.styleAsAction(text, user);
+ return new MessageIrcImpl(text, HTML_MIME_TYPE, DEFAULT_MIME_ENCODING,
+ null);
+ }
+
+ /**
* Creates a message instance according to the specified parameters.
*
* @param content the message body