package org.datacite.conres; import java.io.IOException; import java.io.InputStream; import java.util.Properties; /** * Application-wide configuration */ public class Configuration { public static final String SOLR_BASE_URL; public static final String SOLR_API_URL; public static final String SOLR_STATUS_URL; public static final String APP_CONTEXT; public static final String APP_GOOGLE_ANALYTICS; public static final String BUGSNAG_KEY; public static final Properties prop; public static final int SOLR_CACHE_SIZE; public static final int SOLR_CACHE_EXPIRE; public static final int CACHE_CONTROL_MAX_AGE; static { prop = new Properties(); InputStream in = Configuration.class.getResourceAsStream("/config.properties"); if (in == null) throw new RuntimeException("Please setup valid config.properties"); try { prop.load(in); SOLR_BASE_URL = (String) Configuration.prop.get("solr.base.url"); SOLR_API_URL = Configuration.SOLR_BASE_URL + "/api"; SOLR_STATUS_URL = Configuration.SOLR_BASE_URL + "/status"; APP_CONTEXT = (String) Configuration.prop.get("app.context"); APP_GOOGLE_ANALYTICS = (String) Configuration.prop.get("app.google_analytics"); BUGSNAG_KEY = (String) Configuration.prop.get("app.bugsnag.key"); SOLR_CACHE_SIZE = Integer.parseInt((String) Configuration.prop.get("solr.cache.size.items")); SOLR_CACHE_EXPIRE = Integer.parseInt((String) Configuration.prop.get("solr.cache.expire.seconds")); CACHE_CONTROL_MAX_AGE = Integer.parseInt((String) Configuration.prop.get("cache.control.max.age.seconds")); in.close(); } catch (IOException e) { throw new RuntimeException(e); } } }