Convert FileModuleShardConfigProvider to OSGi DS
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / config / FileModuleShardConfigProvider.java
index adafa54aa2c774c10ee9ad11414c23125fbad036..7ee67be47c0159b83218820951cf369903f4c598 100644 (file)
@@ -9,16 +9,28 @@ package org.opendaylight.controller.cluster.datastore.config;
 
 import com.typesafe.config.Config;
 import java.util.Map;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Implementation of ModuleShardConfigProvider that reads the module and shard configuration from files.
  *
  * @author Thomas Pantelis
  */
+@Component(immediate = true, service = ModuleShardConfigProvider.class)
 public class FileModuleShardConfigProvider extends AbstractModuleShardConfigProvider {
+    private static final Logger LOG = LoggerFactory.getLogger(FileModuleShardConfigProvider.class);
+
     private final String moduleShardsConfigPath;
     private final String modulesConfigPath;
 
+    public FileModuleShardConfigProvider() {
+        this("./configuration/initial/module-shards.conf", "./configuration/initial/modules.conf");
+    }
+
     public FileModuleShardConfigProvider(final String moduleShardsConfigPath, final String modulesConfigPath) {
         this.moduleShardsConfigPath = moduleShardsConfigPath;
         this.modulesConfigPath = modulesConfigPath;
@@ -33,4 +45,14 @@ public class FileModuleShardConfigProvider extends AbstractModuleShardConfigProv
         readModulesConfig(modulesConfig, moduleConfigMap, configuration);
         return moduleConfigMap;
     }
+
+    @Activate
+    void activate() {
+        LOG.info("Shard configuration provider started");
+    }
+
+    @Deactivate
+    void deactivate() {
+        LOG.info("Shard configuration provider stopped");
+    }
 }