dnet-applications/libs/dnet-data-services/src/main/java/eu/dnetlib/data/mdstore/backends/MockBackend.java

79 lines
2.5 KiB
Java

package eu.dnetlib.data.mdstore.backends;
import java.time.Instant;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Stream;
import org.springframework.stereotype.Service;
import eu.dnetlib.data.mdstore.model.MDStore;
import eu.dnetlib.data.mdstore.model.MDStoreVersion;
import eu.dnetlib.data.mdstore.model.MetadataRecord;
import eu.dnetlib.data.mdstore.model.Provenance;
import eu.dnetlib.errors.MDStoreManagerException;
@Service
public class MockBackend implements MDStoreBackend {
private static final Provenance MOCK_PROVENANCE = new Provenance("mock________::MOCK_DS", "Mock Datasource", "mock________");
@Override
public void completeNewMDStore(final MDStore mdstore) {
mdstore.getParams().put("mockParam1", "test");
mdstore.getParams().put("mockParam2", "abc");
mdstore.getParams().put("mockParam3", 1234);
}
@Override
public void completeNewMDStoreVersion(final MDStoreVersion version) {
version.getParams().put("mockParam1", "v_test");
version.getParams().put("mockParam2", "v_abc");
version.getParams().put("mockParam3", 1234);
}
@Override
public void delete(final MDStore mdstore) throws MDStoreManagerException {}
@Override
public void delete(final MDStoreVersion version) throws MDStoreManagerException {}
@Override
public List<MetadataRecord> listEntries(final MDStoreVersion version, final long limit) throws MDStoreManagerException {
final List<MetadataRecord> list = new ArrayList<>();
for (int i = 0; i < limit; i++) {
final MetadataRecord rec = new MetadataRecord();
rec.setOriginalId("mck-" + i);
rec.setId("mock________::mck-" + i);
rec.setBody("<RECORD>" + i + "</RECORD>");
rec.setDateOfCollection(Instant.now().toEpochMilli());
rec.setDateOfTransformation(Instant.now().toEpochMilli());
rec.setEncoding("XML");
rec.setProvenance(MOCK_PROVENANCE);
list.add(rec);
}
return list;
}
@Override
public Stream<MetadataRecord> streamEntries(final MDStoreVersion version) throws MDStoreManagerException {
return listEntries(version, 1000).stream();
}
@Override
public Set<String> listInternalFiles(final MDStoreVersion version) throws MDStoreManagerException {
return new LinkedHashSet<>(Arrays.asList("file1", "file2", "file3", "file4"));
}
@Override
public Set<String> fixInconsistencies(final boolean delete) throws MDStoreManagerException {
return new LinkedHashSet<>(Arrays.asList("1", "2", "3", "4"));
}
}