From 80bb7aee547f6fcf6c78e21e4c9df76436acf6d3 Mon Sep 17 00:00:00 2001 From: lsiepel Date: Thu, 22 Dec 2022 08:58:12 +0100 Subject: [PATCH] [bluetooth.govee] null annotations (#13978) * null annotations and checkstyle * Fix more warnings Signed-off-by: lsiepel --- .../bluetooth/gattserial/MessageSupplier.java | 3 +++ .../govee/internal/GoveeHygrometerHandler.java | 1 - .../bluetooth/govee/internal/GoveeModel.java | 2 +- .../hygrometer/GetOrSetHumWarningCommand.java | 16 ++++++++++------ .../bluetooth/govee/internal/GoveeModelTest.java | 7 +++++-- .../internal/readme/ThingTypeTableGenerator.java | 12 +++++++----- 6 files changed, 26 insertions(+), 15 deletions(-) diff --git a/bundles/org.openhab.binding.bluetooth.govee/src/main/java/org/openhab/binding/bluetooth/gattserial/MessageSupplier.java b/bundles/org.openhab.binding.bluetooth.govee/src/main/java/org/openhab/binding/bluetooth/gattserial/MessageSupplier.java index a1b90deb22ea1..6a2aa337f401a 100644 --- a/bundles/org.openhab.binding.bluetooth.govee/src/main/java/org/openhab/binding/bluetooth/gattserial/MessageSupplier.java +++ b/bundles/org.openhab.binding.bluetooth.govee/src/main/java/org/openhab/binding/bluetooth/gattserial/MessageSupplier.java @@ -12,10 +12,13 @@ */ package org.openhab.binding.bluetooth.gattserial; +import org.eclipse.jdt.annotation.NonNullByDefault; + /** * @author Connor Petty - Initial Contribution * */ +@NonNullByDefault public interface MessageSupplier { public M createMessage(); diff --git a/bundles/org.openhab.binding.bluetooth.govee/src/main/java/org/openhab/binding/bluetooth/govee/internal/GoveeHygrometerHandler.java b/bundles/org.openhab.binding.bluetooth.govee/src/main/java/org/openhab/binding/bluetooth/govee/internal/GoveeHygrometerHandler.java index 7743dc1c914d9..b5d9d67029abe 100644 --- a/bundles/org.openhab.binding.bluetooth.govee/src/main/java/org/openhab/binding/bluetooth/govee/internal/GoveeHygrometerHandler.java +++ b/bundles/org.openhab.binding.bluetooth.govee/src/main/java/org/openhab/binding/bluetooth/govee/internal/GoveeHygrometerHandler.java @@ -151,7 +151,6 @@ public void dispose() { } private CompletableFuture<@Nullable ?> createInitSettingsJob() { - logger.debug("Initializing Govee Hygrometer {} settings", address); QuantityType temCali = config.getTemperatureCalibration(); diff --git a/bundles/org.openhab.binding.bluetooth.govee/src/main/java/org/openhab/binding/bluetooth/govee/internal/GoveeModel.java b/bundles/org.openhab.binding.bluetooth.govee/src/main/java/org/openhab/binding/bluetooth/govee/internal/GoveeModel.java index 8002aff39c699..aa814959d9339 100644 --- a/bundles/org.openhab.binding.bluetooth.govee/src/main/java/org/openhab/binding/bluetooth/govee/internal/GoveeModel.java +++ b/bundles/org.openhab.binding.bluetooth.govee/src/main/java/org/openhab/binding/bluetooth/govee/internal/GoveeModel.java @@ -44,7 +44,7 @@ public enum GoveeModel { private final String label; private final boolean supportsWarningBroadcast; - private final static Logger logger = LoggerFactory.getLogger(GoveeModel.class); + private static final Logger logger = LoggerFactory.getLogger(GoveeModel.class); private GoveeModel(ThingTypeUID thingTypeUID, String label, boolean supportsWarningBroadcast) { this.thingTypeUID = thingTypeUID; diff --git a/bundles/org.openhab.binding.bluetooth.govee/src/main/java/org/openhab/binding/bluetooth/govee/internal/command/hygrometer/GetOrSetHumWarningCommand.java b/bundles/org.openhab.binding.bluetooth.govee/src/main/java/org/openhab/binding/bluetooth/govee/internal/command/hygrometer/GetOrSetHumWarningCommand.java index 6c4195feb6dc9..4cb01d2ae4eb9 100644 --- a/bundles/org.openhab.binding.bluetooth.govee/src/main/java/org/openhab/binding/bluetooth/govee/internal/command/hygrometer/GetOrSetHumWarningCommand.java +++ b/bundles/org.openhab.binding.bluetooth.govee/src/main/java/org/openhab/binding/bluetooth/govee/internal/command/hygrometer/GetOrSetHumWarningCommand.java @@ -55,8 +55,11 @@ public byte getCommandCode() { return 3; } - private static short convertQuantity(QuantityType quantity) { - var percentQuantity = quantity.toUnit(Units.PERCENT); + private static short convertQuantity(@Nullable QuantityType quantity) { + if (quantity == null) { + throw new IllegalArgumentException("Unable to convert quantity to percent"); + } + QuantityType percentQuantity = quantity.toUnit(Units.PERCENT); if (percentQuantity == null) { throw new IllegalArgumentException("Unable to convert quantity to percent"); } @@ -65,14 +68,15 @@ private static short convertQuantity(QuantityType quantity) { @Override protected byte @Nullable [] getData() { - if (settings == null) { + WarningSettingsDTO localSettins = settings; + if (localSettins == null || localSettins.min == null || localSettins.max == null) { return null; } ByteBuffer buffer = ByteBuffer.allocate(5).order(ByteOrder.LITTLE_ENDIAN); - buffer.put(settings.enableAlarm == OnOffType.ON ? (byte) 1 : 0); - buffer.putShort(convertQuantity(settings.min)); - buffer.putShort(convertQuantity(settings.max)); + buffer.put(localSettins.enableAlarm == OnOffType.ON ? (byte) 1 : 0); + buffer.putShort(convertQuantity(localSettins.min)); + buffer.putShort(convertQuantity(localSettins.max)); return buffer.array(); } diff --git a/bundles/org.openhab.binding.bluetooth.govee/src/test/java/org/openhab/binding/bluetooth/govee/internal/GoveeModelTest.java b/bundles/org.openhab.binding.bluetooth.govee/src/test/java/org/openhab/binding/bluetooth/govee/internal/GoveeModelTest.java index 5d9042c39cdcd..9d63653c89186 100644 --- a/bundles/org.openhab.binding.bluetooth.govee/src/test/java/org/openhab/binding/bluetooth/govee/internal/GoveeModelTest.java +++ b/bundles/org.openhab.binding.bluetooth.govee/src/test/java/org/openhab/binding/bluetooth/govee/internal/GoveeModelTest.java @@ -14,6 +14,7 @@ import org.eclipse.jdt.annotation.NonNullByDefault; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.openhab.binding.bluetooth.MockBluetoothAdapter; import org.openhab.binding.bluetooth.MockBluetoothDevice; @@ -40,7 +41,8 @@ void noMatchTest() { } @Test - void testGovee_H5074_84DD() { + @DisplayName("testGovee_H5074_84DD") + void testGoveeH507484DD() { MockBluetoothAdapter adapter = new MockBluetoothAdapter(); MockBluetoothDevice mockDevice = adapter.getDevice(TestUtils.randomAddress()); mockDevice.setName("Govee_H5074_84DD"); @@ -49,7 +51,8 @@ void testGovee_H5074_84DD() { } @Test - void testGVH5102_77E9() { + @DisplayName("testGVH5102_77E9") + void testGVH510277E9() { MockBluetoothAdapter adapter = new MockBluetoothAdapter(); MockBluetoothDevice mockDevice = adapter.getDevice(TestUtils.randomAddress()); mockDevice.setName("GVH5102_77E9"); diff --git a/bundles/org.openhab.binding.bluetooth.govee/src/test/java/org/openhab/binding/bluetooth/govee/internal/readme/ThingTypeTableGenerator.java b/bundles/org.openhab.binding.bluetooth.govee/src/test/java/org/openhab/binding/bluetooth/govee/internal/readme/ThingTypeTableGenerator.java index dc17a83eb28ac..095c25e842de8 100644 --- a/bundles/org.openhab.binding.bluetooth.govee/src/test/java/org/openhab/binding/bluetooth/govee/internal/readme/ThingTypeTableGenerator.java +++ b/bundles/org.openhab.binding.bluetooth.govee/src/test/java/org/openhab/binding/bluetooth/govee/internal/readme/ThingTypeTableGenerator.java @@ -27,6 +27,8 @@ import javax.xml.xpath.XPathExpression; import javax.xml.xpath.XPathFactory; +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; import org.openhab.binding.bluetooth.govee.internal.GoveeModel; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -36,10 +38,10 @@ * @author Connor Petty - Initial contribution * */ +@NonNullByDefault public class ThingTypeTableGenerator { public static void main(String[] args) throws Exception { - FileInputStream fileIS = new FileInputStream("src/main/resources/OH-INF/thing/thing-types.xml"); DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = builderFactory.newDocumentBuilder(); @@ -111,9 +113,9 @@ private static int maxColumnSize(List rows, int column) { } private static class ThingTypeData { - private String id; - private String label; - private String description; + private @Nullable String id; + private @Nullable String label; + private @Nullable String description; } private static String[] toRow(ThingTypeData data) { @@ -122,7 +124,7 @@ private static String[] toRow(ThingTypeData data) { modelsForType(data.id).stream().map(model -> model.name()).collect(Collectors.joining(",")) }; } - private static List modelsForType(String typeUID) { + private static List modelsForType(@Nullable String typeUID) { return Arrays.stream(GoveeModel.values()).filter(model -> model.getThingTypeUID().getId().equals(typeUID)) .collect(Collectors.toList()); }