send notifications

This commit is contained in:
Michele Artini 2020-09-11 12:06:16 +02:00
parent 028613b751
commit 9b0c12f5d3
1 changed files with 16 additions and 1 deletions

View File

@ -1,6 +1,7 @@
package eu.dnetlib.dhp.broker.oa; package eu.dnetlib.dhp.broker.oa;
import java.io.IOException;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -102,6 +103,11 @@ public class IndexNotificationsJob {
log.info("*** Deleting old notifications"); log.info("*** Deleting old notifications");
final String message = deleteOldNotifications(brokerApiBaseUrl, startTime - 1000); final String message = deleteOldNotifications(brokerApiBaseUrl, startTime - 1000);
log.info("*** Deleted notifications: " + message); log.info("*** Deleted notifications: " + message);
log.info("*** sendNotifications (emails, ...)");
sendNotifications(brokerApiBaseUrl, startTime - 1000);
log.info("*** ALL done.");
} }
} }
@ -194,7 +200,6 @@ public class IndexNotificationsJob {
.readValue(s, mapper.getTypeFactory().constructCollectionType(List.class, Subscription.class)); .readValue(s, mapper.getTypeFactory().constructCollectionType(List.class, Subscription.class));
} }
} }
} }
private static String deleteOldNotifications(final String brokerApiBaseUrl, final long l) throws Exception { private static String deleteOldNotifications(final String brokerApiBaseUrl, final long l) throws Exception {
@ -206,7 +211,17 @@ public class IndexNotificationsJob {
return IOUtils.toString(response.getEntity().getContent()); return IOUtils.toString(response.getEntity().getContent());
} }
} }
}
private static String sendNotifications(final String brokerApiBaseUrl, final long l) throws IOException {
final String url = brokerApiBaseUrl + "/api/openaireBroker/notifications/send/" + l;
final HttpGet req = new HttpGet(url);
try (final CloseableHttpClient client = HttpClients.createDefault()) {
try (final CloseableHttpResponse response = client.execute(req)) {
return IOUtils.toString(response.getEntity().getContent());
}
}
} }
private static String prepareForIndexing(final Notification n, final LongAccumulator acc) private static String prepareForIndexing(final Notification n, final LongAccumulator acc)