blob: 3722cd828b84ad520240029a6a4538277ac7d5b1 [file] [log] [blame]
// Copyright (C) 2015 The Android Open Source Project
//
// 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 com.googlesource.gerrit.plugins.repositoryuse;
import com.google.gerrit.extensions.annotations.PluginName;
import com.google.gerrit.server.config.PluginConfig;
import com.google.gerrit.server.config.PluginConfigFactory;
import com.google.gerrit.server.config.SitePaths;
import com.google.inject.Inject;
public class Config {
public enum Database {
H2, POSTGRESQL
}
@Inject
private static PluginConfigFactory cfg;
@Inject
@PluginName
private static String pluginName;
@Inject
private static SitePaths sitePaths;
private static boolean configParsed = false;
private static boolean refreshAllSubmodules;
private static boolean parseManifests;
private static Database databaseType;
private static String database;
private static String databaseHost;
private static String databaseUser;
private static String databasePassword;
private static void readConfig() {
PluginConfig pc = cfg.getFromGerritConfig(pluginName);
refreshAllSubmodules = pc.getBoolean("refreshAllSubmodules", false);
parseManifests = pc.getBoolean("parseManifests", true);
databaseType = pc.getEnum("databaseType", Database.H2);
database = pc.getString("database",
sitePaths.site_path.resolve("db/UsageDB").toString());
databaseHost = pc.getString("databaseHost", "");
databaseUser = pc.getString("databaseUser", "");
databasePassword = pc.getString("databasePassword", "");
configParsed = true;
}
public static boolean refreshAllSubmodules() {
if (!configParsed) {
readConfig();
}
return refreshAllSubmodules;
}
public static boolean parseManifests() {
if (!configParsed) {
readConfig();
}
return parseManifests;
}
public static Database getDatabaseType() {
if (!configParsed) {
readConfig();
}
return databaseType;
}
public static String getDatabase() {
if (!configParsed) {
readConfig();
}
return database;
}
public static String getDatabaseHost() {
if (!configParsed) {
readConfig();
}
return databaseHost;
}
public static String getDatabaseUser() {
if (!configParsed) {
readConfig();
}
return databaseUser;
}
public static String getDatabasePassword() {
if (!configParsed) {
readConfig();
}
return databasePassword;
}
}