package org.jabref.model.database;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import org.jabref.model.entry.BibEntry;
import org.jabref.model.entry.IdGenerator;
public class BibDatabases {
private BibDatabases() {
}
/**
* Gets a collection of bibentries and sets an ID for every entry. After that
* all entries will be inserted into a new BibDatabase.
*
* @param bibentries a collection that contains {@link BibEntry}
* @return BibDatabase that contains the entries
*/
public static BibDatabase createDatabase(Collection<BibEntry> bibentries) {
BibDatabase database = new BibDatabase();
for (BibEntry entry : bibentries) {
entry.setId(IdGenerator.next());
database.insertEntry(entry);
}
return database;
}
/**
* Receives a Collection of BibEntry instances, iterates through them, and
* removes all entries that have no fields set. This is useful for rooting out
* an unsucessful import (wrong format) that returns a number of empty entries.
*/
public static List<BibEntry> purgeEmptyEntries(Collection<BibEntry> entries) {
return entries.stream().filter(e -> !e.getFieldNames().isEmpty()).collect(Collectors.toList());
}
}