apatrida
11/20/2015, 12:42 PMpublic class ServerConfig(private val log: Logger, val loader: ServerConfigLoader) {
private val configured = loader.resolvedConfig.getConfig(SOLR_UNDERTOW_CONFIG_PREFIX)!!
val httpClusterPort = configured.value(OUR_PROP_HTTP_PORT).asInt()
val httpHost = configured.value(OUR_PROP_HTTP_HOST).asString()
val httpIoThreads = configured.value(OUR_PROP_HTTP_IO_THREADS).asInt().minimum(0)
val httpWorkerThreads = configured.value(OUR_PROP_HTTP_WORKER_THREADS).asInt().minimum(0)
val shutdownConfig = ShutdownConfig(log, configured.nested("shutdown"))
val activeRequestLimits = configured.value("activeRequestLimits").asStringArray()
val requestLimiters = HashMap<String, RequestLimitConfig>() initializedBy { requestLimiters ->
val namedConfigs = configured.nested("requestLimits")
activeRequestLimits.forEach { name ->
requestLimiters.put(name, RequestLimitConfig(log, name, namedConfigs.getConfig(name)!!))
}
}
val zkRun = configured.value(OUR_PROP_ZKRUN).asBoolean()
val zkHost = configured.value(OUR_PROP_ZKHOST).asString()
val solrHome = configured.value(OUR_PROP_SOLR_HOME).asPathSibling(loader.configFile)
val solrLogs = configured.value(OUR_PROP_SOLR_LOG).asPathSibling(loader.configFile)
val tempDir = configured.value(OUR_PROP_TEMP_DIR).asPathSibling(loader.configFile)
val solrVersion = configured.value(OUR_PROP_SOLR_VERSION).asString()
val solrWarFile = configured.value(OUR_PROP_SOLR_WAR).asPathSibling(loader.configFile)
val libExtDir = configured.value(OUR_PROP_LIBEXT_DIR).asPathSibling(loader.configFile)
val solrContextPath = configured.value(OUR_PROP_HOST_CONTEXT).asString().let { solrContextPath ->
if (!solrContextPath.startsWith("/")) "/" + solrContextPath else solrContextPath
}
...