diff options
author | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-01-20 16:30:44 +0100 |
---|---|---|
committer | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-01-20 16:30:44 +0100 |
commit | 7fb62a6d592646df7b3a728399f830e7b4e68dec (patch) | |
tree | 8908a16de7ec407917b11afd57fa6444a40bbb22 /same/src/main/java/com/orbekk/same/ClientServiceImpl.java | |
parent | 2e0c6dd5ca704b85b15921e9e6707f6c3fcb3c9f (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.java | 13 |
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; + } } |