- final ServiceReference<ConfigurationAdmin> configAdminServiceReference =
- bundleContext.getServiceReference(ConfigurationAdmin.class);
- if (configAdminServiceReference == null) {
- LOG.warn("No ConfigurationAdmin service found");
- return builder.build();
- }
-
- final ConfigurationAdmin configAdmin = bundleContext.getService(configAdminServiceReference);
- if (configAdmin == null) {
- LOG.warn("Failed to get ConfigurationAdmin service");
- return builder.build();
- }
-
- final Configuration config;
- try {
- config = configAdmin.getConfiguration(CONFIG_ID);
- if (config != null) {
- return parseConfiguration(builder, config);
- }
-
- LOG.debug("Could not read strategy configuration file, will use default configuration");
- } catch (IOException e1) {
- LOG.warn("Failed to get configuration for {}, starting up empty", CONFIG_ID);
- return builder.build();
- } finally {
- try {
- bundleContext.ungetService(configAdminServiceReference);
- } catch (Exception e) {
- LOG.debug("Error from ungetService", e);
+ if (props != null && !props.isEmpty()) {
+ parseConfiguration(builder, props);
+ } else {
+ if (props == null) {
+ LOG.debug("Could not read strategy configuration file, will use default configuration.");
+ } else {
+ LOG.debug("Configuration file is empty, will use default configuration.");