diff options
author | gjoranv <gv@yahoo-inc.com> | 2016-11-11 00:15:55 +0100 |
---|---|---|
committer | gjoranv <gv@yahoo-inc.com> | 2016-11-11 00:15:55 +0100 |
commit | 879df5050eea8e41973e41913e39591f39798dd2 (patch) | |
tree | bf0c366f3138779a17da121ea85a9ca3ab1ce5b4 /config-model | |
parent | a9ccefb94e13e6318ff77a9727c8ba0c6b5b00c5 (diff) |
Ignore case for metric consumer ids.
+ Use title case for 'Vespa'
Diffstat (limited to 'config-model')
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.)"); + } + } |