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.
This commit is contained in:
gaudryc
2019-01-06 16:21:07 +01:00
parent 7490cf72a3
commit 12823704f3

View File

@@ -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;