view 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 source
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