import java.sql.ResultSet;
import java.sql.SQLException;
+import java.util.Collection;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Map;
import java.util.UUID;
import eu.etaxonomy.cdm.model.name.BotanicalName;
import eu.etaxonomy.cdm.model.name.Rank;
import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.cdm.model.taxon.TaxonBase;
/**
*
@Override
protected void doInvoke(RedListGefaesspflanzenImportState state) {
try {
- importFamilies(state);
+ Collection<TaxonBase> families = importFamilies(state);
+ getTaxonService().saveOrUpdate(families);
} catch (SQLException e) {
e.printStackTrace();
}
}
- private void importFamilies(RedListGefaesspflanzenImportState state) throws SQLException {
+ private Collection<TaxonBase> importFamilies(RedListGefaesspflanzenImportState state) throws SQLException {
+ Collection<TaxonBase> families = new HashSet<TaxonBase>();
Map<String, UUID> familyMapGL = new HashMap<>();
Map<String, UUID> familyMapCL = new HashMap<>();
name.setGenusOrUninomial(familieStr);
Taxon familyGL = Taxon.NewInstance(name, null);
familyMapGL.put(familieStr, familyGL.getUuid());
- getTaxonService().saveOrUpdate(familyGL);
//clone for checkliste
- Taxon familyCL = (Taxon) familyGL.clone();
+ Taxon familyCL = Taxon.NewInstance(name, null);
familyMapCL.put(familieStr, familyCL.getUuid());
- getTaxonService().save(familyCL);
+
+ families.add(familyGL);
+ families.add(familyCL);
}
state.setFamilyMapGesamtListe(familyMapGL);
state.setFamilyMapCheckliste(familyMapCL);
+ return families;
}
@Override