aboutsummaryrefslogtreecommitdiffstats
path: root/container-core/src/main/java/com/yahoo/container/jdisc/state/StateMetricContext.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-core/src/main/java/com/yahoo/container/jdisc/state/StateMetricContext.java')
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/state/StateMetricContext.java19
1 files changed, 7 insertions, 12 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/state/StateMetricContext.java b/container-core/src/main/java/com/yahoo/container/jdisc/state/StateMetricContext.java
index 4cb19653848..6d6635ecc94 100644
--- a/container-core/src/main/java/com/yahoo/container/jdisc/state/StateMetricContext.java
+++ b/container-core/src/main/java/com/yahoo/container/jdisc/state/StateMetricContext.java
@@ -3,10 +3,11 @@ package com.yahoo.container.jdisc.state;
import com.yahoo.jdisc.Metric;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
+import java.util.Objects;
+
+import static java.util.stream.Collectors.toUnmodifiableMap;
/**
* A context implementation whose identity is the key and values such that this can be used as
@@ -41,16 +42,10 @@ public final class StateMetricContext implements MetricDimensions, Metric.Contex
}
public static StateMetricContext newInstance(Map<String, ?> properties) {
- Map<String, String> data;
- if (properties != null) {
- data = new HashMap<>(properties.size());
- for (Map.Entry<String, ?> entry : properties.entrySet()) {
- data.put(entry.getKey(), entry.getValue() != null ? entry.getValue().toString() : null);
- }
- data = Collections.unmodifiableMap(data);
- } else {
- data = Collections.emptyMap();
- }
+ Map<String, String> data = (properties != null)
+ ? properties.entrySet().stream().collect(
+ toUnmodifiableMap(Map.Entry::getKey, e -> Objects.requireNonNullElse(e.getValue(), "").toString()))
+ : Map.of();
return new StateMetricContext(data);
}