1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.codelibs.fess.es.log.exbhv;
17
18 import java.time.Instant;
19 import java.time.LocalDateTime;
20 import java.time.ZoneId;
21 import java.time.format.DateTimeFormatter;
22 import java.time.format.DateTimeParseException;
23
24 import org.codelibs.fess.es.log.bsbhv.BsFavoriteLogBhv;
25 import org.codelibs.fess.util.ComponentUtil;
26 import org.dbflute.util.DfTypeUtil;
27 import org.slf4j.Logger;
28 import org.slf4j.LoggerFactory;
29
30
31
32
33 public class FavoriteLogBhv extends BsFavoriteLogBhv {
34 private static final Logger logger = LoggerFactory.getLogger(FavoriteLogBhv.class);
35
36 @Override
37 protected String asEsIndex() {
38 return ComponentUtil.getFessConfig().getIndexLogIndex();
39 }
40
41 @Override
42 protected LocalDateTime toLocalDateTime(final Object value) {
43 if (value != null) {
44 try {
45 final Instant instant = Instant.from(DateTimeFormatter.ISO_INSTANT.parse(value.toString()));
46 final LocalDateTime date = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
47 return date;
48 } catch (final DateTimeParseException e) {
49 logger.debug("Invalid date format: " + value, e);
50 }
51 }
52 return DfTypeUtil.toLocalDateTime(value);
53 }
54
55 }