From d168d045bf451c8f105db6fae08935dacade3c57 Mon Sep 17 00:00:00 2001 From: lsiepel Date: Sun, 19 Feb 2023 21:34:25 +0100 Subject: [PATCH] [phc] Remove import org.apache.common (#14422) Signed-off-by: lsiepel --- .../binding/phc/internal/PHCHelper.java | 6 +-- .../internal/handler/PHCBridgeHandler.java | 4 +- .../phc/internal/util/StringUtils.java | 32 ++++++++++++++++ .../phc/internal/util/StringUtilsTest.java | 38 +++++++++++++++++++ 4 files changed, 75 insertions(+), 5 deletions(-) create mode 100644 bundles/org.openhab.binding.phc/src/main/java/org/openhab/binding/phc/internal/util/StringUtils.java create mode 100644 bundles/org.openhab.binding.phc/src/test/java/org/openhab/binding/phc/internal/util/StringUtilsTest.java diff --git a/bundles/org.openhab.binding.phc/src/main/java/org/openhab/binding/phc/internal/PHCHelper.java b/bundles/org.openhab.binding.phc/src/main/java/org/openhab/binding/phc/internal/PHCHelper.java index a3034a162..23058f613 100644 --- a/bundles/org.openhab.binding.phc/src/main/java/org/openhab/binding/phc/internal/PHCHelper.java +++ b/bundles/org.openhab.binding.phc/src/main/java/org/openhab/binding/phc/internal/PHCHelper.java @@ -12,8 +12,8 @@ */ package org.openhab.binding.phc.internal; -import org.apache.commons.lang3.StringUtils; import org.eclipse.jdt.annotation.NonNullByDefault; +import org.openhab.binding.phc.internal.util.StringUtils; import org.openhab.core.thing.ThingTypeUID; import org.openhab.core.thing.ThingUID; @@ -35,7 +35,7 @@ public class PHCHelper { */ public static ThingUID getThingUIDreverse(ThingTypeUID thingTypeUID, byte moduleAddr) { // convert to 5-bit binary string and reverse in second step - String thingID = StringUtils.leftPad(StringUtils.trim(Integer.toBinaryString(moduleAddr & 0xFF)), 5, '0'); + String thingID = StringUtils.padLeft(Integer.toBinaryString(moduleAddr & 0xFF).trim(), 5, "0"); thingID = new StringBuilder(thingID).reverse().toString(); ThingUID thingUID = new ThingUID(thingTypeUID, thingID); @@ -52,7 +52,7 @@ public class PHCHelper { public static Object bytesToBinaryString(byte[] bytes) { StringBuilder bin = new StringBuilder(); for (byte b : bytes) { - bin.append(StringUtils.leftPad(StringUtils.trim(Integer.toBinaryString(b & 0xFF)), 8, '0')); + bin.append(StringUtils.padLeft(Integer.toBinaryString(b & 0xFF).trim(), 8, "0")); bin.append(' '); } diff --git a/bundles/org.openhab.binding.phc/src/main/java/org/openhab/binding/phc/internal/handler/PHCBridgeHandler.java b/bundles/org.openhab.binding.phc/src/main/java/org/openhab/binding/phc/internal/handler/PHCBridgeHandler.java index 8e4e244ae..f3b279aaf 100644 --- a/bundles/org.openhab.binding.phc/src/main/java/org/openhab/binding/phc/internal/handler/PHCBridgeHandler.java +++ b/bundles/org.openhab.binding.phc/src/main/java/org/openhab/binding/phc/internal/handler/PHCBridgeHandler.java @@ -24,11 +24,11 @@ import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ScheduledThreadPoolExecutor; -import org.apache.commons.lang3.StringUtils; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.openhab.binding.phc.internal.PHCBindingConstants; import org.openhab.binding.phc.internal.PHCHelper; +import org.openhab.binding.phc.internal.util.StringUtils; import org.openhab.core.io.transport.serial.PortInUseException; import org.openhab.core.io.transport.serial.SerialPort; import org.openhab.core.io.transport.serial.SerialPortEvent; @@ -712,7 +712,7 @@ public class PHCBridgeHandler extends BaseBridgeHandler implements SerialPortEve private void handleIncomingCommand(byte moduleAddress, int channel, OnOffType onOff) { ThingUID uid = PHCHelper.getThingUIDreverse(PHCBindingConstants.THING_TYPE_EM, moduleAddress); Thing thing = getThing().getThing(uid); - String channelId = "em#" + StringUtils.leftPad(Integer.toString(channel), 2, '0'); + String channelId = "em#" + StringUtils.padLeft(Integer.toString(channel), 2, "0"); if (thing != null && thing.getHandler() != null) { logger.debug("Input: {}, {}, {}", thing.getUID(), channelId, onOff); diff --git a/bundles/org.openhab.binding.phc/src/main/java/org/openhab/binding/phc/internal/util/StringUtils.java b/bundles/org.openhab.binding.phc/src/main/java/org/openhab/binding/phc/internal/util/StringUtils.java new file mode 100644 index 000000000..69b768bcd --- /dev/null +++ b/bundles/org.openhab.binding.phc/src/main/java/org/openhab/binding/phc/internal/util/StringUtils.java @@ -0,0 +1,32 @@ +/** + * 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.phc.internal.util; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; + +/** + * The {@link StringUtils} class defines some static string utility methods + * + * @author Leo Siepel - Initial contribution + */ +@NonNullByDefault +public class StringUtils { + + public static String padLeft(@Nullable String input, int minSize, String padString) { + if (input == null) { + input = ""; + } + return String.format("%" + minSize + "s", input).replace(" ", padString); + } +} diff --git a/bundles/org.openhab.binding.phc/src/test/java/org/openhab/binding/phc/internal/util/StringUtilsTest.java b/bundles/org.openhab.binding.phc/src/test/java/org/openhab/binding/phc/internal/util/StringUtilsTest.java new file mode 100644 index 000000000..e8000a8a7 --- /dev/null +++ b/bundles/org.openhab.binding.phc/src/test/java/org/openhab/binding/phc/internal/util/StringUtilsTest.java @@ -0,0 +1,38 @@ +/** + * 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.phc.internal.util; + +import static org.junit.jupiter.api.Assertions.*; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.junit.jupiter.api.Test; + +/** + * The {@link StringUtils} class defines some static string utility methods + * + * @author Leo Siepel - Initial contribution + */ +@NonNullByDefault +public class StringUtilsTest { + + @Test + public void padLeft() { + assertEquals("000000", StringUtils.padLeft("", 6, "0")); + assertEquals("000000", StringUtils.padLeft(null, 6, "0")); + assertEquals("000teststr", StringUtils.padLeft("teststr", 10, "0")); + assertEquals("AAAAAAp3RF@CT", StringUtils.padLeft("p3RF@CT", 13, "A")); + assertEquals("nopaddingshouldhappen", StringUtils.padLeft("nopaddingshouldhappen", 21, "x")); + assertEquals("LongerStringThenMinSize", StringUtils.padLeft("LongerStringThenMinSize", 10, "x")); + } +}