Refactor: move telemetry config from componentCfg to configs.xml
1. Support to export the metrics to multiple targets
2. Add a set of properties to kafka config (key, topic, etc.)
3. Add distributedStore to manage telemetry configs
4. Add CLI to query stored telemetry configs
5. Add a set of telemetry loaders to import xml definitions
6. Add unit tests for telemetry cfg, xml cfg loader and dist store
7. Add missing javadoc for a set of implementation classes
Change-Id: I39480c9a6ac07357184d2e1094b9c9f4d36fd8b1
diff --git a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/TelemetryConfigService.java b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/TelemetryConfigService.java
index 51e4cea..76076d2 100644
--- a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/TelemetryConfigService.java
+++ b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/TelemetryConfigService.java
@@ -15,17 +15,39 @@
*/
package org.onosproject.openstacktelemetry.api;
+import org.onosproject.event.ListenerService;
import org.onosproject.openstacktelemetry.api.config.TelemetryConfig;
+import org.onosproject.openstacktelemetry.api.config.TelemetryConfig.ConfigType;
+
+import java.util.Set;
/**
* Telemetry configuration service interface.
*/
-public interface TelemetryConfigService {
+public interface TelemetryConfigService
+ extends ListenerService<TelemetryConfigEvent, TelemetryConfigListener> {
/**
- * Obtains the telemetry configuration.
+ * Obtains the telemetry configuration with the given telemetry
+ * configuration name.
*
- * @return telemetry configuration
+ * @param name telemetry configuration name
+ * @return provided telemetry configuration
*/
- TelemetryConfig getConfig();
+ TelemetryConfig getConfig(String name);
+
+ /**
+ * Obtains the telemetry configuration with the given telemetry config type.
+ *
+ * @param type telemetry configuration type
+ * @return provided telemetry configurations
+ */
+ Set<TelemetryConfig> getConfigsByType(ConfigType type);
+
+ /**
+ * Returns the overall set of telemetry configurations being provided.
+ *
+ * @return provided telemetry configurations
+ */
+ Set<TelemetryConfig> getConfigs();
}