import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
public void printReport(PrintStream out) {
out.println("++++++++Import Report+++++++++");
+ //all specimens
+ Set<UnitIdSpecimen> allSpecimens = new HashSet<UnitIdSpecimen>();
+ Map<SpecimenOrObservationType, Integer> specimenTypeToCount = new HashMap<SpecimenOrObservationType, Integer>();
+ for (Entry<UnitIdSpecimen, List<UnitIdSpecimen>> entry : derivateMap.entrySet()) {
+ UnitIdSpecimen parentSpecimen = entry.getKey();
+ incrementSpecimenTypeCount(specimenTypeToCount, parentSpecimen);
+ allSpecimens.add(parentSpecimen);
+ for (UnitIdSpecimen childSpecimen : entry.getValue()) {
+ incrementSpecimenTypeCount(specimenTypeToCount, childSpecimen);
+ allSpecimens.add(childSpecimen);
+ }
+ }
+ out.println("Specimens created: "+allSpecimens.size());
+ for(Entry<SpecimenOrObservationType, Integer> entry:specimenTypeToCount.entrySet()){
+ SpecimenOrObservationType type = entry.getKey();
+ out.println(type+": "+entry.getValue());
+ }
+ out.println("\n");
+
+ //taxon name
out.println("---Created Taxon Names ("+createdNames.size()+")---");
for (TaxonNameBase<?, ?> taxonName : createdNames) {
out.println(taxonName.getTitleCache());
}
out.println("\n");
+
+ //taxa
out.println("---Created Taxa ("+createdTaxa.size()+")---");
for (Taxon taxon : createdTaxa) {
out.println(taxon.getTitleCache());
}
out.println("\n");
+
+ //taxon nodes
out.println("---Created Taxon Nodes ("+createdTaxonNodes.size()+")---");
for (TaxonNode taxonNode : createdTaxonNodes) {
String nodeString = taxonNode.toString();
out.println(nodeString);
}
out.println("\n");
+
+ //not imported
+ out.println("---Already existing specimen (not imported)---");
+ for(UnitIdSpecimen specimen:alreadyExistingSpecimens){
+ out.println(formatSpecimen(specimen));
+ }
+ out.println("\n");
+
+ //taxa with associated specimens
out.println("---Taxa with associated specimens---");
for(Entry<Taxon, List<UnitIdSpecimen>> entry:taxonToAssociatedSpecimens.entrySet()){
Taxon taxon = entry.getKey();
}
}
out.println("\n");
- //all specimens
- Set<UnitIdSpecimen> allSpecimens = new HashSet<UnitIdSpecimen>();
- for (Entry<UnitIdSpecimen, List<UnitIdSpecimen>> entry : derivateMap.entrySet()) {
- allSpecimens.add(entry.getKey());
- allSpecimens.addAll(entry.getValue());
- }
- out.println("Specimens created: "+allSpecimens.size());
- out.println("\n");
- out.println("---Already existing specimen (not imported)---");
- for(UnitIdSpecimen specimen:alreadyExistingSpecimens){
- out.println(formatSpecimen(specimen));
- }
out.println("\n");
+ //info messages
out.println("---Info messages---");
for(String message:infoMessages){
out.println(message);
}
}
+ private void incrementSpecimenTypeCount(Map<SpecimenOrObservationType, Integer> specimenTypeToCount,
+ UnitIdSpecimen specimen) {
+ SpecimenOrObservationType specimenType = specimen.getSpecimen().getRecordBasis();
+ Integer count = specimenTypeToCount.get(specimenType);
+ if(count==null){
+ count = 1;
+ }
+ else{
+ count++;
+ }
+ specimenTypeToCount.put(specimenType, count);
+ }
+
private String formatSpecimen(UnitIdSpecimen specimen){
return "("+specimen.getUnitId()+") ["+specimen.getSpecimen().getRecordBasis()+"] "+specimen.getSpecimen().getTitleCache();
}