in pytheas-core/src/main/java/com/netflix/explorers/AppConfigGlobalModelContext.java [69:110]
public AppConfigGlobalModelContext(@Named("explorerAppName") String appName) {
final String propertiesFileName = appName + "-explorers.properties";
try {
ConfigurationManager.loadPropertiesFromResources(propertiesFileName);
} catch (IOException e) {
LOG.error(String.format("Exception loading properties file - %s, Explorers application may not work correctly ",
propertiesFileName));
}
AbstractConfiguration configuration = ConfigurationManager.getConfigInstance();
environmentName = configuration.getString(PROPERTY_ENVIRONMENT_NAME);
currentRegion = configuration.getString(PROPERTY_CURRENT_REGION);
applicationVersion = (String) configuration.getProperty(PROPERTY_APPLICATION_VERSION);
applicationName = (String) configuration.getProperty(PROPERTY_APPLICATION_NAME);
isLocal = configuration.getBoolean(PROPERTY_IS_LOCAL, false);
homePageUrl = configuration.getString(PROPERTY_HOME_PAGE);
defaultPort = configuration.getShort(PROPERTY_DEFAULT_PORT, (short) 8080);
dataCenter = configuration.getString(PROPERTY_DATA_CENTER);
defaultExplorerName = configuration.getString(PROPERTY_DEFAULT_EXPLORER);
try {
Iterator<String> dcKeySet = configuration.getKeys(PROPERTIES_PREFIX + ".dc");
while (dcKeySet.hasNext()) {
String dcKey = dcKeySet.next();
String key = StringUtils.substringBefore(dcKey, ".");
String attr = StringUtils.substringAfter (dcKey, ".");
CrossLink link = links.get(key);
if (link == null) {
link = new CrossLink();
links.put(key, link);
}
BeanUtils.setProperty(link, attr, configuration.getProperty(dcKey));
}
} catch (Exception e) {
LOG.error("Exception in constructing links map ", e);
throw new RuntimeException(e);
}
}