From 81989112d16813fe9d53c27e73f67a236feb7157 Mon Sep 17 00:00:00 2001 From: mlobstein Date: Tue, 24 Aug 2021 12:05:32 -0500 Subject: [PATCH] Fix equalsIgnoreCase issue (#11140) Signed-off-by: Michael Lobstein --- .../README.md | 6 +-- .../internal/BenqProjectorCommandType.java | 52 +++++-------------- .../handler/BenqProjectorHandler.java | 2 +- 3 files changed, 16 insertions(+), 44 deletions(-) diff --git a/bundles/org.openhab.binding.benqprojector/README.md b/bundles/org.openhab.binding.benqprojector/README.md index c306fb5dff73..9bae5644e6ee 100644 --- a/bundles/org.openhab.binding.benqprojector/README.md +++ b/bundles/org.openhab.binding.benqprojector/README.md @@ -70,10 +70,10 @@ Some notes: things/benq.things: ``` -//serial port connection +// serial port connection benqprojector:projector-serial:hometheater "Projector" [ serialPort="COM5", pollingInterval=10 ] -// serial over IP connection +// direct IP or serial over IP connection benqprojector:projector-tcp:hometheater "Projector" [ host="192.168.0.10", port=8000, pollingInterval=10 ] ``` @@ -94,7 +94,7 @@ Number benqLampTime "Lamp Time [%d h]" { channel="benqprojector:p sitemaps/benq.sitemap ``` -sitemap benq label="BenQ Projector Demo" { +sitemap benq label="BenQ Projector" { Frame label="Controls" { Switch item=benqPower label="Power" Selection item=benqSource label="Source" mappings=["hdmi"="HDMI", "hdmi2"="HDMI2", "ypbr"="Component", "RGB"="Computer", "vid"="Video", "svid"="S-Video"] diff --git a/bundles/org.openhab.binding.benqprojector/src/main/java/org/openhab/binding/benqprojector/internal/BenqProjectorCommandType.java b/bundles/org.openhab.binding.benqprojector/src/main/java/org/openhab/binding/benqprojector/internal/BenqProjectorCommandType.java index f1a67f415289..28f349a71f3c 100644 --- a/bundles/org.openhab.binding.benqprojector/src/main/java/org/openhab/binding/benqprojector/internal/BenqProjectorCommandType.java +++ b/bundles/org.openhab.binding.benqprojector/src/main/java/org/openhab/binding/benqprojector/internal/BenqProjectorCommandType.java @@ -12,8 +12,6 @@ */ package org.openhab.binding.benqprojector.internal; -import java.io.InvalidClassException; - import org.eclipse.jdt.annotation.NonNullByDefault; import org.openhab.core.items.Item; import org.openhab.core.library.items.NumberItem; @@ -28,14 +26,14 @@ */ @NonNullByDefault public enum BenqProjectorCommandType { - POWER("Power", SwitchItem.class), - SOURCE("Source", StringItem.class), - PICTURE_MODE("PictureMode", StringItem.class), - ASPECT_RATIO("AspectRatio", StringItem.class), - FREEZE("Freeze", SwitchItem.class), - BLANK("Blank", SwitchItem.class), - DIRECTCMD("DirectCmd", StringItem.class), - LAMP_TIME("LampTime", NumberItem.class); + POWER("power", SwitchItem.class), + SOURCE("source", StringItem.class), + PICTURE_MODE("picturemode", StringItem.class), + ASPECT_RATIO("aspectratio", StringItem.class), + FREEZE("freeze", SwitchItem.class), + BLANK("blank", SwitchItem.class), + DIRECTCMD("directcmd", StringItem.class), + LAMP_TIME("lamptime", NumberItem.class); private final String text; private Class itemClass; @@ -54,48 +52,22 @@ public Class getItemClass() { return itemClass; } - /** - * Procedure to validate command type string. - * - * @param commandTypeText - * command string e.g. RawData, Command, Brightness - * @return true if item is valid. - * @throws IllegalArgumentException - * Not valid command type. - * @throws InvalidClassException - * Not valid class for command type. - */ - public static boolean validateBinding(String commandTypeText, Class itemClass) - throws IllegalArgumentException, InvalidClassException { - for (BenqProjectorCommandType c : BenqProjectorCommandType.values()) { - if (c.text.equalsIgnoreCase(commandTypeText)) { - if (c.getItemClass().equals(itemClass)) { - return true; - } else { - throw new InvalidClassException("Not valid class for command type"); - } - } - } - - throw new IllegalArgumentException("Not valid command type"); - } - /** * Procedure to convert command type string to command type class. * * @param commandTypeText * command string e.g. RawData, Command, Brightness * @return corresponding command type. - * @throws InvalidClassException - * Not valid class for command type. + * @throws IllegalArgumentException + * No valid class for command type. */ public static BenqProjectorCommandType getCommandType(String commandTypeText) throws IllegalArgumentException { for (BenqProjectorCommandType c : BenqProjectorCommandType.values()) { - if (c.text.equalsIgnoreCase(commandTypeText)) { + if (c.text.equals(commandTypeText)) { return c; } } - throw new IllegalArgumentException("Not valid command type"); + throw new IllegalArgumentException("Not valid command type: " + commandTypeText); } } diff --git a/bundles/org.openhab.binding.benqprojector/src/main/java/org/openhab/binding/benqprojector/internal/handler/BenqProjectorHandler.java b/bundles/org.openhab.binding.benqprojector/src/main/java/org/openhab/binding/benqprojector/internal/handler/BenqProjectorHandler.java index 63fb9c3c0b89..68529b5ac57c 100644 --- a/bundles/org.openhab.binding.benqprojector/src/main/java/org/openhab/binding/benqprojector/internal/handler/BenqProjectorHandler.java +++ b/bundles/org.openhab.binding.benqprojector/src/main/java/org/openhab/binding/benqprojector/internal/handler/BenqProjectorHandler.java @@ -159,7 +159,7 @@ private void updateChannelState(Channel channel) { } } } catch (IllegalArgumentException e) { - logger.warn("Unknown channel {}", channel.getUID().getId()); + logger.warn("Unknown channel {}, exception: {}", channel.getUID().getId(), e.getMessage()); } }