/*
* Copyright 2013 JBoss Inc
*
* 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.artificer.ui.server;
import org.apache.commons.configuration.Configuration;
import org.artificer.ui.server.i18n.Messages;
import org.overlord.commons.config.ConfigurationFactory;
import org.overlord.commons.config.JBossServer;
import org.artificer.ui.server.api.ArtificerApiClientAccessor;
/**
* Global access to configuration information.
*
* @author eric.wittmann@redhat.com
*/
public class ArtificerUIConfig {
public static final String ARTIFICER_UI_CONFIG_FILE_NAME = "artificer-ui.config.file.name";
public static final String ARTIFICER_UI_CONFIG_FILE_REFRESH = "artificer-ui.config.file.refresh";
public static final String ARTIFICER_API_ENDPOINT = "artificer-ui.atom-api.endpoint";
public static final String ARTIFICER_API_VALIDATING = "artificer-ui.atom-api.validating";
public static final String ARTIFICER_API_AUTH_PROVIDER = "artificer-ui.atom-api.authentication.provider";
public static final String ARTIFICER_API_BASIC_AUTH_USER = "artificer-ui.atom-api.authentication.basic.user";
public static final String ARTIFICER_API_BASIC_AUTH_PASS = "artificer-ui.atom-api.authentication.basic.password";
public static Configuration config;
static {
String configFile = System.getProperty(ARTIFICER_UI_CONFIG_FILE_NAME);
String refreshDelayStr = System.getProperty(ARTIFICER_UI_CONFIG_FILE_REFRESH);
Long refreshDelay = 5000l;
if (refreshDelayStr != null) {
refreshDelay = new Long(refreshDelayStr);
}
config = ConfigurationFactory.createConfig(
configFile,
"artificer-ui.properties",
refreshDelay,
"/META-INF/config/org.artificer.ui.server.api.properties",
ArtificerApiClientAccessor.class);
String defaultSrampApiEndpoint = JBossServer.getBaseUrl() + "/artificer-server";
System.out.println(Messages.i18n.format("Config.Loaded", ArtificerUIConfig.config.getString(ARTIFICER_API_ENDPOINT, defaultSrampApiEndpoint)));
}
/**
* @return the configuration
*/
public static Configuration getConfig() {
return config;
}
}