summaryrefslogtreecommitdiff
path: root/same/src/main/java/com/orbekk/same/ClientServiceImpl.java
diff options
context:
space:
mode:
authorKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-01-20 16:30:44 +0100
committerKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-01-20 16:30:44 +0100
commit7fb62a6d592646df7b3a728399f830e7b4e68dec (patch)
tree8908a16de7ec407917b11afd57fa6444a40bbb22 /same/src/main/java/com/orbekk/same/ClientServiceImpl.java
parent2e0c6dd5ca704b85b15921e9e6707f6c3fcb3c9f (diff)
Implement interface for notification of state changes.
Diffstat (limited to 'same/src/main/java/com/orbekk/same/ClientServiceImpl.java')
-rw-r--r--same/src/main/java/com/orbekk/same/ClientServiceImpl.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/same/src/main/java/com/orbekk/same/ClientServiceImpl.java b/same/src/main/java/com/orbekk/same/ClientServiceImpl.java
index 75df9cc..7865167 100644
--- a/same/src/main/java/com/orbekk/same/ClientServiceImpl.java
+++ b/same/src/main/java/com/orbekk/same/ClientServiceImpl.java
@@ -9,7 +9,8 @@ public class ClientServiceImpl implements ClientService, UrlReceiver {
private ConnectionManager connections;
private State state;
private String myUrl = null;
-
+ private StateChangedListener listener;
+
public ClientServiceImpl(State state, ConnectionManager connections) {
this.state = state;
this.connections = connections;
@@ -23,7 +24,11 @@ public class ClientServiceImpl implements ClientService, UrlReceiver {
@Override
public void setState(String component, String data, long revision) {
boolean status = state.update(component, data, revision);
- if (!status) {
+ if (status) {
+ if (listener != null) {
+ listener.stateChanged(component, data);
+ }
+ } else {
logger.warn("Ignoring update: {}",
new State.Component(component, revision, data));
}
@@ -86,4 +91,8 @@ public class ClientServiceImpl implements ClientService, UrlReceiver {
State testGetState() {
return state;
}
+
+ public void setStateChangedListener(StateChangedListener listener) {
+ this.listener = listener;
+ }
}