X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=map-server%2Faltos-mapd%2FAltosMapdClient.java;h=09833363a0c4f6255ba4e0369059fe664fbbd063;hp=fb0c08e60f8422bfb698f87854776446b2fdb7bb;hb=02adfb13297f7dffcd8edcdd3b8747cf52b2a70b;hpb=073ebc77bbd813eb97c515ecf3c2d104d6157843 diff --git a/map-server/altos-mapd/AltosMapdClient.java b/map-server/altos-mapd/AltosMapdClient.java index fb0c08e6..09833363 100644 --- a/map-server/altos-mapd/AltosMapdClient.java +++ b/map-server/altos-mapd/AltosMapdClient.java @@ -26,7 +26,10 @@ public class AltosMapdClient extends Thread implements AltosMapStoreListener { private AltosJson request; private AltosJson reply; + private int http_status; + private void set_status(int status) { + http_status = status; reply.put("status", status); } @@ -77,10 +80,11 @@ public class AltosMapdClient extends Thread implements AltosMapStoreListener { addr == null) { set_status(400); + } else if (!AltosMapd.check_lat_lon(lat, lon)) { + set_status(403); /* Forbidden */ } else { - store_ready = new Semaphore(0); - System.out.printf("Fetching tile for %g %g %d\n", lat, lon, zoom); + store_ready = new Semaphore(0); AltosMapStore map_store = AltosMapStore.get(new AltosLatLon(lat, lon), zoom, @@ -90,13 +94,10 @@ public class AltosMapdClient extends Thread implements AltosMapStoreListener { int status; if (map_store == null) { - System.out.printf("no store?\n"); status = AltosMapTile.failed; } else { map_store.add_listener(this); - System.out.printf("Waiting for tile\n"); - try { store_ready.acquire(); } catch (Exception ie) { @@ -120,6 +121,9 @@ public class AltosMapdClient extends Thread implements AltosMapStoreListener { set_status(400); } } + System.out.printf("%s: %.6f %.6f %d status %d\n", + addr, lat, lon, zoom, http_status); + } catch (Exception e) { System.out.printf("client exception %s\n", e.toString()); e.printStackTrace(System.out); @@ -137,7 +141,6 @@ public class AltosMapdClient extends Thread implements AltosMapStoreListener { socket.close(); } catch (IOException ie) { } - System.out.printf("client done\n"); } }