![JAR search and dependency download from the Maven repository](/logo.png)
angry1980.audio.DataImporter Maven / Gradle / Ivy
package angry1980.audio;
import angry1980.audio.dao.TrackDAO;
import angry1980.audio.dao.TrackSimilarityDAO;
import angry1980.audio.model.FingerprintType;
import angry1980.audio.model.ImmutableTrackSimilarity;
import angry1980.audio.model.Track;
import angry1980.audio.model.TrackSimilarity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Collection;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Consumer;
import java.util.stream.Collectors;
public class DataImporter {
private static Logger LOG = LoggerFactory.getLogger(DataImporter.class);
private TrackDataEnvironment from;
public DataImporter(TrackDataEnvironment from) {
this.from = from;
}
public void importTo(TrackDataEnvironment to, FingerprintType type, FingerprintType goal){
if(!to.isEmpty(goal)){
LOG.info("Similarities for {} has been already imported", goal);
return;
}
Consumer> importer = tracks -> importTracks(tracks, to, type, goal);
from.getTrackDAO().getAll()
.flatMap(to.getTrackDAO()::createAll)
.ifPresent(importer);
}
private void importTracks(Collection
© 2015 - 2025 Weber Informatics LLC | Privacy Policy