view flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/DBConfig.java @ 4282:8b4988815974

Added marker for Ws and Qs in Historical Discharge WQ charts. Therefore, the XYChartGenerator got two new methods addDomainMarker(Marker, boolean) and addValueMarker(Marker, boolean). The boolean parameters determine, if the marker should be visible or not. This is analogous to addAxisSeries(XYSeries, int, boolean).
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 29 Oct 2012 05:59:27 +0100
parents 5642a83420f2
children
line wrap: on
line source
package de.intevation.flys.artifacts.datacage;

import de.intevation.artifacts.common.utils.Config;

import de.intevation.artifactdatabase.db.SQL;
import de.intevation.artifactdatabase.db.DBConnection;

import org.apache.log4j.Logger;

public class DBConfig
{
    private static Logger logger = Logger.getLogger(DBConfig.class);

     /**
     * XPath to access the database driver within the global configuration.
     */
    public static final String DB_DRIVER =
        "/artifact-database/datacage/driver/text()";
    /**
     * XPath to access the database URL within the global configuration.
     */
    public static final String DB_URL =
        "/artifact-database/datacage/url/text()";
    /**
     * XPath to access the database use within the global configuration.
     */
    public static final String DB_USER =
        "/artifact-database/datacage/user/text()";
    /**
     * XPath to access the database password within the global configuration.
     */
    public static final String DB_PASSWORD =
        "/artifact-database/datacage/password/text()";

    /**
     * The default database driver: H2
     */
    public static final String DEFAULT_DRIVER =
        "org.h2.Driver";

    /**
     * The default database user: ""
     */
    public static final String DEFAULT_USER = "";

    /**
     * The default database password: ""
     */
    public static final String DEFAULT_PASSWORD = "";


    public static final String DEFAULT_URL =
        "jdbc:h2:mem:datacage;INIT=RUNSCRIPT FROM '${artifacts.config.dir}/datacage.sql'";

    public static final String RESOURCE_PATH = "/datacage-sql";

    private static DBConfig instance;

    protected DBConnection dbConnection;
    protected SQL          sql;

    public DBConfig() {
    }

    public DBConfig(DBConnection dbConnection, SQL sql) {
        this.dbConnection = dbConnection;
        this.sql          = sql;
    }

    public static synchronized DBConfig getInstance() {
        if (instance == null) {
            instance = createInstance();
        }
        return instance;
    }

    protected static DBConfig createInstance() {
        String driver = Config.getStringXPath(
            DB_DRIVER, DEFAULT_DRIVER);

        String url = Config.getStringXPath(
            DB_URL, DEFAULT_URL);

        url = Config.replaceConfigDir(url);

        String user = Config.getStringXPath(
            DB_USER, DEFAULT_USER);

        String password = Config.getStringXPath(
            DB_PASSWORD, DEFAULT_PASSWORD);

        DBConnection dbConnection = new DBConnection(
            driver, url, user, password);

        SQL sql = new SQL(DBConfig.class, RESOURCE_PATH, driver);

        return new DBConfig(dbConnection, sql);
    }

    public DBConnection getDBConnection() {
        return dbConnection;
    }

    public SQL getSQL() {
        return sql;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org