diff --git a/pubber/src/main/java/daq/pubber/ConfigurationOptions.java b/pubber/src/main/java/daq/pubber/ConfigurationOptions.java index 822f8f15f6..cc2557cdbe 100644 --- a/pubber/src/main/java/daq/pubber/ConfigurationOptions.java +++ b/pubber/src/main/java/daq/pubber/ConfigurationOptions.java @@ -1,5 +1,11 @@ package daq.pubber; +import java.lang.reflect.Constructor; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; + /** * Pubber configuration options which change default behavior. */ @@ -8,4 +14,25 @@ public class ConfigurationOptions { public String extraPoint; public String extraField; + /** + * Returns a string of enabled options and values. + */ + public String toString() { + List options = new ArrayList<>(); + Field[] fields = ConfigurationOptions.class.getDeclaredFields(); + + for (Field field : fields) { + try { + if (field.get(this) != null && Boolean.TRUE.equals(field.get(this))) { + options.add(field.getName()); + } else if (field.get(this) != null) { + options.add(field.getName() + "=" + field.get(this)); + } + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + } + return String.join(" ", options); + } + } diff --git a/pubber/src/main/java/daq/pubber/Pubber.java b/pubber/src/main/java/daq/pubber/Pubber.java index 99bef948af..7c86bee451 100644 --- a/pubber/src/main/java/daq/pubber/Pubber.java +++ b/pubber/src/main/java/daq/pubber/Pubber.java @@ -360,9 +360,9 @@ private void initializeDevice() { pullDeviceMessage(); } - info(String.format("Starting pubber %s, serial %s, mac %, gateway %s", + info(String.format("Starting pubber %s, serial %s, mac %s, gateway %s, options %s", configuration.deviceId, configuration.serialNo, configuration.macAddr, - configuration.gatewayId)); + configuration.gatewayId, configuration.options)); deviceState.system.operational = true; deviceState.system.serial_no = configuration.serialNo;