in src/main/java/com/googlesource/gerrit/plugins/messageoftheday/GetMessage.java [65:110]
public Response<MessageOfTheDayInfo> apply(ConfigResource rsrc) {
MessageOfTheDayInfo motd = new MessageOfTheDayInfo();
cfg = new FileBasedConfig(cfgFile, FS.DETECTED);
try {
cfg.load();
} catch (ConfigInvalidException | IOException e) {
return null;
}
motd.id = cfg.getString(SECTION_MESSAGE, null, KEY_ID);
if (Strings.isNullOrEmpty(motd.id)) {
log.warn("id not defined, no message will be shown");
return Response.none();
}
try {
motd.expiresAt = DATE_FORMAT.parse(cfg.getString(SECTION_MESSAGE, null, KEY_EXPIRES_AT));
} catch (ParseException | NullPointerException e) {
log.warn("expiresAt not defined, no message will be shown");
return Response.none();
}
try {
motd.html = new String(Files.readAllBytes(dataDirPath.resolve(motd.id + ".html")), UTF_8);
} catch (IOException e1) {
log.warn(
String.format(
"No HTML-file was found for message %s, no message will be shown", motd.id));
return Response.none();
}
try {
String startsAt = cfg.getString(SECTION_MESSAGE, null, KEY_STARTS_AT);
motd.startsAt = Strings.isNullOrEmpty(startsAt) ? new Date() : DATE_FORMAT.parse(startsAt);
} catch (ParseException e) {
motd.startsAt = new Date();
}
if (motd.startsAt.compareTo(new Date()) > 0 || motd.expiresAt.compareTo(new Date()) < 0) {
return Response.none();
}
motd.redisplay = getRedisplay();
return Response.ok(motd);
}