Counter doesn't count anything. Added ability to collect the messages

from the MessageData that it receives.
This commit is contained in:
Paul Campbell
2017-04-01 19:04:28 +01:00
parent b7a6a018e0
commit 8b0c14cae0
2 changed files with 17 additions and 7 deletions
@@ -27,20 +27,25 @@ import com.iluwatar.databus.DataType;
import com.iluwatar.databus.Member;
import com.iluwatar.databus.data.MessageData;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.logging.Logger;
/**
* Receiver of Data-Bus events.
* Receiver of Data-Bus events that collects the messages from each {@link MessageData}.
*
* @author Paul Campbell (pcampbell@kemitix.net)
*/
public class CounterMember implements Member {
public class MessageCollectorMember implements Member {
private static final Logger LOGGER = Logger.getLogger(CounterMember.class.getName());
private static final Logger LOGGER = Logger.getLogger(MessageCollectorMember.class.getName());
private final String name;
public CounterMember(String name) {
private List<String> messages = new ArrayList<>();
public MessageCollectorMember(String name) {
this.name = name;
}
@@ -53,5 +58,10 @@ public class CounterMember implements Member {
private void handleEvent(MessageData data) {
LOGGER.info(String.format("%s sees message %s", name, data.getMessage()));
messages.add(data.getMessage());
}
public List<String> getMessages() {
return Collections.unmodifiableList(messages);
}
}