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.StandardOpenOption;
import java.nio.file.attribute.PosixFilePermission; import java.nio.file.attribute.PosixFilePermission;
import java.security.GeneralSecurityException; import java.security.GeneralSecurityException;
import java.text.SimpleDateFormat; import java.time.LocalDateTime;
import java.util.Date; import java.time.format.DateTimeFormatter;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
@@ -31,7 +31,7 @@ public class BridgeSettings extends BackupHandler {
private BridgeSettingsDescriptor theBridgeSettings; private BridgeSettingsDescriptor theBridgeSettings;
private BridgeControlDescriptor bridgeControl; private BridgeControlDescriptor bridgeControl;
private BridgeSecurity bridgeSecurity; private BridgeSecurity bridgeSecurity;
private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd'T'HHmmss"); private static final DateTimeFormatter dateTimeFormat = DateTimeFormatter.ofPattern("yyyyMMdd'T'HHmmss");
public BridgeSettings() { public BridgeSettings() {
super(); super();
@@ -58,9 +58,9 @@ public class BridgeSettings extends BackupHandler {
public BridgeSecurity getBridgeSecurity() { public BridgeSecurity getBridgeSecurity() {
return bridgeSecurity; return bridgeSecurity;
} }
public static String getCurrentDate() { public String getCurrentDate() {
return dateFormat.format(new Date()); return LocalDateTime.now().format(dateTimeFormat);
} }
public void buildSettings() { public void buildSettings() {
String addressString = null; String addressString = null;