summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorgjoranv <gv@yahoo-inc.com>2016-11-11 00:15:55 +0100
committergjoranv <gv@yahoo-inc.com>2016-11-11 00:15:55 +0100
commit879df5050eea8e41973e41913e39591f39798dd2 (patch)
treebf0c366f3138779a17da121ea85a9ca3ab1ce5b4 /config-model
parenta9ccefb94e13e6318ff77a9727c8ba0c6b5b00c5 (diff)
Ignore case for metric consumer ids.
+ Use title case for 'Vespa'
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultMetricsConsumer.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/Metrics.java6
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/MetricsBuilder.java10
3 files changed, 14 insertions, 4 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultMetricsConsumer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultMetricsConsumer.java
index f6b00c8e464..ab2d89023da 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultMetricsConsumer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultMetricsConsumer.java
@@ -9,7 +9,7 @@ package com.yahoo.vespa.model.admin.monitoring;
*/
public class DefaultMetricsConsumer {
- public static final String VESPA_CONSUMER_ID = "vespa";
+ public static final String VESPA_CONSUMER_ID = "Vespa";
private static final MetricSet vespaMetricSet = new VespaMetricSet();
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/Metrics.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/Metrics.java
index b6b0dedc6b1..40b2ae98cde 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/Metrics.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/Metrics.java
@@ -20,8 +20,12 @@ public class Metrics {
consumers.put(consumer.getId(), consumer);
}
- public Map<String, MetricsConsumer> getConsumers() {
+ public Map<String, MetricsConsumer> getConsumers() {
return Collections.unmodifiableMap(consumers);
}
+ public boolean hasConsumerIgnoreCase(String id) {
+ return consumers.keySet().stream()
+ .anyMatch(existing -> existing.equalsIgnoreCase(id));
+ }
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/MetricsBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/MetricsBuilder.java
index 289316b03d6..e0d9bee3bf0 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/MetricsBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/MetricsBuilder.java
@@ -32,8 +32,7 @@ public class MetricsBuilder {
Metrics metrics = new Metrics();
for (Element consumerElement : XML.getChildren(metricsElement, "consumer")) {
String consumerId = consumerElement.getAttribute(ID_ATTRIBUTE);
- if (consumerId.equals(VESPA_CONSUMER_ID))
- throw new IllegalArgumentException("'vespa' is not allowed as metric consumer id.");
+ throwIfIllegalConsumerId(metrics, consumerId);
MetricSet metricSet = buildMetricSet(consumerId, consumerElement);
metrics.addConsumer(new MetricsConsumer(consumerId, metricSet));
@@ -57,4 +56,11 @@ public class MetricsBuilder {
return "user-metrics-" + consumerName;
}
+ private void throwIfIllegalConsumerId(Metrics metrics, String consumerId) {
+ if (consumerId.equalsIgnoreCase(VESPA_CONSUMER_ID))
+ throw new IllegalArgumentException("'Vespa' is not allowed as metrics consumer id (case is ignored.)");
+ if (metrics.hasConsumerIgnoreCase(consumerId))
+ throw new IllegalArgumentException("'" + consumerId + "' is used as id for two metrics consumers (case is ignored.)");
+ }
+
}