]> git.basschouten.com Git - openhab-addons.git/commitdiff
[knx] Code cleanup (#16199)
authorHolger Friedrich <mail@holger-friedrich.de>
Wed, 3 Jan 2024 20:54:21 +0000 (21:54 +0100)
committerGitHub <noreply@github.com>
Wed, 3 Jan 2024 20:54:21 +0000 (21:54 +0100)
- Enhance trace logging
- Remove unused file
- Null annotations

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/KNXTypeMapper.java [deleted file]
bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/AbstractKNXClient.java
bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/discovery/KNXnetDiscoveryService.java
bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/profiles/KNXProfileAdvisor.java
bundles/org.openhab.binding.knx/src/test/java/org/openhab/binding/knx/internal/client/DummyKNXNetworkLink.java

diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/KNXTypeMapper.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/KNXTypeMapper.java
deleted file mode 100644 (file)
index 7bcb817..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Copyright (c) 2010-2024 Contributors to the openHAB project
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License 2.0 which is available at
- * http://www.eclipse.org/legal/epl-2.0
- *
- * SPDX-License-Identifier: EPL-2.0
- */
-package org.openhab.binding.knx.internal;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-import org.openhab.core.types.Type;
-
-import tuwien.auto.calimero.datapoint.Datapoint;
-
-/**
- * This interface must be implemented by classes that provide a type mapping
- * between openHAB and KNX.
- * When a command or status update is sent to an item on the openHAB event bus,
- * it must be clear, in which format it must be sent to KNX and vice versa.
- *
- * @author Kai Kreuzer - Initial contribution
- *
- */
-@NonNullByDefault
-public interface KNXTypeMapper {
-
-    /**
-     * maps an openHAB command/state to a string value which correspond to its datapoint in KNX
-     *
-     * @param type a command or state
-     * @param dpt the corresponding datapoint type
-     * @return datapoint value as a string
-     */
-    @Nullable
-    String toDPTValue(Type type, @Nullable String dpt);
-
-    /**
-     * maps a datapoint value to an openHAB command or state
-     *
-     * @param datapoint the source datapoint
-     * @param data the datapoint value as an ASDU byte array (see
-     *            <code>{@link tuwien.auto.calimero.process.ProcessEvent}.getASDU()</code>)
-     * @return a command or state of openHAB
-     */
-    @Nullable
-    Type toType(Datapoint datapoint, byte[] data);
-
-    @Nullable
-    Class<? extends Type> toTypeClass(@Nullable String dpt);
-}
index f85996b085cca9677cb79345161f5eb901cf3ff8..79f4fb2f1d071da5960bebdfb27f06f508c2ddf7 100644 (file)
@@ -503,7 +503,8 @@ public abstract class AbstractKNXClient implements NetworkLinkListener, KNXClien
         }
         GroupAddress groupAddress = commandSpec.getGroupAddress();
 
-        logger.trace("writeToKNX groupAddress '{}', commandSpec '{}'", groupAddress, commandSpec);
+        logger.trace("writeToKNX groupAddress '{}', commandSpec '{}:{} {}'", groupAddress, groupAddress,
+                commandSpec.getDPT(), commandSpec.getValue());
 
         sendToKNX(processCommunicator, groupAddress, commandSpec.getDPT(), commandSpec.getValue());
     }
index 5eaddc8e27937da3706d730eef8bebedca6d08a0..d12192fa727b826ad63c4c0e4b023344b3c1197a 100644 (file)
@@ -95,9 +95,6 @@ public class KNXnetDiscoveryService extends AbstractDiscoveryService {
             for (Result<SearchResponse> r : responses) {
                 @Nullable
                 SearchResponse response = r.getResponse();
-                if (response == null) {
-                    continue;
-                }
                 Map<ServiceFamily, Integer> services = response.getServiceFamilies().families();
 
                 if (services.containsKey(ServiceFamiliesDIB.ServiceFamily.Tunneling)
index 9cf2e8cf1656f3285c48a44a7aa3f3c58ae8efab..fe23188d6b9b84094ab2a2572d063c95791b2850 100644 (file)
@@ -40,15 +40,15 @@ public class KNXProfileAdvisor implements ProfileAdvisor {
         if (channelTypeUID == null || !channelTypeUID.getBindingId().equals(BINDING_ID)) {
             return null;
         }
-        return getSuggestedProfieTypeUID(channelTypeUID);
+        return getSuggestedProfileTypeUID(channelTypeUID);
     }
 
     @Override
     public @Nullable ProfileTypeUID getSuggestedProfileTypeUID(ChannelType channelType, @Nullable String itemType) {
-        return getSuggestedProfieTypeUID(channelType.getUID());
+        return getSuggestedProfileTypeUID(channelType.getUID());
     }
 
-    private ProfileTypeUID getSuggestedProfieTypeUID(ChannelTypeUID channelTypeUID) {
+    private ProfileTypeUID getSuggestedProfileTypeUID(ChannelTypeUID channelTypeUID) {
         if (isControl(channelTypeUID)) {
             return SystemProfiles.FOLLOW;
         } else {
index 553827f7d1dd8074736910c0d259f5c699244898..7802404ec9964881ff60dd56b26875c72032ea94 100644 (file)
 package org.openhab.binding.knx.internal.client;
 
 import java.util.HashSet;
+import java.util.Objects;
 import java.util.Set;
 
 import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.jdt.annotation.Nullable;
 import org.openhab.core.util.HexUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -42,27 +44,27 @@ import tuwien.auto.calimero.link.medium.KNXMediumSettings;
  *
  * @author Holger Friedrich - Initial contribution
  */
-@NonNullByDefault({})
+@NonNullByDefault
 public class DummyKNXNetworkLink implements KNXNetworkLink {
     public static final Logger LOGGER = LoggerFactory.getLogger(DummyKNXNetworkLink.class);
     public static final int GROUP_WRITE = 0x80;
 
     private byte[] lastFrame = new byte[0];
-    private Set<NetworkLinkListener> listeners = new HashSet<>();
+    private Set<@Nullable NetworkLinkListener> listeners = new HashSet<>();
 
-    public void setKNXMedium(KNXMediumSettings settings) {
-        LOGGER.warn(settings.toString());
+    public void setKNXMedium(@Nullable KNXMediumSettings settings) {
+        LOGGER.warn(Objects.toString(settings));
     }
 
     public KNXMediumSettings getKNXMedium() {
         return KNXMediumSettings.create(KNXMediumSettings.MEDIUM_TP1, new IndividualAddress(1, 2, 3));
     }
 
-    public void addLinkListener(NetworkLinkListener l) {
+    public void addLinkListener(@Nullable NetworkLinkListener l) {
         listeners.add(l);
     }
 
-    public void removeLinkListener(NetworkLinkListener l) {
+    public void removeLinkListener(@Nullable NetworkLinkListener l) {
         listeners.remove(l);
     }
 
@@ -73,13 +75,16 @@ public class DummyKNXNetworkLink implements KNXNetworkLink {
         return 0;
     }
 
-    public void sendRequest(KNXAddress dst, Priority p, byte[] nsdu)
+    public void sendRequest(@Nullable KNXAddress dst, @Nullable Priority p, byte @Nullable [] nsdu)
             throws KNXTimeoutException, KNXLinkClosedException {
         sendRequestWait(dst, p, nsdu);
     }
 
-    public void sendRequestWait(KNXAddress dst, Priority p, byte[] nsdu)
+    public void sendRequestWait(@Nullable KNXAddress dst, @Nullable Priority p, byte @Nullable [] nsdu)
             throws KNXTimeoutException, KNXLinkClosedException {
+        if (nsdu == null) {
+            return;
+        }
         LOGGER.info("sendRequestWait() {} {} {}", dst, p, HexUtils.bytesToHex(nsdu, " "));
 
         lastFrame = nsdu.clone();
@@ -109,11 +114,13 @@ public class DummyKNXNetworkLink implements KNXNetworkLink {
         FrameEvent f = new FrameEvent(this, new CEMILData(CEMILData.MC_LDATA_IND, src, dst, nsdu, p, repeat, hopCount));
 
         listeners.forEach(listener -> {
-            listener.indication(f);
+            if (listener != null) {
+                listener.indication(f);
+            }
         });
     }
 
-    public void send(CEMILData msg, boolean waitForCon) throws KNXTimeoutException, KNXLinkClosedException {
+    public void send(@Nullable CEMILData msg, boolean waitForCon) throws KNXTimeoutException, KNXLinkClosedException {
         LOGGER.warn("send() not implemented");
     }