47 lines
1.1 KiB
Java
47 lines
1.1 KiB
Java
package eu.dnetlib.apps.oai2ftp.service;
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.util.function.BiConsumer;
|
|
import java.util.function.Consumer;
|
|
|
|
import eu.dnetlib.apps.oai2ftp.model.CollectionStatus;
|
|
import eu.dnetlib.apps.oai2ftp.model.ExecutionStatus;
|
|
|
|
public class CollectionJob {
|
|
|
|
private final CollectionStatus status;
|
|
private final BiConsumer<String, String> saveRecord;
|
|
private final Consumer<CollectionStatus> onEnd;
|
|
|
|
public CollectionJob(final String id, final String baseUrl, final String format, final String setSpec, final BiConsumer<String, String> saveRecord,
|
|
final Consumer<CollectionStatus> onEnd) {
|
|
|
|
this.status = new CollectionStatus();
|
|
status.setId(id);
|
|
|
|
status.setBaseUrl(baseUrl);
|
|
status.setFormat(format);
|
|
status.setSetSpec(setSpec);
|
|
|
|
status.setStart(LocalDateTime.now());
|
|
status.setEnd(null);
|
|
|
|
status.setExecutionStatus(ExecutionStatus.READY);
|
|
status.setTotal(0);
|
|
|
|
status.setMessage("");
|
|
|
|
this.saveRecord = saveRecord;
|
|
this.onEnd = onEnd;
|
|
}
|
|
|
|
public void oaiCollect() {
|
|
// TODO
|
|
}
|
|
|
|
public CollectionStatus getStatus() {
|
|
return status;
|
|
}
|
|
|
|
}
|