From 7fb62a6d592646df7b3a728399f830e7b4e68dec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjetil=20=C3=98rbekk?= Date: Fri, 20 Jan 2012 16:30:44 +0100 Subject: Implement interface for notification of state changes. --- same/src/main/java/com/orbekk/same/ClientServiceImpl.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'same/src/main/java/com/orbekk/same/ClientServiceImpl.java') 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; + } } -- cgit v1.2.3