]> git.basschouten.com Git - openhab-addons.git/commitdiff
[weathercompany] Remove org.apache.common (#14440)
authorlsiepel <leosiepel@gmail.com>
Sun, 19 Feb 2023 19:37:08 +0000 (20:37 +0100)
committerGitHub <noreply@github.com>
Sun, 19 Feb 2023 19:37:08 +0000 (20:37 +0100)
Signed-off-by: lsiepel <leosiepel@gmail.com>
bundles/org.openhab.binding.weathercompany/src/main/java/org/openhab/binding/weathercompany/internal/handler/WeatherCompanyBridgeHandler.java
bundles/org.openhab.binding.weathercompany/src/main/java/org/openhab/binding/weathercompany/internal/util/ExceptionUtils.java [new file with mode: 0644]

index f030b3f9f170eea9d336edc27ee79e367f36cae9..d4d316b958bd5dc764225ab94a2e4013e133e11f 100644 (file)
@@ -16,11 +16,11 @@ import java.io.IOException;
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.commons.lang3.exception.ExceptionUtils;
 import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.eclipse.jdt.annotation.Nullable;
 import org.eclipse.jetty.client.HttpResponseException;
 import org.openhab.binding.weathercompany.internal.config.WeatherCompanyBridgeConfig;
+import org.openhab.binding.weathercompany.internal.util.ExceptionUtils;
 import org.openhab.core.io.net.http.HttpUtil;
 import org.openhab.core.thing.Bridge;
 import org.openhab.core.thing.ChannelUID;
@@ -58,7 +58,7 @@ public class WeatherCompanyBridgeHandler extends BaseBridgeHandler {
                 updateStatus(ThingStatus.ONLINE);
                 cancelValidateApiKeyJob();
             } catch (IOException e) {
-                Throwable rootcause = ExceptionUtils.getRootCause(e);
+                Throwable rootcause = ExceptionUtils.getRootThrowable(e);
                 if (rootcause instanceof HttpResponseException
                         && rootcause.getMessage().contains("Authentication challenge without")) {
                     logger.debug("Bridge: HttpResponseException: API key is not valid");
diff --git a/bundles/org.openhab.binding.weathercompany/src/main/java/org/openhab/binding/weathercompany/internal/util/ExceptionUtils.java b/bundles/org.openhab.binding.weathercompany/src/main/java/org/openhab/binding/weathercompany/internal/util/ExceptionUtils.java
new file mode 100644 (file)
index 0000000..f2e322e
--- /dev/null
@@ -0,0 +1,37 @@
+/**
+ * Copyright (c) 2010-2023 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.weathercompany.internal.util;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.jdt.annotation.Nullable;
+
+/**
+ * The {@link ExceptionUtils} class defines some static utility methods
+ *
+ * @author Leo Siepel - Initial contribution
+ */
+@NonNullByDefault
+public class ExceptionUtils {
+
+    public static @Nullable Throwable getRootThrowable(@Nullable Throwable throwable) {
+        List<Throwable> list = new ArrayList<>();
+        while (throwable != null && !list.contains(throwable)) {
+            list.add(throwable);
+            throwable = throwable.getCause();
+        }
+        return throwable;
+    }
+}