Skip to content

Commit 8b0c14c

Browse files
committed
Counter doesn't count anything. Added ability to collect the messages
from the MessageData that it receives.
1 parent b7a6a01 commit 8b0c14c

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

data-bus/src/main/java/com/iluwatar/databus/App.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import com.iluwatar.databus.data.MessageData;
2727
import com.iluwatar.databus.data.StartingData;
2828
import com.iluwatar.databus.data.StoppingData;
29-
import com.iluwatar.databus.members.CounterMember;
29+
import com.iluwatar.databus.members.MessageCollectorMember;
3030
import com.iluwatar.databus.members.StatusMember;
3131

3232
import java.time.LocalDateTime;
@@ -44,8 +44,8 @@ public static void main(String[] args) {
4444
final DataBus bus = DataBus.getInstance();
4545
bus.subscribe(new StatusMember(1));
4646
bus.subscribe(new StatusMember(2));
47-
final CounterMember foo = new CounterMember("Foo");
48-
final CounterMember bar = new CounterMember("Bar");
47+
final MessageCollectorMember foo = new MessageCollectorMember("Foo");
48+
final MessageCollectorMember bar = new MessageCollectorMember("Bar");
4949
bus.subscribe(foo);
5050
bus.publish(StartingData.of(LocalDateTime.now()));
5151
bus.publish(MessageData.of("Only Foo should see this"));

data-bus/src/main/java/com/iluwatar/databus/members/CounterMember.java renamed to data-bus/src/main/java/com/iluwatar/databus/members/MessageCollectorMember.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,25 @@
2727
import com.iluwatar.databus.Member;
2828
import com.iluwatar.databus.data.MessageData;
2929

30+
import java.util.ArrayList;
31+
import java.util.Collections;
32+
import java.util.List;
3033
import java.util.logging.Logger;
3134

3235
/**
33-
* Receiver of Data-Bus events.
36+
* Receiver of Data-Bus events that collects the messages from each {@link MessageData}.
3437
*
3538
* @author Paul Campbell (pcampbell@kemitix.net)
3639
*/
37-
public class CounterMember implements Member {
40+
public class MessageCollectorMember implements Member {
3841

39-
private static final Logger LOGGER = Logger.getLogger(CounterMember.class.getName());
42+
private static final Logger LOGGER = Logger.getLogger(MessageCollectorMember.class.getName());
4043

4144
private final String name;
4245

43-
public CounterMember(String name) {
46+
private List<String> messages = new ArrayList<>();
47+
48+
public MessageCollectorMember(String name) {
4449
this.name = name;
4550
}
4651

@@ -53,5 +58,10 @@ public void accept(final DataType data) {
5358

5459
private void handleEvent(MessageData data) {
5560
LOGGER.info(String.format("%s sees message %s", name, data.getMessage()));
61+
messages.add(data.getMessage());
62+
}
63+
64+
public List<String> getMessages() {
65+
return Collections.unmodifiableList(messages);
5666
}
5767
}

0 commit comments

Comments
 (0)