2021-02-05 19:18:05 +01:00
|
|
|
|
2021-02-12 12:31:02 +01:00
|
|
|
package eu.dnetlib.dhp.collection;
|
2021-02-05 19:18:05 +01:00
|
|
|
|
|
|
|
import java.io.Closeable;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.util.LinkedHashMap;
|
|
|
|
import java.util.Objects;
|
|
|
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
2021-02-15 15:08:59 +01:00
|
|
|
import eu.dnetlib.dhp.message.MessageSender;
|
2021-02-05 19:18:05 +01:00
|
|
|
|
|
|
|
public class CollectorPluginReport extends LinkedHashMap<String, String> implements Closeable {
|
|
|
|
|
|
|
|
private static final Logger log = LoggerFactory.getLogger(CollectorPluginReport.class);
|
|
|
|
|
2021-02-15 15:08:59 +01:00
|
|
|
private MessageSender messageSender;
|
2021-02-05 19:18:05 +01:00
|
|
|
|
|
|
|
public CollectorPluginReport() {
|
|
|
|
}
|
|
|
|
|
2021-02-15 15:08:59 +01:00
|
|
|
public CollectorPluginReport(MessageSender messageSender) throws IOException {
|
|
|
|
this.messageSender = messageSender;
|
2021-02-05 19:18:05 +01:00
|
|
|
}
|
|
|
|
|
2021-02-15 15:08:59 +01:00
|
|
|
public void ongoing(Long current, Long total) {
|
|
|
|
messageSender.sendMessage(current, total);
|
2021-02-05 19:18:05 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void close() throws IOException {
|
2021-02-15 15:08:59 +01:00
|
|
|
if (Objects.nonNull(messageSender)) {
|
|
|
|
log.info("closing report: ");
|
|
|
|
this.forEach((k, v) -> log.info("{} - {}", k, v));
|
|
|
|
messageSender.sendReport(this);
|
2021-02-05 19:18:05 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|