package org.peerbox.app.activity.collectors;
import net.engio.mbassy.listener.Handler;
import org.peerbox.app.activity.ActivityItem;
import org.peerbox.app.activity.ActivityLogger;
import org.peerbox.app.manager.node.INodeMessageListener;
import org.peerbox.app.manager.node.NodeConnectMessage;
import org.peerbox.app.manager.node.NodeDisconnectMessage;
import com.google.inject.Inject;
/**
* Node Messages (connected, disconnected, ...)
*
* @author albrecht
*
*/
final class NodeManagerCollector extends AbstractActivityCollector implements INodeMessageListener {
@Inject
protected NodeManagerCollector(ActivityLogger activityLogger) {
super(activityLogger);
}
@Handler
@Override
public void onNodeConnected(NodeConnectMessage message) {
ActivityItem item = ActivityItem.create()
.setTitle("Node connected.")
.setDescription(String.format(
"Client connected to the network. Address connected to: %s",
message.getNodeAddress()));
getActivityLogger().addActivityItem(item);
}
@Handler
@Override
public void onNodeDisconnected(NodeDisconnectMessage message) {
ActivityItem item = ActivityItem.create()
.setTitle("Node disconnected.")
.setDescription("Node disconnected from thet network.");
getActivityLogger().addActivityItem(item);
}
}