This is an automated email from the ASF dual-hosted git repository.

grobmeier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-chainsaw.git

commit 0c992b6652cb13f67bcff258bedcbe54e341776c
Author: Christian Grobmeier <[email protected]>
AuthorDate: Wed Dec 20 21:42:54 2023 +0100

    prevent unsynced access to date objects
---
 .../java/org/apache/log4j/chainsaw/components/logpanel/LogPanel.java  | 4 +++-
 src/main/java/org/apache/log4j/rule/TimestampEqualsRule.java          | 4 +++-
 src/main/java/org/apache/log4j/rule/TimestampInequalityRule.java      | 4 +++-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git 
a/src/main/java/org/apache/log4j/chainsaw/components/logpanel/LogPanel.java 
b/src/main/java/org/apache/log4j/chainsaw/components/logpanel/LogPanel.java
index 1cc8865..f8a646e 100644
--- a/src/main/java/org/apache/log4j/chainsaw/components/logpanel/LogPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/components/logpanel/LogPanel.java
@@ -1753,7 +1753,9 @@ public class LogPanel extends DockablePanel implements 
ChainsawEventBatchListene
         Object o = currentTable.getValueAt(row, column);
 
         if (o instanceof Date) {
-            return TIMESTAMP_DATE_FORMAT.format((Date) o);
+            synchronized (this) {
+                return TIMESTAMP_DATE_FORMAT.format((Date) o);
+            }
         }
 
         if (o instanceof String) {
diff --git a/src/main/java/org/apache/log4j/rule/TimestampEqualsRule.java 
b/src/main/java/org/apache/log4j/rule/TimestampEqualsRule.java
index 4ffe961..dd761e9 100644
--- a/src/main/java/org/apache/log4j/rule/TimestampEqualsRule.java
+++ b/src/main/java/org/apache/log4j/rule/TimestampEqualsRule.java
@@ -62,7 +62,9 @@ public class TimestampEqualsRule extends AbstractRule {
     super();
     //expects value to be a timestamp value represented as a long
     try {
-        timeStamp = DATE_FORMAT.parse(value).getTime();
+        synchronized(this) {
+            timeStamp = DATE_FORMAT.parse(value).getTime();
+        }
     } catch (ParseException pe) {
         throw new IllegalArgumentException("Could not parse date: " + value);
     }
diff --git a/src/main/java/org/apache/log4j/rule/TimestampInequalityRule.java 
b/src/main/java/org/apache/log4j/rule/TimestampInequalityRule.java
index 487374d..412fb7d 100644
--- a/src/main/java/org/apache/log4j/rule/TimestampInequalityRule.java
+++ b/src/main/java/org/apache/log4j/rule/TimestampInequalityRule.java
@@ -67,7 +67,9 @@ public class TimestampInequalityRule extends AbstractRule {
     super();
     this.inequalitySymbol = inequalitySymbol;
     try {
-        timeStamp = DATE_FORMAT.parse(value).getTime();
+        synchronized (this) {
+            timeStamp = DATE_FORMAT.parse(value).getTime();
+        }
     } catch (ParseException pe) {
         throw new IllegalArgumentException("Could not parse date: " + value);
     }

Reply via email to