]> git.basschouten.com Git - openhab-addons.git/commitdiff
Fix equalsIgnoreCase issue (#11141)
authormlobstein <michael.lobstein@gmail.com>
Tue, 24 Aug 2021 17:04:17 +0000 (12:04 -0500)
committerGitHub <noreply@github.com>
Tue, 24 Aug 2021 17:04:17 +0000 (19:04 +0200)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
bundles/org.openhab.binding.epsonprojector/README.md
bundles/org.openhab.binding.epsonprojector/src/main/java/org/openhab/binding/epsonprojector/internal/EpsonProjectorCommandType.java
bundles/org.openhab.binding.epsonprojector/src/main/java/org/openhab/binding/epsonprojector/internal/handler/EpsonProjectorHandler.java

index e121b4016e5ef1c1cd5e0b142a1b79ec64ef5246..47a9daebd69b7115db07019dc8ffc38643d9f295 100644 (file)
@@ -40,7 +40,7 @@ Some notes:
 
 * The binding should work on all Epson projectors that support the ESC/VP21 protocol, however not all binding channels will be useable on all projectors.
 * The _source_ channel includes a dropdown with the most common source inputs.
-* If your projector has a source input that is not in the dropdown, the two digit hex code to access that input will be displayed by the _source_ channel when that input is selected by the remote control.
+* If your projector has a source input that is not in the dropdown, the two character hex code to access that input will be displayed by the _source_ channel when that input is selected by the remote control.
 * By using the sitemap mapping or a rule to send the input's code back to the _source_ channel, any source on the projector can be accessed by the binding.
 * The following channels _aspectratio_, _colormode_, _luminance_, _gamma_ and _background_ are pre-populated with a full set of options but not every option will be useable on all projectors.
 * If your projector has an option in one of the above mentioned channels that is not recognized by the binding, the channel will display 'UNKNOWN' if that un-recognized option is selected by the remote control.
index 7a9ac00ef8259b836f22e027119734512500148f..0eb9f5e8196ad3f3ded4951c764c567504eb2c1c 100644 (file)
@@ -12,8 +12,6 @@
  */
 package org.openhab.binding.epsonprojector.internal;
 
-import java.io.InvalidClassException;
-
 import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.openhab.core.items.Item;
 import org.openhab.core.library.items.DimmerItem;
@@ -29,34 +27,34 @@ import org.openhab.core.library.items.SwitchItem;
  */
 @NonNullByDefault
 public enum EpsonProjectorCommandType {
-    POWER("Power", SwitchItem.class),
-    POWER_STATE("PowerState", StringItem.class),
-    LAMP_TIME("LampTime", NumberItem.class),
-    KEY_CODE("KeyCode", StringItem.class),
-    VKEYSTONE("VerticalKeystone", NumberItem.class),
-    HKEYSTONE("HorizontalKeystone", NumberItem.class),
-    AKEYSTONE("AutoKeystone", SwitchItem.class),
-    FREEZE("Freeze", SwitchItem.class),
-    ASPECT_RATIO("AspectRatio", StringItem.class),
-    LUMINANCE("Luminance", StringItem.class),
-    SOURCE("Source", StringItem.class),
-    BRIGHTNESS("Brightness", NumberItem.class),
-    CONTRAST("Contrast", NumberItem.class),
-    DENSITY("Density", NumberItem.class),
-    TINT("Tint", NumberItem.class),
-    COLOR_TEMP("ColorTemperature", NumberItem.class),
-    FLESH_TEMP("FleshTemperature", NumberItem.class),
-    COLOR_MODE("ColorMode", StringItem.class),
-    HPOSITION("HorizontalPosition", NumberItem.class),
-    VPOSITION("VerticalPosition", NumberItem.class),
-    GAMMA("Gamma", StringItem.class),
-    VOLUME("Volume", DimmerItem.class),
-    MUTE("Mute", SwitchItem.class),
-    HREVERSE("HorizontalReverse", SwitchItem.class),
-    VREVERSE("VerticalReverse", SwitchItem.class),
-    BACKGROUND("Background", StringItem.class),
-    ERR_CODE("ErrCode", NumberItem.class),
-    ERR_MESSAGE("ErrMessage", StringItem.class),;
+    POWER("power", SwitchItem.class),
+    POWER_STATE("powerstate", StringItem.class),
+    LAMP_TIME("lamptime", NumberItem.class),
+    KEY_CODE("keycode", StringItem.class),
+    VKEYSTONE("verticalkeystone", NumberItem.class),
+    HKEYSTONE("horizontalkeystone", NumberItem.class),
+    AKEYSTONE("autokeystone", SwitchItem.class),
+    FREEZE("freeze", SwitchItem.class),
+    ASPECT_RATIO("aspectratio", StringItem.class),
+    LUMINANCE("luminance", StringItem.class),
+    SOURCE("source", StringItem.class),
+    BRIGHTNESS("brightness", NumberItem.class),
+    CONTRAST("contrast", NumberItem.class),
+    DENSITY("density", NumberItem.class),
+    TINT("tint", NumberItem.class),
+    COLOR_TEMP("colortemperature", NumberItem.class),
+    FLESH_TEMP("fleshtemperature", NumberItem.class),
+    COLOR_MODE("colormode", StringItem.class),
+    HPOSITION("horizontalposition", NumberItem.class),
+    VPOSITION("verticalposition", NumberItem.class),
+    GAMMA("gamma", StringItem.class),
+    VOLUME("volume", DimmerItem.class),
+    MUTE("mute", SwitchItem.class),
+    HREVERSE("horizontalreverse", SwitchItem.class),
+    VREVERSE("verticalreverse", SwitchItem.class),
+    BACKGROUND("background", StringItem.class),
+    ERR_CODE("errcode", NumberItem.class),
+    ERR_MESSAGE("errmessage", StringItem.class),;
 
     private final String text;
     private Class<? extends Item> itemClass;
@@ -75,48 +73,22 @@ public enum EpsonProjectorCommandType {
         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<? extends Item> itemClass)
-            throws IllegalArgumentException, InvalidClassException {
-        for (EpsonProjectorCommandType c : EpsonProjectorCommandType.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 EpsonProjectorCommandType getCommandType(String commandTypeText) throws IllegalArgumentException {
         for (EpsonProjectorCommandType c : EpsonProjectorCommandType.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);
     }
 }
index 30cd57c77775dc0b9f090de978ff7cfa0f32b6a8..7229deeb7020b67e1a010cc1b495db4cd3a5555a 100644 (file)
@@ -170,7 +170,7 @@ public class EpsonProjectorHandler extends BaseThingHandler {
                 }
             }
         } catch (IllegalArgumentException e) {
-            logger.warn("Unknown channel {}", channel.getUID().getId());
+            logger.warn("Unknown channel {}, exception: {}", channel.getUID().getId(), e.getMessage());
         }
     }