package org.limewire.ui.swing.friends.chat;
import org.limewire.logging.Log;
import org.limewire.logging.LogFactory;
import org.limewire.ui.swing.event.AbstractEDTEvent;
import org.limewire.inspection.InspectablePrimitive;
import org.limewire.inspection.DataCategory;
public class MessageReceivedEvent extends AbstractEDTEvent {
private static final String TOPIC_PREFIX = "chat-";
@SuppressWarnings("unused")
@InspectablePrimitive(value = "has chatted", category = DataCategory.USAGE)
private static boolean hasChatted;
private static final Log LOG = LogFactory.getLog(MessageReceivedEvent.class);
private final Message message;
public MessageReceivedEvent(Message message) {
this.message = message;
switch (message.getType()) {
case SENT:
case RECEIVED:
hasChatted = true;
}
}
public Message getMessage() {
return message;
}
public static String buildTopic(String conversationName) {
return TOPIC_PREFIX + conversationName;
}
@Override
public void publish() {
LOG.debugf("Publishing message: Type: {0} From: {1} Text: {2}", message.getType(), message.getSenderName(), message.toString());
super.publish(buildTopic(message.getFriendID()));
}
}