smaller changes in ABCD import - continue
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / specimen / SpecimenImportBase.java
index ff3268bf9532ebe3e36c234f89bc2be003bef7fb..bec35cefbf9ef6163b6dcced607abb1feb8299ab 100755 (executable)
@@ -596,12 +596,16 @@ public abstract class SpecimenImportBase<CONFIG extends IImportConfigurator, STA
                config.setPropertyPaths(propertyPaths);
                commitTransaction(state.getTx());
                state.setTx(startTransaction());
+               try{
                Pager<SpecimenOrObservationBase> existingSpecimens = cdmAppController.getOccurrenceService().findByTitle(config);
                if(!existingSpecimens.getRecords().isEmpty()){
                    if(existingSpecimens.getRecords().size()==1){
                        return existingSpecimens.getRecords().iterator().next();
                    }
                }
+               }catch(NullPointerException e){
+                       logger.error("searching for existing specimen creates NPE: " + config.getSignificantIdentifier());
+               }
                return null;
            }
 
@@ -1109,7 +1113,7 @@ public abstract class SpecimenImportBase<CONFIG extends IImportConfigurator, STA
                        if(cdmAppController == null){
                            cdmAppController = this;
                        }
-                       specimenTypeDesignationstatus = (SpecimenTypeDesignationStatus) cdmAppController.getTermService().find(specimenTypeDesignationstatus.getUuid());
+                       specimenTypeDesignationstatus = HibernateProxyHelper.deproxy(cdmAppController.getTermService().find(specimenTypeDesignationstatus.getUuid()), SpecimenTypeDesignationStatus.class);
                        //Designation
                        TaxonName name = taxon.getName();
                        SpecimenTypeDesignation designation = SpecimenTypeDesignation.NewInstance();