simpleOaiCollectorService/src/main/java/eu/dnetlib/apps/Oai2ftp/utils/ConvertUtils.java

44 lines
1.5 KiB
Java

package eu.dnetlib.apps.oai2ftp.utils;
import org.apache.commons.codec.digest.DigestUtils;
import eu.dnetlib.apps.oai2ftp.model.CollectionLogEntry;
import eu.dnetlib.apps.oai2ftp.model.CollectionStatus;
import eu.dnetlib.apps.oai2ftp.model.ExecutionStatus;
public class ConvertUtils {
public static CollectionStatus logToStatus(final CollectionLogEntry log) {
final CollectionStatus status = new CollectionStatus();
status.setId(log.getId());
status.setBaseUrl(log.getBaseUrl());
status.setFormat(log.getFormat());
status.setSetSpec(log.getSetSpec());
status.setStart(log.getStart());
status.setEnd(log.getEnd());
status.setExecutionStatus(log.isSuccess() ? ExecutionStatus.COMPLETED : ExecutionStatus.FAILED);
status.setTotal(log.getTotal());
status.setMessage(log.getMessage());
return status;
}
public static CollectionLogEntry statusToLog(final CollectionStatus status) {
final CollectionLogEntry log = new CollectionLogEntry();
log.setId(status.getId());
log.setBaseUrl(status.getBaseUrl());
log.setFormat(status.getFormat());
log.setSetSpec(status.getSetSpec());
log.setStart(status.getStart());
log.setEnd(status.getEnd());
log.setSuccess(status.getExecutionStatus() == ExecutionStatus.COMPLETED);
log.setTotal(status.getTotal());
log.setNumberOfCalls(status.getCalls().size());
log.setMessage(status.getMessage());
return log;
}
public static String oaiIdToFilename(final String id) {
return DigestUtils.md5Hex(id) + ".xml";
}
}