From 45e4edf81bc1987d8b8d7e1e806b6d26fd329940 Mon Sep 17 00:00:00 2001 From: Jon Marius Venstad Date: Wed, 28 Oct 2020 17:13:32 +0100 Subject: Move MockMetric to jdisc_core test package --- .../com/yahoo/docproc/jdisc/metric/MockMetric.java | 53 ---------------------- .../docproc/SimpleDocumentProcessorTestCase.java | 3 +- .../main/java/com/yahoo/jdisc/test/MockMetric.java | 53 ++++++++++++++++++++++ 3 files changed, 54 insertions(+), 55 deletions(-) delete mode 100644 docproc/src/main/java/com/yahoo/docproc/jdisc/metric/MockMetric.java create mode 100644 jdisc_core/src/main/java/com/yahoo/jdisc/test/MockMetric.java diff --git a/docproc/src/main/java/com/yahoo/docproc/jdisc/metric/MockMetric.java b/docproc/src/main/java/com/yahoo/docproc/jdisc/metric/MockMetric.java deleted file mode 100644 index a3cdd7d3394..00000000000 --- a/docproc/src/main/java/com/yahoo/docproc/jdisc/metric/MockMetric.java +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.docproc.jdisc.metric; - -import com.yahoo.jdisc.Metric; - -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -/** - * Metric implementation for tests. - * - * @author jonmv - */ -public class MockMetric implements Metric { - - private final Map, Double>> metrics = new ConcurrentHashMap<>(); - - @Override - public void set(String key, Number val, Context ctx) { - metrics.computeIfAbsent(key, k -> new ConcurrentHashMap<>()) - .put(MapContext.emptyIfNull(ctx).dimensions, val.doubleValue()); - } - - @Override - public void add(String key, Number val, Context ctx) { - metrics.computeIfAbsent(key, k -> new ConcurrentHashMap<>()) - .merge(MapContext.emptyIfNull(ctx).dimensions, val.doubleValue(), Double::sum); - } - - @Override - public Context createContext(Map properties) { - return properties == null ? MapContext.empty : new MapContext(properties); - } - - public Map, Double>> metrics() { return metrics; } - - private static class MapContext implements Context { - - private static final MapContext empty = new MapContext(Map.of()); - - private final Map dimensions; - - private MapContext(Map dimensions) { - this.dimensions = dimensions; - } - - private static MapContext emptyIfNull(Context context) { - return context == null ? empty : (MapContext) context; - } - - } - -} diff --git a/docproc/src/test/java/com/yahoo/docproc/SimpleDocumentProcessorTestCase.java b/docproc/src/test/java/com/yahoo/docproc/SimpleDocumentProcessorTestCase.java index c5fb4b75cf3..660feb49a91 100644 --- a/docproc/src/test/java/com/yahoo/docproc/SimpleDocumentProcessorTestCase.java +++ b/docproc/src/test/java/com/yahoo/docproc/SimpleDocumentProcessorTestCase.java @@ -2,8 +2,7 @@ package com.yahoo.docproc; import com.yahoo.container.StatisticsConfig; -import com.yahoo.docproc.jdisc.metric.MockMetric; -import com.yahoo.docproc.jdisc.metric.NullMetric; +import com.yahoo.jdisc.test.MockMetric; import com.yahoo.document.DataType; import com.yahoo.document.DocumentId; import com.yahoo.document.DocumentOperation; diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/test/MockMetric.java b/jdisc_core/src/main/java/com/yahoo/jdisc/test/MockMetric.java new file mode 100644 index 00000000000..cce082aeb12 --- /dev/null +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/test/MockMetric.java @@ -0,0 +1,53 @@ +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.jdisc.test; + +import com.yahoo.jdisc.Metric; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * Metric implementation for tests. + * + * @author jonmv + */ +public class MockMetric implements Metric { + + private final Map, Double>> metrics = new ConcurrentHashMap<>(); + + @Override + public void set(String key, Number val, Context ctx) { + metrics.computeIfAbsent(key, k -> new ConcurrentHashMap<>()) + .put(MapContext.emptyIfNull(ctx).dimensions, val.doubleValue()); + } + + @Override + public void add(String key, Number val, Context ctx) { + metrics.computeIfAbsent(key, k -> new ConcurrentHashMap<>()) + .merge(MapContext.emptyIfNull(ctx).dimensions, val.doubleValue(), Double::sum); + } + + @Override + public Context createContext(Map properties) { + return properties == null ? MapContext.empty : new MapContext(properties); + } + + public Map, Double>> metrics() { return metrics; } + + private static class MapContext implements Context { + + private static final MapContext empty = new MapContext(Map.of()); + + private final Map dimensions; + + private MapContext(Map dimensions) { + this.dimensions = dimensions; + } + + private static MapContext emptyIfNull(Context context) { + return context == null ? empty : (MapContext) context; + } + + } + +} -- cgit v1.2.3