Mercurial > hg > release > thermostat-0.9
changeset 767:f16b52396b14
Removed hardcoded URL for WebStorage.
Reviewed-by: neugens
Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2012-November/004082.html
author | Roman Kennke <rkennke@redhat.com> |
---|---|
date | Mon, 12 Nov 2012 16:40:56 +0100 |
parents | 13eda5b74828 |
children | 7fe64764d836 003c2660ff00 |
files | web/client/src/main/java/com/redhat/thermostat/web/client/WebStorage.java web/client/src/main/java/com/redhat/thermostat/web/client/WebStorageProvider.java web/server/src/main/java/com/redhat/thermostat/web/server/WebStorageEndPoint.java |
diffstat | 3 files changed, 26 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/web/client/src/main/java/com/redhat/thermostat/web/client/WebStorage.java Mon Nov 12 15:48:34 2012 +0100 +++ b/web/client/src/main/java/com/redhat/thermostat/web/client/WebStorage.java Mon Nov 12 16:40:56 2012 +0100 @@ -95,8 +95,13 @@ @Override public void connect() { - connected = true; - fireChanged(ConnectionStatus.CONNECTED); + try { + ping(); + connected = true; + fireChanged(ConnectionStatus.CONNECTED); + } catch (IOException ex) { + fireChanged(ConnectionStatus.FAILED_TO_CONNECT); + } } @Override public String getUrl() { @@ -111,11 +116,20 @@ private Gson gson; public WebStorage() { - endpoint = "http://localhost:8082"; categoryIds = new HashMap<>(); gson = new GsonBuilder().registerTypeHierarchyAdapter(Pojo.class, new ThermostatGSONConverter()).create(); } + private void ping() throws IOException { + HttpClient httpClient = new DefaultHttpClient(); + HttpPost httpPost = new HttpPost(endpoint + "/ping"); + HttpResponse response = httpClient.execute(httpPost); + StatusLine status = response.getStatusLine(); + if (status.getStatusCode() != 200) { + throw new IOException("Server returned status: " + status); + } + } + @Override public void registerCategory(Category category) { try {
--- a/web/client/src/main/java/com/redhat/thermostat/web/client/WebStorageProvider.java Mon Nov 12 15:48:34 2012 +0100 +++ b/web/client/src/main/java/com/redhat/thermostat/web/client/WebStorageProvider.java Mon Nov 12 16:40:56 2012 +0100 @@ -10,7 +10,9 @@ @Override public Storage createStorage() { - return new WebStorage(); + WebStorage storage = new WebStorage(); + storage.setEndpoint(config.getDBConnectionString()); + return storage; } @Override
--- a/web/server/src/main/java/com/redhat/thermostat/web/server/WebStorageEndPoint.java Mon Nov 12 15:48:34 2012 +0100 +++ b/web/server/src/main/java/com/redhat/thermostat/web/server/WebStorageEndPoint.java Mon Nov 12 16:40:56 2012 +0100 @@ -126,9 +126,15 @@ loadFile(req, resp); } else if (cmd.equals("purge")) { purge(req, resp); + } else if (cmd.equals("ping")) { + ping(req, resp); } } + private void ping(HttpServletRequest req, HttpServletResponse resp) { + resp.setStatus(HttpServletResponse.SC_OK); + } + private void purge(HttpServletRequest req, HttpServletResponse resp) { storage.purge(); resp.setStatus(HttpServletResponse.SC_OK);