diff gnv-artifacts/src/main/java/de/intevation/gnv/utils/MapfileGenerator.java @ 621:567216b56983

Added MapfileGenerator stub and MapfileGenerator calls after writing and removing shapefiles. gnv-artifacts/trunk@692 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 17 Feb 2010 09:40:15 +0000
parents
children 89aca25642d6
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/utils/MapfileGenerator.java	Wed Feb 17 09:40:15 2010 +0000
@@ -0,0 +1,79 @@
+package de.intevation.gnv.utils;
+
+import org.apache.log4j.Logger;
+
+
+/**
+ * @author Ingo Weinzierl (ingo.weinzierl@intevation.de)
+ */
+public class MapfileGenerator
+extends Thread
+{
+
+    public static final String MAPFILE_PATH =
+        "/artifact-database/map-generator/mapfile/@path";
+
+    protected static final long SLEEPTIME = 10 * 1000L; // 10 seconds
+
+    private static Logger logger = Logger.getLogger(MapfileGenerator.class);
+
+    private static MapfileGenerator instance;
+
+    private boolean lock[];
+
+
+
+    private MapfileGenerator() {
+        lock = new boolean[1];
+    }
+
+
+    public static void main(String[] args) {
+        // TODO Implement me
+    }
+
+
+    public static synchronized MapfileGenerator getInstance() {
+        if (instance == null) {
+            instance = new MapfileGenerator();
+            instance.setDaemon(true);
+            instance.start();
+        }
+
+        return instance;
+    }
+
+
+    public void update() {
+        synchronized (lock) {
+            lock[0] = true;
+            lock.notify();
+        }
+    }
+
+
+    public void run() {
+        try {
+            for (;;) {
+                synchronized (lock) {
+                    while (!lock[0]) {
+                        lock.wait(SLEEPTIME);
+                    }
+                    
+                    lock[0] = false;
+                }
+                
+                logger.info("Update mapfile for MapServer.");
+                generate();
+            }
+        }
+        catch (InterruptedException ie) {
+        }
+    }
+
+
+    private void generate() {
+        logger.debug("IMPLEMENT ME");
+    }
+}
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:

http://dive4elements.wald.intevation.org