From 9f34cd7c6ef964e08cd4485f4949e1ecb2f9082f Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sun, 5 Jan 2025 20:53:49 +0100 Subject: [PATCH 1/2] Fix SAT erros Signed-off-by: Leo Siepel --- .../tacmi/internal/schema/ApiPageParser.java | 17 +++++++++-------- .../tacmi/internal/schema/ChangerX2Parser.java | 8 ++++---- .../internal/schema/TACmiSchemaHandler.java | 4 ++-- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/bundles/org.openhab.binding.tacmi/src/main/java/org/openhab/binding/tacmi/internal/schema/ApiPageParser.java b/bundles/org.openhab.binding.tacmi/src/main/java/org/openhab/binding/tacmi/internal/schema/ApiPageParser.java index 20d5afec433c7..c90d102d74db5 100644 --- a/bundles/org.openhab.binding.tacmi/src/main/java/org/openhab/binding/tacmi/internal/schema/ApiPageParser.java +++ b/bundles/org.openhab.binding.tacmi/src/main/java/org/openhab/binding/tacmi/internal/schema/ApiPageParser.java @@ -185,6 +185,7 @@ public void handleOpenElement(final @Nullable String elementName, final @Nullabl } else if ("durchsichtig".equals(classFlag)) { // link this.fieldType = FieldType.IGNORE; } else if ("bord".equals(classFlag)) { // special button style - not of our interest... + return; } else { logger.debug("Unhanndled class in {}:{}:{}: '{}' ", id, line, col, classFlag); } @@ -192,7 +193,7 @@ public void handleOpenElement(final @Nullable String elementName, final @Nullabl } } else if (this.parserState == ParserState.DATA_ENTRY && this.fieldType == FieldType.BUTTON && "span".equals(elementName)) { - // ignored... + return; // ignored... } else { logger.debug("Unexpected OpenElement in {}:{}: {} [{}]", line, col, elementName, attributes); } @@ -245,14 +246,14 @@ public void handleCloseElement(final @Nullable String elementName, final int lin getApiPageEntry(id, line, col, shortName, description, this.buttonValue); } } else if (this.fieldType == FieldType.IGNORE) { - // ignore + return; // ignore } else { logger.debug("Unhandled setting {}:{}:{} [{}] : {}", id, line, col, this.fieldType, sb); } } } else if (this.parserState == ParserState.DATA_ENTRY && this.fieldType == FieldType.BUTTON && "span".equals(elementName)) { - // ignored... + return;// ignored... } else { logger.debug("Unexpected CloseElement in {}:{}: {}", line, col, elementName); } @@ -307,7 +308,7 @@ public void handleText(final char @Nullable [] buffer, final int offset, final i } } else if (this.parserState == ParserState.INIT && ((len == 1 && buffer[offset] == '\n') || (len == 2 && buffer[offset] == '\r' && buffer[offset + 1] == '\n'))) { - // single newline - ignore/drop it... + return; // single newline - ignore/drop it... } else { String msg = new String(buffer, offset, len).replace("\n", "\\n").replace("\r", "\\r"); logger.debug("Unexpected Text {}:{}: ParserState: {} ({}) `{}`", line, col, parserState, len, msg); @@ -400,9 +401,9 @@ private void getApiPageEntry(@Nullable String id2, int line, int col, String sho // failed to get unit... if ("Imp".equals(unitStr) || "€$".contains(unitStr)) { // special case - unitData = taCmiSchemaHandler.SPECIAL_MARKER; + unitData = TACmiSchemaHandler.SPECIAL_MARKER; } else { - unitData = taCmiSchemaHandler.NULL_MARKER; + unitData = TACmiSchemaHandler.NULL_MARKER; logger.warn( "Unhandled UoM '{}' - seen on channel {} '{}'; Message from QuantityType: {}", valParts[1], shortName, description, iae.getMessage()); @@ -410,12 +411,12 @@ private void getApiPageEntry(@Nullable String id2, int line, int col, String sho } taCmiSchemaHandler.unitsCache.put(unitStr, unitData); } - if (unitData == taCmiSchemaHandler.NULL_MARKER) { + if (unitData == TACmiSchemaHandler.NULL_MARKER) { // no UoM mappable - just send value channelType = "Number"; unit = null; state = new DecimalType(bd); - } else if (unitData == taCmiSchemaHandler.SPECIAL_MARKER) { + } else if (unitData == TACmiSchemaHandler.SPECIAL_MARKER) { // special handling for unknown UoM if ("Imp".equals(unitStr)) { // Number of Pulses // impulses - no idea how to map this to something useful here? diff --git a/bundles/org.openhab.binding.tacmi/src/main/java/org/openhab/binding/tacmi/internal/schema/ChangerX2Parser.java b/bundles/org.openhab.binding.tacmi/src/main/java/org/openhab/binding/tacmi/internal/schema/ChangerX2Parser.java index dff13d3f0e893..ba3c9ea21f85d 100644 --- a/bundles/org.openhab.binding.tacmi/src/main/java/org/openhab/binding/tacmi/internal/schema/ChangerX2Parser.java +++ b/bundles/org.openhab.binding.tacmi/src/main/java/org/openhab/binding/tacmi/internal/schema/ChangerX2Parser.java @@ -102,7 +102,7 @@ public void handleOpenElement(final String elementName, final Map unit, String channelType) { // this is the units lookup cache. protected final Map unitsCache = new ConcurrentHashMap<>(); // marks an entry with known un-resolveable unit - protected final UnitAndType NULL_MARKER = new UnitAndType(Units.ONE, ""); + protected static final UnitAndType NULL_MARKER = new UnitAndType(Units.ONE, ""); // marks an entry with special handling - i.e. 'Imp' - protected final UnitAndType SPECIAL_MARKER = new UnitAndType(Units.ONE, "s"); + protected static final UnitAndType SPECIAL_MARKER = new UnitAndType(Units.ONE, "s"); public TACmiSchemaHandler(final Thing thing, final HttpClient httpClient, final TACmiChannelTypeProvider channelTypeProvider) { From 8687dfd09652957ab0cdebdd928b589b4da516a3 Mon Sep 17 00:00:00 2001 From: lsiepel Date: Mon, 6 Jan 2025 13:10:33 +0100 Subject: [PATCH 2/2] Update bundles/org.openhab.binding.tacmi/src/main/java/org/openhab/binding/tacmi/internal/schema/ApiPageParser.java Signed-off-by: lsiepel --- .../openhab/binding/tacmi/internal/schema/ApiPageParser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.tacmi/src/main/java/org/openhab/binding/tacmi/internal/schema/ApiPageParser.java b/bundles/org.openhab.binding.tacmi/src/main/java/org/openhab/binding/tacmi/internal/schema/ApiPageParser.java index c90d102d74db5..506f1d7dbd715 100644 --- a/bundles/org.openhab.binding.tacmi/src/main/java/org/openhab/binding/tacmi/internal/schema/ApiPageParser.java +++ b/bundles/org.openhab.binding.tacmi/src/main/java/org/openhab/binding/tacmi/internal/schema/ApiPageParser.java @@ -185,7 +185,7 @@ public void handleOpenElement(final @Nullable String elementName, final @Nullabl } else if ("durchsichtig".equals(classFlag)) { // link this.fieldType = FieldType.IGNORE; } else if ("bord".equals(classFlag)) { // special button style - not of our interest... - return; + continue; } else { logger.debug("Unhanndled class in {}:{}:{}: '{}' ", id, line, col, classFlag); }