[transport.modbus] Remove dependencies on deprecated libraries (#2127)

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
This commit is contained in:
Andrew Fiddian-Green
2021-02-04 23:27:06 +01:00
committed by GitHub
parent d48646d8c6
commit 023f373b20
13 changed files with 50 additions and 122 deletions
@@ -35,7 +35,7 @@
<dependency>
<groupId>net.wimpi</groupId>
<artifactId>jamod</artifactId>
<version>1.3.0.OH</version>
<version>[1.3.0.OH,1.3.1.OH]</version>
<scope>compile</scope>
</dependency>
</dependencies>
@@ -12,10 +12,8 @@
*/
package org.openhab.core.io.transport.modbus;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.StandardToStringStyle;
import org.apache.commons.lang.builder.ToStringBuilder;
import java.util.Objects;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
@@ -33,10 +31,6 @@ import net.wimpi.modbus.Modbus;
*/
@NonNullByDefault
public class ModbusReadRequestBlueprint {
private static StandardToStringStyle toStringStyle = new StandardToStringStyle();
static {
toStringStyle.setUseShortClassName(true);
}
private final int slaveId;
private final ModbusReadFunctionCode functionCode;
@@ -104,14 +98,13 @@ public class ModbusReadRequestBlueprint {
@Override
public int hashCode() {
return new HashCodeBuilder(81, 3).append(slaveId).append(functionCode).append(start).append(length)
.append(maxTries).toHashCode();
return Objects.hash(functionCode, length, maxTries, slaveId, start);
}
@Override
public String toString() {
return new ToStringBuilder(this, toStringStyle).append("slaveId", slaveId).append("functionCode", functionCode)
.append("start", start).append("length", length).append("maxTries", maxTries).toString();
return "ModbusReadRequestBlueprint [slaveId=" + slaveId + ", functionCode=" + functionCode + ", start=" + start
+ ", length=" + length + ", maxTries=" + maxTries + "]";
}
@Override
@@ -126,7 +119,6 @@ public class ModbusReadRequestBlueprint {
return false;
}
ModbusReadRequestBlueprint rhs = (ModbusReadRequestBlueprint) obj;
return new EqualsBuilder().append(slaveId, rhs.slaveId).append(functionCode, rhs.functionCode)
.append(start, rhs.start).append(length, rhs.length).isEquals();
return functionCode == rhs.functionCode && length == rhs.length && slaveId == rhs.slaveId && start == rhs.start;
}
}
@@ -12,8 +12,6 @@
*/
package org.openhab.core.io.transport.modbus;
import org.apache.commons.lang.builder.StandardToStringStyle;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.eclipse.jdt.annotation.NonNullByDefault;
/**
@@ -25,12 +23,6 @@ import org.eclipse.jdt.annotation.NonNullByDefault;
@NonNullByDefault
public class ModbusWriteCoilRequestBlueprint extends ModbusWriteRequestBlueprint {
private static StandardToStringStyle toStringStyle = new StandardToStringStyle();
static {
toStringStyle.setUseShortClassName(true);
}
private final int slaveId;
private final int reference;
private final BitArray bits;
@@ -110,8 +102,8 @@ public class ModbusWriteCoilRequestBlueprint extends ModbusWriteRequestBlueprint
@Override
public String toString() {
return new ToStringBuilder(this, toStringStyle).append("slaveId", slaveId).append("reference", reference)
.append("functionCode", getFunctionCode()).append("bits", bits).append("maxTries", maxTries).toString();
return "ModbusWriteCoilRequestBlueprint [slaveId=" + slaveId + ", reference=" + reference + ", bits=" + bits
+ ", maxTries=" + maxTries + ", getFunctionCode()=" + getFunctionCode() + "]";
}
@Override
@@ -12,8 +12,6 @@
*/
package org.openhab.core.io.transport.modbus;
import org.apache.commons.lang.builder.StandardToStringStyle;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.eclipse.jdt.annotation.NonNullByDefault;
/**
@@ -25,12 +23,6 @@ import org.eclipse.jdt.annotation.NonNullByDefault;
@NonNullByDefault
public class ModbusWriteRegisterRequestBlueprint extends ModbusWriteRequestBlueprint {
private static StandardToStringStyle toStringStyle = new StandardToStringStyle();
static {
toStringStyle.setUseShortClassName(true);
}
private final int slaveId;
private final int reference;
private final ModbusRegisterArray registers;
@@ -96,9 +88,8 @@ public class ModbusWriteRegisterRequestBlueprint extends ModbusWriteRequestBluep
@Override
public String toString() {
return new ToStringBuilder(this, toStringStyle).append("slaveId", slaveId).append("reference", reference)
.append("functionCode", getFunctionCode()).append("registers", registers).append("maxTries", maxTries)
.toString();
return "ModbusWriteRegisterRequestBlueprint [slaveId=" + slaveId + ", reference=" + reference + ", registers="
+ registers + ", maxTries=" + maxTries + ", getFunctionCode()=" + getFunctionCode() + "]";
}
@Override
@@ -12,10 +12,8 @@
*/
package org.openhab.core.io.transport.modbus.endpoint;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.StandardToStringStyle;
import org.apache.commons.lang.builder.ToStringBuilder;
import java.util.Objects;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
@@ -61,12 +59,6 @@ public class EndpointPoolConfiguration {
*/
private int connectTimeoutMillis;
private static StandardToStringStyle toStringStyle = new StandardToStringStyle();
static {
toStringStyle.setUseShortClassName(true);
}
public long getInterConnectDelayMillis() {
return interConnectDelayMillis;
}
@@ -109,17 +101,16 @@ public class EndpointPoolConfiguration {
@Override
public int hashCode() {
return new HashCodeBuilder(2149, 3117).append(interTransactionDelayMillis).append(interConnectDelayMillis)
.append(connectMaxTries).append(reconnectAfterMillis).append(connectTimeoutMillis).toHashCode();
return Objects.hash(connectMaxTries, connectTimeoutMillis, interConnectDelayMillis, interTransactionDelayMillis,
reconnectAfterMillis);
}
@Override
public String toString() {
return new ToStringBuilder(this, toStringStyle)
.append("interTransactionDelayMillis", interTransactionDelayMillis)
.append("interConnectDelayMillis", interConnectDelayMillis).append("connectMaxTries", connectMaxTries)
.append("reconnectAfterMillis", reconnectAfterMillis)
.append("connectTimeoutMillis", connectTimeoutMillis).toString();
return "EndpointPoolConfiguration [interTransactionDelayMillis=" + interTransactionDelayMillis
+ ", interConnectDelayMillis=" + interConnectDelayMillis + ", connectMaxTries=" + connectMaxTries
+ ", reconnectAfterMillis=" + reconnectAfterMillis + ", connectTimeoutMillis=" + connectTimeoutMillis
+ "]";
}
@Override
@@ -134,9 +125,9 @@ public class EndpointPoolConfiguration {
return false;
}
EndpointPoolConfiguration rhs = (EndpointPoolConfiguration) obj;
return new EqualsBuilder().append(interTransactionDelayMillis, rhs.interTransactionDelayMillis)
.append(interConnectDelayMillis, rhs.interConnectDelayMillis)
.append(connectMaxTries, rhs.connectMaxTries).append(reconnectAfterMillis, rhs.reconnectAfterMillis)
.append(connectTimeoutMillis, rhs.connectTimeoutMillis).isEquals();
return connectMaxTries == rhs.connectMaxTries && connectTimeoutMillis == rhs.connectTimeoutMillis
&& interConnectDelayMillis == rhs.interConnectDelayMillis
&& interTransactionDelayMillis == rhs.interTransactionDelayMillis
&& reconnectAfterMillis == rhs.reconnectAfterMillis;
}
}
@@ -12,10 +12,8 @@
*/
package org.openhab.core.io.transport.modbus.endpoint;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.StandardToStringStyle;
import org.apache.commons.lang.builder.ToStringBuilder;
import java.util.Objects;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
@@ -31,12 +29,6 @@ public abstract class ModbusIPSlaveEndpoint implements ModbusSlaveEndpoint {
private String address;
private int port;
private static StandardToStringStyle toStringStyle = new StandardToStringStyle();
static {
toStringStyle.setUseShortClassName(true);
}
public ModbusIPSlaveEndpoint(String address, int port) {
this.address = address;
this.port = port;
@@ -53,16 +45,12 @@ public abstract class ModbusIPSlaveEndpoint implements ModbusSlaveEndpoint {
@Override
public int hashCode() {
// differentiate different protocols using the class name, and after that use address and port
int protocolHash = this.getClass().getName().hashCode();
if (protocolHash % 2 == 0) {
protocolHash += 1;
}
return new HashCodeBuilder(11, protocolHash).append(address).append(port).toHashCode();
return Objects.hash(getClass().getName(), address, port);
}
@Override
public String toString() {
return new ToStringBuilder(this, toStringStyle).append("address", address).append("port", port).toString();
return "ModbusIPSlaveEndpoint [address=" + address + ", port=" + port + "]";
}
@Override
@@ -78,6 +66,6 @@ public abstract class ModbusIPSlaveEndpoint implements ModbusSlaveEndpoint {
return false;
}
ModbusIPSlaveEndpoint rhs = (ModbusIPSlaveEndpoint) obj;
return new EqualsBuilder().append(address, rhs.address).append(port, rhs.port).isEquals();
return Objects.equals(address, rhs.address) && port == rhs.port;
}
}
@@ -12,9 +12,8 @@
*/
package org.openhab.core.io.transport.modbus.endpoint;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.StandardToStringStyle;
import org.apache.commons.lang.builder.ToStringBuilder;
import java.util.Objects;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
@@ -32,11 +31,6 @@ import net.wimpi.modbus.util.SerialParameters;
public class ModbusSerialSlaveEndpoint implements ModbusSlaveEndpoint {
private SerialParameters serialParameters;
private static StandardToStringStyle toStringStyle = new StandardToStringStyle();
static {
toStringStyle.setUseShortClassName(true);
}
public ModbusSerialSlaveEndpoint(String portName, int baudRate, int flowControlIn, int flowControlOut, int databits,
int stopbits, int parity, String encoding, boolean echo, int receiveTimeoutMillis) {
@@ -96,12 +90,11 @@ public class ModbusSerialSlaveEndpoint implements ModbusSlaveEndpoint {
return false;
}
ModbusSerialSlaveEndpoint rhs = (ModbusSerialSlaveEndpoint) obj;
return new EqualsBuilder().append(serialParameters.getPortName(), rhs.serialParameters.getPortName())
.isEquals();
return Objects.equals(getPortName(), rhs.getPortName());
}
@Override
public String toString() {
return new ToStringBuilder(this, toStringStyle).append("portName", serialParameters.getPortName()).toString();
return "ModbusSerialSlaveEndpoint [getPortName()=" + getPortName() + "]";
}
}
@@ -12,10 +12,8 @@
*/
package org.openhab.core.io.transport.modbus.internal;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.StandardToStringStyle;
import org.apache.commons.lang.builder.ToStringBuilder;
import java.util.Objects;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.openhab.core.io.transport.modbus.ModbusFailureCallback;
@@ -38,11 +36,6 @@ import org.openhab.core.io.transport.modbus.endpoint.ModbusSlaveEndpoint;
@NonNullByDefault
public class BasicPollTask implements PollTask {
static StandardToStringStyle toStringStyle = new StandardToStringStyle();
static {
toStringStyle.setUseShortClassName(true);
}
private ModbusSlaveEndpoint endpoint;
private ModbusReadRequestBlueprint request;
private ModbusReadCallback resultCallback;
@@ -78,15 +71,13 @@ public class BasicPollTask implements PollTask {
@Override
public int hashCode() {
return new HashCodeBuilder(69, 5).append(request).append(getEndpoint()).append(getResultCallback())
.append(getFailureCallback()).toHashCode();
return Objects.hash(request, getEndpoint(), getResultCallback(), getFailureCallback());
}
@Override
public String toString() {
return new ToStringBuilder(this, toStringStyle).append("request", request).append("endpoint", endpoint)
.append("resultCallback", getResultCallback()).append("failureCallback", getFailureCallback())
.toString();
return "BasicPollTask [getEndpoint=" + getEndpoint() + ", request=" + request + ", getResultCallback()="
+ getResultCallback() + ", getFailureCallback()=" + getFailureCallback() + "]";
}
@Override
@@ -101,8 +92,8 @@ public class BasicPollTask implements PollTask {
return false;
}
BasicPollTask rhs = (BasicPollTask) obj;
return new EqualsBuilder().append(request, rhs.request).append(endpoint, rhs.endpoint)
.append(getResultCallback(), rhs.getResultCallback())
.append(getFailureCallback(), rhs.getFailureCallback()).isEquals();
return Objects.equals(request, rhs.request) && Objects.equals(getEndpoint(), rhs.getEndpoint())
&& Objects.equals(getResultCallback(), rhs.getResultCallback())
&& Objects.equals(getFailureCallback(), rhs.getFailureCallback());
}
}
@@ -12,8 +12,6 @@
*/
package org.openhab.core.io.transport.modbus.internal;
import org.apache.commons.lang.builder.StandardToStringStyle;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.core.io.transport.modbus.ModbusFailureCallback;
import org.openhab.core.io.transport.modbus.ModbusWriteCallback;
@@ -30,11 +28,6 @@ import org.openhab.core.io.transport.modbus.endpoint.ModbusSlaveEndpoint;
@NonNullByDefault
public class BasicWriteTask implements WriteTask {
private static final StandardToStringStyle TO_STRING_STYLE = new StandardToStringStyle();
static {
TO_STRING_STYLE.setUseShortClassName(true);
}
private ModbusSlaveEndpoint endpoint;
private ModbusWriteRequestBlueprint request;
private ModbusWriteCallback resultCallback;
@@ -71,7 +64,7 @@ public class BasicWriteTask implements WriteTask {
@Override
public String toString() {
return new ToStringBuilder(this, TO_STRING_STYLE).append("request", request).append("endpoint", endpoint)
.append("resultCallback", resultCallback).append("failureCallback", failureCallback).toString();
return "BasicWriteTask [endpoint=" + endpoint + ", request=" + request + ", resultCallback=" + resultCallback
+ ", failureCallback=" + failureCallback + "]";
}
}
@@ -34,7 +34,6 @@ import org.apache.commons.pool2.impl.GenericKeyedObjectPool;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.jetty.util.ConcurrentHashSet;
import org.openhab.core.common.ThreadPoolManager;
import org.openhab.core.io.transport.modbus.AsyncModbusFailure;
import org.openhab.core.io.transport.modbus.AsyncModbusWriteResult;
@@ -317,7 +316,7 @@ public class ModbusManagerImpl implements ModbusManager {
*/
private volatile @Nullable ScheduledExecutorService scheduledThreadPoolExecutor;
private volatile @Nullable ScheduledFuture<?> monitorFuture;
private volatile Set<ModbusCommunicationInterfaceImpl> communicationInterfaces = new ConcurrentHashSet<>();
private volatile Set<ModbusCommunicationInterfaceImpl> communicationInterfaces = ConcurrentHashMap.newKeySet();
private void constructConnectionPool() {
ModbusSlaveConnectionFactoryImpl connectionFactory = new ModbusSlaveConnectionFactoryImpl();
@@ -725,7 +724,7 @@ public class ModbusManagerImpl implements ModbusManager {
private class ModbusCommunicationInterfaceImpl implements ModbusCommunicationInterface {
private volatile ModbusSlaveEndpoint endpoint;
private volatile Set<PollTask> pollTasksRegisteredByThisCommInterface = new ConcurrentHashSet<>();
private volatile Set<PollTask> pollTasksRegisteredByThisCommInterface = ConcurrentHashMap.newKeySet();
private volatile boolean closed;
private @Nullable EndpointPoolConfiguration configuration;
@@ -17,7 +17,6 @@ import java.util.Deque;
import java.util.LinkedList;
import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.commons.lang.NotImplementedException;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.openhab.core.io.transport.modbus.BitArray;
@@ -66,7 +65,7 @@ public final class WriteRequestJsonUtilities {
private static final JsonParser PARSER = new JsonParser();
private WriteRequestJsonUtilities() {
throw new NotImplementedException();
throw new UnsupportedOperationException();
}
/**
@@ -27,7 +27,6 @@ import java.net.UnknownHostException;
import java.util.HashMap;
import java.util.function.LongSupplier;
import org.apache.commons.lang.NotImplementedException;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -182,7 +181,7 @@ public class IntegrationTestSupport extends JavaTest {
} else if (ServerType.SERIAL.equals(serverType)) {
// No-op
} else {
throw new NotImplementedException();
throw new UnsupportedOperationException();
}
}, MAX_WAIT_REQUESTS_MILLIS, 10);
}
@@ -200,7 +199,7 @@ public class IntegrationTestSupport extends JavaTest {
} else if (ServerType.SERIAL.equals(serverType)) {
startSerialServer();
} else {
throw new NotImplementedException();
throw new UnsupportedOperationException();
}
}
@@ -218,7 +217,7 @@ public class IntegrationTestSupport extends JavaTest {
}
serialServerThread.interrupt();
} else {
throw new NotImplementedException();
throw new UnsupportedOperationException();
}
}
@@ -37,7 +37,6 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
import org.apache.commons.lang.StringUtils;
import org.eclipse.jdt.annotation.NonNull;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -92,7 +91,8 @@ public class SmokeTest extends IntegrationTestSupport {
* @return
*/
private boolean isRunningInCI() {
return "true".equals(System.getenv("CI")) || StringUtils.isNotBlank(System.getenv("JENKINS_HOME"));
String jenkinsHome = System.getenv("JENKINS_HOME");
return "true".equals(System.getenv("CI")) || (jenkinsHome != null && !jenkinsHome.isBlank());
}
private void generateData() {