package eu.dnetlib.dli.resolver;

import eu.dnetlib.dli.DLIUtils;
import eu.dnetlib.dli.resolver.model.CompletionStatus;
import eu.dnetlib.dli.resolver.model.DLIObjectProvenance;
import eu.dnetlib.dli.resolver.model.ObjectProvisionMode;
import eu.dnetlib.pid.resolver.AbstractPIDResolver;
import eu.dnetlib.pid.resolver.model.ObjectProvenance;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public abstract class DLIPIDResolver extends AbstractPIDResolver {
    private static final Log log = LogFactory.getLog(DLIPIDResolver.class);


    public static void setDatasourceProvenance(final ObjectProvenance prov, final String namespacePrefix) {
        try {
            final DLIObjectProvenance provenance = (DLIObjectProvenance) prov;
            provenance.setDatasourceId(DLIUtils.getIdFromDataSourcePrefix(namespacePrefix));
            provenance.setDatasource(DLIUtils.getNameFromDataSourcePrefix(namespacePrefix));
            provenance.setCompletionStatus(CompletionStatus.complete.toString());
            provenance.setProvisionMode(ObjectProvisionMode.resolved.toString());
        } catch (Throwable e) {
            log.error("Error assigning datasource with nsPrefix: " + namespacePrefix);
        }
    }


}
