From 12823704f3b86a68d54c6726afc55f6b0a018dcd Mon Sep 17 00:00:00 2001 From: gaudryc Date: Sun, 6 Jan 2019 16:21:07 +0100 Subject: [PATCH] Bug: Call to method of static java.text.DateFormat in com.bwssystems.HABridge.BridgeSettings.getCurrentDate(). As the JavaDoc states, DateFormats are inherently unsafe for multithreaded use. The detector has found a call to an instance of DateFormat that has been obtained via a static field. This looks suspicious. --- .../com/bwssystems/HABridge/BridgeSettings.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/bwssystems/HABridge/BridgeSettings.java b/src/main/java/com/bwssystems/HABridge/BridgeSettings.java index eef0d7e..5544b7f 100644 --- a/src/main/java/com/bwssystems/HABridge/BridgeSettings.java +++ b/src/main/java/com/bwssystems/HABridge/BridgeSettings.java @@ -12,8 +12,8 @@ import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.nio.file.attribute.PosixFilePermission; import java.security.GeneralSecurityException; -import java.text.SimpleDateFormat; -import java.util.Date; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.Enumeration; import java.util.HashSet; import java.util.Set; @@ -31,7 +31,7 @@ public class BridgeSettings extends BackupHandler { private BridgeSettingsDescriptor theBridgeSettings; private BridgeControlDescriptor bridgeControl; private BridgeSecurity bridgeSecurity; - private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd'T'HHmmss"); + private static final DateTimeFormatter dateTimeFormat = DateTimeFormatter.ofPattern("yyyyMMdd'T'HHmmss"); public BridgeSettings() { super(); @@ -58,10 +58,10 @@ public class BridgeSettings extends BackupHandler { public BridgeSecurity getBridgeSecurity() { return bridgeSecurity; } - public static String getCurrentDate() { - return dateFormat.format(new Date()); - } - + public String getCurrentDate() { + return LocalDateTime.now().format(dateTimeFormat); + } + public void buildSettings() { String addressString = null; String theVeraAddress = null;