package eu.dnetlib.data.datasource;

import eu.dnetlib.enabling.datasources.common.*;
import eu.dnetlib.enabling.locators.UniqueServiceLocator;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class LocalSimpleDatasourceManagerImpl implements LocalSimpleDatasourceManager {

    @Autowired
    private UniqueServiceLocator serviceLocator;


    @Override
    public Set<String> listManagedDatasourceIds() throws DsmRuntimeException {
        throw new DsmRuntimeException("method 'listManagedDatasourceIds' not implemented");
    }

    @Override
    public List<SimpleDatasource> searchDatasourcesByType(String type) throws DsmException {

        return null;
    }

    @Override
    public List<? extends SearchApisEntry> searchApis(String field, Object value) throws DsmException {
        return null;
    }

    @Override
    public List<? extends BrowsableField> listBrowsableFields() throws DsmException {
        return null;
    }

    @Override
    public List<? extends BrowseTerm> browseField(String field) throws DsmException {
        return null;
    }

    @Override
    public void setActive(String dsId, String apiId, boolean active) throws DsmException {

    }

    @Override
    public boolean isActive(String dsId, String apiId) throws DsmException {
        return false;
    }

    @Override
    public void setLastCollectionInfo(String dsId, String apiId, String mdId, Integer size, Date date) throws DsmException {

    }

    @Override
    public void setLastAggregationInfo(String dsId, String apiId, String mdId, Integer size, Date date) throws DsmException {

    }

    @Override
    public void setLastDownloadInfo(String dsId, String apiId, String objId, Integer size, Date date) throws DsmException {

    }

    @Override
    public void setLastValidationJob(String dsId, String apiId, String jobId) throws DsmException {

    }

    @Override
    public void updateApiDetails(String dsId, String apiId, String metadataIdentifierPath, String baseUrl, Map<String, String> params) throws DsmException {

    }

    @Override
    public boolean isRemovable(String dsId, String apiId) throws DsmException {
        return false;
    }

    @Override
    public void regenerateProfiles() throws DsmException {

    }

    @Override
    public Datasource<Organization<?>, Identity> getDs(String id) throws DsmException {
        return null;
    }

    @Override
    public List<? extends Api<ApiParam>> getApis(String dsId) throws DsmException {
        return null;
    }

    @Override
    public void deleteDs(String dsId) throws DsmException {

    }

    @Override
    public void deleteApi(String dsId, String apiId) throws DsmException {

    }

    @Override
    public void addApi(Api<ApiParam> api) throws DsmException {

    }

    @Override
    public void setManaged(String id, boolean managed) throws DsmException {

    }

    @Override
    public boolean isManaged(String id) throws DsmException {
        return false;
    }

    @Override
    public void saveDs(Datasource<Organization<?>, Identity> datasource) throws DsmException {

    }

    @Override
    public void updateCompliance(String dsId, String apiId, String compliance, boolean override) throws DsmException {

    }
}
