Skip to content

Commit 8902c75

Browse files
committed
support multiple time formats
1 parent feed6c7 commit 8902c75

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

diagnostic/server/services/src/main/java/org/terracotta/diagnostic/server/extensions/DiagnosticExtensionsMBeanImpl.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import javax.management.StandardMBean;
2929
import java.time.Instant;
3030
import java.time.format.DateTimeFormatter;
31+
import java.time.format.DateTimeParseException;
3132
import java.util.Set;
3233
import java.util.regex.Matcher;
3334
import java.util.regex.Pattern;
@@ -71,9 +72,18 @@ public KitInformation getKitInformation() {
7172

7273
Matcher matcher = Pattern.compile("^(?<date>.*) \\(Revision (?<revision>.*) from (?<branch>.*)\\)$").matcher(b);
7374
if (matcher.matches()) {
74-
// DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd 'at' HH:mm:ss z"); // from core
75-
DateTimeFormatter isoInstant = DateTimeFormatter.ISO_INSTANT;
76-
Instant timestamp = isoInstant.parse(matcher.group("date"), Instant::from);
75+
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd 'at' HH:mm:ss z");
76+
String date = matcher.group("date");
77+
Instant timestamp;
78+
try {
79+
timestamp = dtf.parse(date, Instant::from);
80+
} catch (DateTimeParseException parsing) {
81+
try {
82+
timestamp = DateTimeFormatter.ISO_INSTANT.parse(matcher.group("date"), Instant::from);
83+
} catch (DateTimeParseException parsing2) {
84+
timestamp = Instant.ofEpochMilli(0L);
85+
}
86+
}
7787
return new KitInformation(Version.valueOf(version), matcher.group("revision"), matcher.group("branch"), timestamp);
7888
} else {
7989
return new KitInformation(Version.valueOf(version), "UNKNOWN", "UNKNOWN", Instant.ofEpochMilli(0L));

0 commit comments

Comments
 (0)