private static void setupFrameworks() { Config frameworkConfig = config.getConfig("sirius.frameworks"); Map<String, Boolean> frameworkStatus = Maps.newHashMap(); int total = 0; int numEnabled = 0; LOG.DEBUG_INFO("Scanning framework status (sirius.frameworks):"); for (Map.Entry<String, com.typesafe.config.ConfigValue> entry : frameworkConfig.entrySet()) { String framework = entry.getKey(); try { boolean enabled = Value.of(entry.getValue().unwrapped()).asBoolean(false); frameworkStatus.put(framework, enabled); total++; numEnabled += enabled ? 1 : 0; LOG.DEBUG_INFO(Strings.apply(" * %s: %b", framework, enabled)); } catch (Exception e) { Exceptions.ignore(e); LOG.WARN("Cannot convert status '%s' of framework '%s' to a boolean! Framework will be disabled.", entry.getValue().render(), framework); frameworkStatus.put(framework, false); } } LOG.INFO("Enabled %d of %d frameworks...", numEnabled, total); // Although customizations are loaded in setupConfiguration, we output the status here, // as this seems more intiutive for the customer (the poor guy reading the logs...) LOG.INFO("Active Customizations: %s", customizations); frameworks = frameworkStatus; }