From df18f16d494a6173fb7c805bd0329ef8ce28aaf9 Mon Sep 17 00:00:00 2001 From: Marcel Date: Thu, 22 Apr 2021 20:39:23 +0200 Subject: [PATCH] [miio] cleanup some sat errors (#10539) Signed-off-by: Marcel Verpaalen --- .../internal/MiIoBindingConfiguration.java | 20 ++++++++++--------- .../internal/handler/MiIoAbstractHandler.java | 12 +++++------ .../internal/handler/MiIoBasicHandler.java | 4 ++-- .../handler/MiIoUnsupportedHandler.java | 2 +- .../internal/handler/MiIoVacuumHandler.java | 5 ++--- 5 files changed, 22 insertions(+), 21 deletions(-) diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoBindingConfiguration.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoBindingConfiguration.java index fdaf4f554..e5869d6b5 100644 --- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoBindingConfiguration.java +++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoBindingConfiguration.java @@ -12,20 +12,22 @@ */ package org.openhab.binding.miio.internal; +import org.eclipse.jdt.annotation.NonNullByDefault; + /** * The {@link MiIoBindingConfiguration} class defines variables which are * used for the binding configuration. * * @author Marcel Verpaalen - Initial contribution */ -@SuppressWarnings("null") +@NonNullByDefault public final class MiIoBindingConfiguration { - public String host; - public String token; - public String deviceId; - public String model; - public String communication; - public int refreshInterval; - public int timeout; - public String cloudServer; + public String host = ""; + public String token = ""; + public String deviceId = ""; + public String model = ""; + public String communication = "direct"; + public int refreshInterval = 30; + public int timeout = 15000; + public String cloudServer = ""; } diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoAbstractHandler.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoAbstractHandler.java index b38208451..a19a6d853 100644 --- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoAbstractHandler.java +++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoAbstractHandler.java @@ -133,7 +133,7 @@ public abstract class MiIoAbstractHandler extends BaseThingHandler implements Mi final MiIoBindingConfiguration configuration = getConfigAs(MiIoBindingConfiguration.class); this.configuration = configuration; - if (configuration.host == null || configuration.host.isEmpty()) { + if (configuration.host.isEmpty()) { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "IP address required. Configure IP address"); return; @@ -142,7 +142,7 @@ public abstract class MiIoAbstractHandler extends BaseThingHandler implements Mi updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "Token required. Configure token"); return; } - cloudServer = (configuration.cloudServer != null) ? configuration.cloudServer : ""; + this.cloudServer = configuration.cloudServer; isIdentified = false; miIoScheduler.schedule(this::initializeData, 1, TimeUnit.SECONDS); int pollingPeriod = configuration.refreshInterval; @@ -262,7 +262,7 @@ public abstract class MiIoAbstractHandler extends BaseThingHandler implements Mi // use direct communications and in case of failures fall back to cloud communication. For now we keep it // simple and only have the option for cloud or direct. final MiIoBindingConfiguration configuration = this.configuration; - if (configuration != null && configuration.communication != null) { + if (configuration != null) { return configuration.communication.equals("cloud") ? cloudServer : ""; } return ""; @@ -333,13 +333,13 @@ public abstract class MiIoAbstractHandler extends BaseThingHandler implements Mi return miioCom; } final MiIoBindingConfiguration configuration = getConfigAs(MiIoBindingConfiguration.class); - if (configuration.host == null || configuration.host.isEmpty()) { + if (configuration.host.isBlank()) { return null; } @Nullable String deviceId = configuration.deviceId; try { - if (deviceId != null && deviceId.length() == 8 && tokenCheckPass(configuration.token)) { + if (deviceId.length() == 8 && tokenCheckPass(configuration.token)) { final MiIoAsyncCommunication miioCom = new MiIoAsyncCommunication(configuration.host, token, Utils.hexStringToByteArray(deviceId), lastId, configuration.timeout, cloudConnector); if (getCloudServer().isBlank()) { @@ -444,7 +444,7 @@ public abstract class MiIoAbstractHandler extends BaseThingHandler implements Mi MiIoBindingConfiguration configuration = getConfigAs(MiIoBindingConfiguration.class); String model = miioInfo.get("model").getAsString(); miDevice = MiIoDevices.getType(model); - if (configuration.model == null || configuration.model.isEmpty()) { + if (configuration.model.isEmpty()) { Configuration config = editConfiguration(); config.put(PROPERTY_MODEL, model); updateConfiguration(config); diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoBasicHandler.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoBasicHandler.java index e20e4592a..b9f4fad89 100644 --- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoBasicHandler.java +++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoBasicHandler.java @@ -367,7 +367,7 @@ public class MiIoBasicHandler extends MiIoAbstractHandler { return; } if (!hasChannelStructure) { - if (configuration.model == null || configuration.model.isEmpty()) { + if (configuration.model.isEmpty()) { logger.debug("Model needs to be determined"); isIdentified = false; } else { @@ -579,7 +579,7 @@ public class MiIoBasicHandler extends MiIoAbstractHandler { } else { String strVal = val.getAsString().toLowerCase(); updateState(basicChannel.getChannel(), - strVal.equals("on") || strVal.equals("true") ? OnOffType.ON : OnOffType.OFF); + "on".equals(strVal) || "true".equals(strVal) ? OnOffType.ON : OnOffType.OFF); } break; case "color": diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoUnsupportedHandler.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoUnsupportedHandler.java index 563b7e8cd..20be68f71 100644 --- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoUnsupportedHandler.java +++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoUnsupportedHandler.java @@ -76,7 +76,7 @@ public class MiIoUnsupportedHandler extends MiIoAbstractHandler { private int lastCommand = -1; private LinkedHashMap testChannelList = new LinkedHashMap<>(); private LinkedHashMap supportedChannelList = new LinkedHashMap<>(); - private String model = conf.model != null ? conf.model : ""; + private String model = conf.model; private final ExpiringCache updateDataCache = new ExpiringCache<>(CACHE_EXPIRY, () -> { miIoScheduler.schedule(this::updateData, 0, TimeUnit.SECONDS); diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoVacuumHandler.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoVacuumHandler.java index 30fe0fbe8..f52e473bb 100644 --- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoVacuumHandler.java +++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoVacuumHandler.java @@ -333,7 +333,7 @@ public class MiIoVacuumHandler extends MiIoAbstractHandler { control = "undef"; break; } - if (control.equals("undef")) { + if ("undef".equals(control)) { updateState(CHANNEL_CONTROL, UnDefType.UNDEF); } else { updateState(CHANNEL_CONTROL, new StringType(control)); @@ -646,8 +646,7 @@ public class MiIoVacuumHandler extends MiIoAbstractHandler { final MiIoBindingConfiguration configuration = this.configuration; if (configuration != null && cloudConnector.isConnected()) { try { - final @Nullable RawType mapDl = cloudConnector.getMap(map, - (configuration.cloudServer != null) ? configuration.cloudServer : ""); + final @Nullable RawType mapDl = cloudConnector.getMap(map, configuration.cloudServer); if (mapDl != null) { byte[] mapData = mapDl.getBytes(); RRMapDraw rrMap = RRMapDraw.loadImage(new ByteArrayInputStream(mapData));