[ 
https://issues.apache.org/jira/browse/TIKA-4327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18072229#comment-18072229
 ] 

ASF GitHub Bot commented on TIKA-4327:
--------------------------------------

Copilot commented on code in PR #2753:
URL: https://github.com/apache/tika/pull/2753#discussion_r3057060620


##########
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-image-module/src/test/java/org/apache/tika/parser/image/JpegParserTest.java:
##########
@@ -38,10 +41,24 @@
 import org.apache.tika.parser.ParseContext;
 import org.apache.tika.parser.Parser;
 
+@Isolated
 public class JpegParserTest extends TikaTest {
 
     static TimeZone CURR_TIME_ZONE = TimeZone.getDefault();
     private final Parser parser = new JpegParser();
+    static private TimeZone timezone;
+
+    @BeforeAll
+    static void init() {
+        // metadata-extractor 2.20.0 started making these parsed dates depend 
on the JVM default time zone;
+        // force GMT so the assertions remain deterministic across environments
+        timezone = TimeZone.getDefault();
+        TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
+    }
+    @AfterAll
+    static void tearDown() {
+        TimeZone.setDefault(timezone);

Review Comment:
   The field name `timezone` is ambiguous (it’s specifically the 
original/default timezone being saved for restoration). Renaming it to 
something like `originalTimeZone` (and using standard modifier order `private 
static`) would make the intent clearer and reduce the chance of incorrect 
future use.
   ```suggestion
       private static TimeZone originalTimeZone;
   
       @BeforeAll
       static void init() {
           // metadata-extractor 2.20.0 started making these parsed dates 
depend on the JVM default time zone;
           // force GMT so the assertions remain deterministic across 
environments
           originalTimeZone = TimeZone.getDefault();
           TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
       }
       @AfterAll
       static void tearDown() {
           TimeZone.setDefault(originalTimeZone);
   ```



##########
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-image-module/src/test/java/org/apache/tika/parser/image/JpegParserTest.java:
##########
@@ -38,10 +41,24 @@
 import org.apache.tika.parser.ParseContext;
 import org.apache.tika.parser.Parser;
 
+@Isolated
 public class JpegParserTest extends TikaTest {
 
     static TimeZone CURR_TIME_ZONE = TimeZone.getDefault();
     private final Parser parser = new JpegParser();
+    static private TimeZone timezone;
+
+    @BeforeAll
+    static void init() {
+        // metadata-extractor 2.20.0 started making these parsed dates depend 
on the JVM default time zone;
+        // force GMT so the assertions remain deterministic across environments
+        timezone = TimeZone.getDefault();
+        TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
+    }
+    @AfterAll
+    static void tearDown() {
+        TimeZone.setDefault(timezone);

Review Comment:
   This test now has two separate static fields holding the default timezone 
(`CURR_TIME_ZONE` and `timezone`). That duplication makes it easy for the 
restore logic to diverge over time. Consider consolidating to a single field 
(e.g., keep one 'original default TZ' variable) and, if it never changes after 
capture, declare it `private static final` where possible.
   ```suggestion
       private static final TimeZone ORIGINAL_DEFAULT_TIME_ZONE = 
TimeZone.getDefault();
       private final Parser parser = new JpegParser();
   
       @BeforeAll
       static void init() {
           // metadata-extractor 2.20.0 started making these parsed dates 
depend on the JVM default time zone;
           // force GMT so the assertions remain deterministic across 
environments
           TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
       }
   
       @AfterAll
       static void tearDown() {
           TimeZone.setDefault(ORIGINAL_DEFAULT_TIME_ZONE);
   ```



##########
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-image-module/src/test/java/org/apache/tika/parser/image/JpegParserTest.java:
##########
@@ -38,10 +41,24 @@
 import org.apache.tika.parser.ParseContext;
 import org.apache.tika.parser.Parser;
 
+@Isolated
 public class JpegParserTest extends TikaTest {
 
     static TimeZone CURR_TIME_ZONE = TimeZone.getDefault();
     private final Parser parser = new JpegParser();
+    static private TimeZone timezone;
+
+    @BeforeAll
+    static void init() {
+        // metadata-extractor 2.20.0 started making these parsed dates depend 
on the JVM default time zone;
+        // force GMT so the assertions remain deterministic across environments
+        timezone = TimeZone.getDefault();
+        TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
+    }
+    @AfterAll
+    static void tearDown() {
+        TimeZone.setDefault(timezone);

Review Comment:
   The field name `timezone` is ambiguous (it’s specifically the 
original/default timezone being saved for restoration). Renaming it to 
something like `originalTimeZone` (and using standard modifier order `private 
static`) would make the intent clearer and reduce the chance of incorrect 
future use.
   ```suggestion
       private static TimeZone originalTimeZone;
   
       @BeforeAll
       static void init() {
           // metadata-extractor 2.20.0 started making these parsed dates 
depend on the JVM default time zone;
           // force GMT so the assertions remain deterministic across 
environments
           originalTimeZone = TimeZone.getDefault();
           TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
       }
       @AfterAll
       static void tearDown() {
           TimeZone.setDefault(originalTimeZone);
   ```



##########
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-image-module/src/test/java/org/apache/tika/parser/image/JpegParserTest.java:
##########
@@ -38,10 +41,24 @@
 import org.apache.tika.parser.ParseContext;
 import org.apache.tika.parser.Parser;
 
+@Isolated
 public class JpegParserTest extends TikaTest {
 
     static TimeZone CURR_TIME_ZONE = TimeZone.getDefault();
     private final Parser parser = new JpegParser();
+    static private TimeZone timezone;
+
+    @BeforeAll
+    static void init() {
+        // metadata-extractor 2.20.0 started making these parsed dates depend 
on the JVM default time zone;
+        // force GMT so the assertions remain deterministic across environments
+        timezone = TimeZone.getDefault();
+        TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
+    }
+    @AfterAll
+    static void tearDown() {
+        TimeZone.setDefault(timezone);

Review Comment:
   The field name `timezone` is ambiguous (it’s specifically the 
original/default timezone being saved for restoration). Renaming it to 
something like `originalTimeZone` (and using standard modifier order `private 
static`) would make the intent clearer and reduce the chance of incorrect 
future use.
   ```suggestion
       private static TimeZone originalTimeZone;
   
       @BeforeAll
       static void init() {
           // metadata-extractor 2.20.0 started making these parsed dates 
depend on the JVM default time zone;
           // force GMT so the assertions remain deterministic across 
environments
           originalTimeZone = TimeZone.getDefault();
           TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
       }
       @AfterAll
       static void tearDown() {
           TimeZone.setDefault(originalTimeZone);
   ```





> General updates for 4.0.0
> -------------------------
>
>                 Key: TIKA-4327
>                 URL: https://issues.apache.org/jira/browse/TIKA-4327
>             Project: Tika
>          Issue Type: Task
>            Reporter: Tilman Hausherr
>            Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to