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"; } }