/** * Copyright (C) 2012 52°North Initiative for Geospatial Open Source Software GmbH * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.n52.sos.db.impl; import java.util.Properties; /** * @author <a href="mailto:broering@52north.org">Arne Broering</a> * @author <a href="mailto:j.schulte@52north.org">Jan Schulte</a> */ public class Table { private static final CharSequence DATABASE_PLACEHOLDER = "@@database_name@@"; public static String OBSERVATION; public static String VALUE; public static String PROPERTY; public static String PROCEDURE; public static String FEATUREOFINTEREST; public static String SAMPLINGPOINT; public static String STATION; public static String NETWORK; public static String UNIT; public static String AGGREGATIONTYPE; public static String VALIDITY; public static String VERIFICATION; /** * initializes the table names from Properties. * @param databaseName */ public static void initTableNames(Properties props, String databaseName) { OBSERVATION = props.getProperty("database.table.OBSERVATION").replace(DATABASE_PLACEHOLDER, databaseName); VALUE = props.getProperty("database.table.VALUE").replace(DATABASE_PLACEHOLDER, databaseName); PROPERTY = props.getProperty("database.table.PROPERTY").replace(DATABASE_PLACEHOLDER, databaseName); PROCEDURE = props.getProperty("database.table.PROCEDURE").replace(DATABASE_PLACEHOLDER, databaseName); FEATUREOFINTEREST = props.getProperty("database.table.FEATUREOFINTEREST").replace(DATABASE_PLACEHOLDER, databaseName); SAMPLINGPOINT = props.getProperty("database.table.SAMPLINGPOINT").replace(DATABASE_PLACEHOLDER, databaseName); STATION = props.getProperty("database.table.STATION").replace(DATABASE_PLACEHOLDER, databaseName); NETWORK = props.getProperty("database.table.NETWORK").replace(DATABASE_PLACEHOLDER, databaseName); UNIT = props.getProperty("database.table.UNIT").replace(DATABASE_PLACEHOLDER, databaseName); AGGREGATIONTYPE = props.getProperty("database.table.AGGREGATIONTYPE").replace(DATABASE_PLACEHOLDER, databaseName); VALIDITY = props.getProperty("database.table.VALIDITY").replace(DATABASE_PLACEHOLDER, databaseName); VERIFICATION = props.getProperty("database.table.VERIFICATION").replace(DATABASE_PLACEHOLDER, databaseName); } public static boolean hasTableName(String name) { if (OBSERVATION.equalsIgnoreCase(name)) { return true; } else if (VALUE.equalsIgnoreCase(name)) { return true; } else if (PROPERTY.equalsIgnoreCase(name)) { return true; } else if (PROCEDURE.equalsIgnoreCase(name)) { return true; } else if (FEATUREOFINTEREST.equalsIgnoreCase(name)) { return true; } else if (SAMPLINGPOINT.equalsIgnoreCase(name)) { return true; } else if (STATION.equalsIgnoreCase(name)) { return true; } else if (NETWORK.equalsIgnoreCase(name)) { return true; } else if (UNIT.equalsIgnoreCase(name)) { return true; } else if (AGGREGATIONTYPE.equalsIgnoreCase(name)) { return true; } else if (VALIDITY.equalsIgnoreCase(name)) { return true; } else if (VERIFICATION.equalsIgnoreCase(name)) { return true; } else { return false; } } }