This is an automated email from the ASF dual-hosted git repository. joerghoh pushed a commit to branch SLING-11509 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-metrics.git
commit 2969fc64e646c1330e42c5b920bd9f3d43a674ec Author: Joerg Hoh <[email protected]> AuthorDate: Fri Aug 5 16:58:23 2022 +0200 SLING-11509 JmxExporter: add support to boolean properties --- .../sling/commons/metrics/internal/JmxExporterFactory.java | 2 ++ .../commons/metrics/internal/JmxExporterFactoryTest.java | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/main/java/org/apache/sling/commons/metrics/internal/JmxExporterFactory.java b/src/main/java/org/apache/sling/commons/metrics/internal/JmxExporterFactory.java index 587fa6b..94a18f4 100644 --- a/src/main/java/org/apache/sling/commons/metrics/internal/JmxExporterFactory.java +++ b/src/main/java/org/apache/sling/commons/metrics/internal/JmxExporterFactory.java @@ -132,6 +132,8 @@ public class JmxExporterFactory { supplier = getSupplier(objectname,attr.getName(),""); } else if ("double".equals(attr.getType())) { supplier = getSupplier(objectname,attr.getName(), Double.valueOf(0.0)); + } else if ("boolean".equals(attr.getType())) { + supplier = getSupplier(objectname,attr.getName(), Boolean.FALSE); } if (supplier != null) { diff --git a/src/test/java/org/apache/sling/commons/metrics/internal/JmxExporterFactoryTest.java b/src/test/java/org/apache/sling/commons/metrics/internal/JmxExporterFactoryTest.java index 38d2220..edce97f 100644 --- a/src/test/java/org/apache/sling/commons/metrics/internal/JmxExporterFactoryTest.java +++ b/src/test/java/org/apache/sling/commons/metrics/internal/JmxExporterFactoryTest.java @@ -19,6 +19,7 @@ package org.apache.sling.commons.metrics.internal; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.mockito.Mockito.never; import java.lang.management.ManagementFactory; @@ -64,6 +65,9 @@ public class JmxExporterFactoryTest { @Captor ArgumentCaptor<Supplier<Double>> doubleSupplierCaptor; + @Captor + ArgumentCaptor<Supplier<Boolean>> booleanSupplierCaptor; + JmxExporterFactory exporter; private static final String OBJECT_NAME_0 = "org.apache.sling.whiteboard.jmxexporter.impl0:type=sample1"; @@ -75,6 +79,7 @@ public class JmxExporterFactoryTest { private static final String EXPECTED_0_INT_NAME = "org.apache.sling.whiteboard.jmxexporter.impl0.sample1.Int"; private static final String EXPECTED_0_LONG_NAME = "org.apache.sling.whiteboard.jmxexporter.impl0.sample1.Long"; + private static final String EXPECTED_0_BOOLEAN_NAME = "org.apache.sling.whiteboard.jmxexporter.impl0.sample1.Boolean"; private static final String EXPECTED_0_STRING_NAME = "org.apache.sling.whiteboard.jmxexporter.impl0.sample1.String"; private static final String EXPECTED_0_DOUBLE_NAME = "org.apache.sling.whiteboard.jmxexporter.impl0.sample1.Double"; @@ -136,6 +141,10 @@ public class JmxExporterFactoryTest { Mockito.verify(metrics).gauge(Mockito.eq(EXPECTED_0_STRING_NAME), stringSupplierCaptor.capture()); assertEquals("sample",stringSupplierCaptor.getValue().get()); + // Boolean + Mockito.verify(metrics).gauge(Mockito.eq(EXPECTED_0_BOOLEAN_NAME), booleanSupplierCaptor.capture()); + assertFalse(booleanSupplierCaptor.getValue().get()); + // Double Mockito.verify(metrics).gauge(Mockito.eq(EXPECTED_0_DOUBLE_NAME), doubleSupplierCaptor.capture()); assertEquals(STATIC_DOUBLE,doubleSupplierCaptor.getValue().get()); @@ -185,6 +194,10 @@ public class JmxExporterFactoryTest { return STATIC_DOUBLE; } + public boolean getBoolean() { + return false; + } + } @@ -194,6 +207,7 @@ public class JmxExporterFactoryTest { public long getLong(); public String getString(); public double getDouble(); + public boolean getBoolean(); }
