Browse Source

Merge pull request #15509 from zzzeebra/chore/commons-lang3-deprecations-lts-4.2

Replaced deprecated string, number, and random-value helpers with modern equivalents
pull/15910/head
Viacheslav Klimov 2 weeks ago
committed by GitHub
parent
commit
e583a25927
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 2
      application/src/main/java/org/thingsboard/server/service/install/DefaultSystemDataLoaderService.java
  2. 2
      application/src/main/java/org/thingsboard/server/service/security/auth/mfa/provider/impl/TotpTwoFaProvider.java
  3. 4
      application/src/main/java/org/thingsboard/server/service/ws/WebSocketSessionType.java
  4. 2
      application/src/test/java/org/thingsboard/server/controller/AbstractWebTest.java
  5. 2
      application/src/test/java/org/thingsboard/server/service/notification/AbstractNotificationApiTest.java
  6. 2
      application/src/test/java/org/thingsboard/server/service/notification/NotificationApiWsClient.java
  7. 4
      common/data/src/main/java/org/thingsboard/server/common/data/EntityType.java
  8. 13
      common/data/src/main/java/org/thingsboard/server/common/data/StringUtils.java
  9. 2
      common/data/src/main/java/org/thingsboard/server/common/data/util/TemplateUtils.java
  10. 2
      common/data/src/main/java/org/thingsboard/server/common/data/util/TypeCastUtil.java
  11. 5
      common/version-control/src/main/java/org/thingsboard/server/service/sync/vc/GitRepository.java
  12. 2
      dao/src/main/java/org/thingsboard/server/dao/resource/BaseImageService.java
  13. 8
      dao/src/main/java/org/thingsboard/server/dao/resource/BaseResourceService.java
  14. 2
      monitoring/src/main/java/org/thingsboard/monitoring/client/WsClient.java
  15. 2
      monitoring/src/main/java/org/thingsboard/monitoring/service/MonitoringEntityService.java
  16. 2
      tools/src/main/java/org/thingsboard/client/tools/migrator/PgCaMigrator.java

2
application/src/main/java/org/thingsboard/server/service/install/DefaultSystemDataLoaderService.java

@ -330,7 +330,7 @@ public class DefaultSystemDataLoaderService implements SystemDataLoaderService {
private String generateRandomKey() {
return Base64.getEncoder().encodeToString(
RandomStringUtils.randomAlphanumeric(64).getBytes(StandardCharsets.UTF_8));
RandomStringUtils.secure().nextAlphanumeric(64).getBytes(StandardCharsets.UTF_8));
}
@Override

2
application/src/main/java/org/thingsboard/server/service/security/auth/mfa/provider/impl/TotpTwoFaProvider.java

@ -62,7 +62,7 @@ public class TotpTwoFaProvider implements TwoFaProvider<TotpTwoFaProviderConfig,
}
private String generateSecretKey() {
return Base32.encode(RandomUtils.nextBytes(20));
return Base32.encode(RandomUtils.secure().randomBytes(20));
}

4
application/src/main/java/org/thingsboard/server/service/ws/WebSocketSessionType.java

@ -17,9 +17,9 @@ package org.thingsboard.server.service.ws;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import java.util.Arrays;
import java.util.Objects;
import java.util.Optional;
@NoArgsConstructor
@ -33,7 +33,7 @@ public enum WebSocketSessionType {
public static Optional<WebSocketSessionType> forName(String name) {
return Arrays.stream(values())
.filter(sessionType -> StringUtils.equals(sessionType.name, name))
.filter(sessionType -> Objects.equals(sessionType.name, name))
.findFirst();
}

2
application/src/test/java/org/thingsboard/server/controller/AbstractWebTest.java

@ -1244,7 +1244,7 @@ public abstract class AbstractWebTest extends AbstractInMemoryStorageTest {
protected NotificationTarget createNotificationTarget(UsersFilter usersFilter) {
NotificationTarget notificationTarget = new NotificationTarget();
notificationTarget.setName(usersFilter.toString() + RandomStringUtils.randomNumeric(5));
notificationTarget.setName(usersFilter.toString() + RandomStringUtils.secure().nextNumeric(5));
PlatformUsersNotificationTargetConfig targetConfig = new PlatformUsersNotificationTargetConfig();
targetConfig.setUsersFilter(usersFilter);
notificationTarget.setConfiguration(targetConfig);

2
application/src/test/java/org/thingsboard/server/service/notification/AbstractNotificationApiTest.java

@ -155,7 +155,7 @@ public abstract class AbstractNotificationApiTest extends AbstractControllerTest
User user = new User();
user.setTenantId(tenantId);
user.setAuthority(authority);
user.setEmail(RandomStringUtils.randomAlphabetic(20) + "@thingsboard.com");
user.setEmail(RandomStringUtils.secure().nextAlphabetic(20) + "@thingsboard.com");
user = createUserAndLogin(user, "12345678");
NotificationApiWsClient wsClient = buildAndConnectWebSocketClient();
return Pair.of(user, wsClient);

2
application/src/test/java/org/thingsboard/server/service/notification/NotificationApiWsClient.java

@ -131,7 +131,7 @@ public class NotificationApiWsClient extends TbTestWebSocketClient {
}
private int newCmdId() {
return RandomUtils.nextInt(1, 1000);
return RandomUtils.secure().randomInt(1, 1000);
}
}

4
common/data/src/main/java/org/thingsboard/server/common/data/EntityType.java

@ -22,6 +22,8 @@ import java.util.Arrays;
import java.util.EnumSet;
import java.util.List;
import static org.thingsboard.server.common.data.StringUtils.removeStart;
public enum EntityType {
TENANT(1),
CUSTOMER(2),
@ -76,7 +78,7 @@ public enum EntityType {
@Getter
private final String tableName;
@Getter
private final String normalName = StringUtils.capitalize(StringUtils.removeStart(name(), "TB_")
private final String normalName = StringUtils.capitalize(removeStart(name(), "TB_")
.toLowerCase().replaceAll("_", " "));
public static final List<String> NORMAL_NAMES = EnumSet.allOf(EntityType.class).stream()

13
common/data/src/main/java/org/thingsboard/server/common/data/StringUtils.java

@ -23,6 +23,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Base64;
import java.util.List;
import java.util.Objects;
import java.util.function.Function;
import java.util.regex.Pattern;
@ -162,7 +163,7 @@ public class StringUtils {
}
public static boolean equals(String str1, String str2) {
return org.apache.commons.lang3.StringUtils.equals(str1, str2);
return Objects.equals(str1, str2);
}
public static boolean equalsAny(String string, String... otherStrings) {
@ -217,23 +218,23 @@ public class StringUtils {
}
public static String randomNumeric(int length) {
return RandomStringUtils.randomNumeric(length);
return RandomStringUtils.secure().nextNumeric(length);
}
public static String random(int length) {
return RandomStringUtils.random(length);
return RandomStringUtils.secure().next(length);
}
public static String random(int length, String chars) {
return RandomStringUtils.random(length, chars);
return RandomStringUtils.secure().next(length, chars);
}
public static String randomAlphanumeric(int count) {
return RandomStringUtils.randomAlphanumeric(count);
return RandomStringUtils.secure().nextAlphanumeric(count);
}
public static String randomAlphabetic(int count) {
return RandomStringUtils.randomAlphabetic(count);
return RandomStringUtils.secure().nextAlphabetic(count);
}
public static String generateSafeToken(int length) {

2
common/data/src/main/java/org/thingsboard/server/common/data/util/TemplateUtils.java

@ -23,7 +23,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static com.google.common.base.Strings.nullToEmpty;
import static org.apache.commons.lang3.StringUtils.removeStart;
import static org.thingsboard.server.common.data.StringUtils.removeStart;
public class TemplateUtils {

2
common/data/src/main/java/org/thingsboard/server/common/data/util/TypeCastUtil.java

@ -63,7 +63,7 @@ public class TypeCastUtil {
}
private static boolean isNumber(String value) {
return NumberUtils.isNumber(value.replace(',', '.'));
return NumberUtils.isCreatable(value.replace(',', '.'));
}
private static boolean isSimpleDouble(String valueAsString) {

5
common/version-control/src/main/java/org/thingsboard/server/service/sync/vc/GitRepository.java

@ -99,6 +99,7 @@ import static org.eclipse.jgit.transport.RemoteRefUpdate.Status.REJECTED_NODELET
import static org.eclipse.jgit.transport.RemoteRefUpdate.Status.REJECTED_NONFASTFORWARD;
import static org.eclipse.jgit.transport.RemoteRefUpdate.Status.REJECTED_OTHER_REASON;
import static org.eclipse.jgit.transport.RemoteRefUpdate.Status.REJECTED_REMOTE_CHANGED;
import static org.thingsboard.server.common.data.StringUtils.removeStart;
@Slf4j
public class GitRepository {
@ -448,7 +449,7 @@ public class GitRepository {
private BranchInfo toBranchInfo(Ref ref) {
String name = org.eclipse.jgit.lib.Repository.shortenRefName(ref.getName());
String branchName = StringUtils.removeStart(name, "origin/");
String branchName = removeStart(name, "origin/");
boolean isDefault = this.headId != null && this.headId.equals(ref.getObjectId());
return new BranchInfo(branchName, isDefault);
}
@ -465,7 +466,7 @@ public class GitRepository {
private ObjectId resolve(String rev) throws IOException {
if (settings.isLocalOnly()) {
rev = StringUtils.removeStart(rev, "origin/");
rev = removeStart(rev, "origin/");
}
ObjectId result = git.getRepository().resolve(rev);
if (result == null) {

2
dao/src/main/java/org/thingsboard/server/dao/resource/BaseImageService.java

@ -173,7 +173,7 @@ public class BaseImageService extends BaseResourceService implements ImageServic
}
private String generatePublicResourceKey() {
return RandomStringUtils.randomAlphanumeric(32);
return RandomStringUtils.secure().nextAlphanumeric(32);
}
@Override

8
dao/src/main/java/org/thingsboard/server/dao/resource/BaseResourceService.java

@ -74,6 +74,7 @@ import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.UUID;
@ -82,6 +83,7 @@ import java.util.function.UnaryOperator;
import static com.google.common.util.concurrent.MoreExecutors.directExecutor;
import static org.thingsboard.server.common.data.StringUtils.isNotEmpty;
import static org.thingsboard.server.common.data.StringUtils.removeStart;
import static org.thingsboard.server.dao.device.DeviceServiceImpl.INCORRECT_TENANT_ID;
import static org.thingsboard.server.dao.service.Validator.validateId;
@ -588,7 +590,7 @@ public class BaseResourceService extends AbstractCachedEntityService<ResourceInf
String resourceKey;
TenantId resourceTenantId;
try {
String[] parts = StringUtils.removeStart(link, "/api/resource/").split("/");
String[] parts = removeStart(link, "/api/resource/").split("/");
resourceType = ResourceType.valueOf(parts[0].toUpperCase());
String scope = parts[1];
resourceKey = parts[2];
@ -611,7 +613,7 @@ public class BaseResourceService extends AbstractCachedEntityService<ResourceInf
private String getResourceLink(String value) {
if (StringUtils.startsWith(value, DataConstants.TB_RESOURCE_PREFIX + "/api/resource/")) {
return StringUtils.removeStart(value, DataConstants.TB_RESOURCE_PREFIX);
return removeStart(value, DataConstants.TB_RESOURCE_PREFIX);
} else {
return null;
}
@ -658,7 +660,7 @@ public class BaseResourceService extends AbstractCachedEntityService<ResourceInf
}
String newValue = processor.apply(value);
if (StringUtils.equals(value, newValue)) {
if (Objects.equals(value, newValue)) {
return value;
} else {
updated.set(true);

2
monitoring/src/main/java/org/thingsboard/monitoring/client/WsClient.java

@ -124,7 +124,7 @@ public class WsClient extends WebSocketClient implements AutoCloseable {
public WsClient subscribeForTelemetry(List<UUID> devices, List<String> keys) {
EntityDataCmd cmd = new EntityDataCmd();
cmd.setCmdId(RandomUtils.nextInt(0, 1000));
cmd.setCmdId(RandomUtils.secure().randomInt(0, 1000));
EntityListFilter devicesFilter = new EntityListFilter();
devicesFilter.setEntityType(EntityType.DEVICE);

2
monitoring/src/main/java/org/thingsboard/monitoring/service/MonitoringEntityService.java

@ -162,7 +162,7 @@ public class MonitoringEntityService {
device.setName(deviceName);
DeviceCredentials credentials = new DeviceCredentials();
credentials.setCredentialsId(RandomStringUtils.randomAlphabetic(20));
credentials.setCredentialsId(RandomStringUtils.secure().nextAlphabetic(20));
DeviceData deviceData = new DeviceData();
deviceData.setConfiguration(new DefaultDeviceConfiguration());

2
tools/src/main/java/org/thingsboard/client/tools/migrator/PgCaMigrator.java

@ -249,7 +249,7 @@ public class PgCaMigrator {
private List<Object> castToNumericIfPossible(List<Object> values) {
try {
if (values.get(6) != null && NumberUtils.isNumber(values.get(6).toString())) {
if (values.get(6) != null && NumberUtils.isCreatable(values.get(6).toString())) {
Double casted = NumberUtils.createDouble(values.get(6).toString());
List<Object> numeric = Lists.newArrayList();
numeric.addAll(values);

Loading…
Cancel
Save