ref #7823 add createdUpdated info to occurrences for E+M import
authorAndreas Müller <a.mueller@bgbm.org>
Thu, 16 May 2019 08:21:06 +0000 (10:21 +0200)
committerAndreas Müller <a.mueller@bgbm.org>
Thu, 16 May 2019 08:21:06 +0000 (10:21 +0200)
app-import/src/main/java/eu/etaxonomy/cdm/io/berlinModel/in/BerlinModelOccurrenceImport.java

index 5bbcb7c6e62e6f895d49f2157b60830f2112faad..054f9466b6308a7949839c94ed3d8a385ef2c7ff 100644 (file)
@@ -83,7 +83,8 @@ public class BerlinModelOccurrenceImport  extends BerlinModelImportBase {
                 " SELECT DISTINCT pt.RIdentifier AS taxonId, occ.OccurrenceId, occ.Native, occ.Introduced, " +
                        " occ.Cultivated, occ.StatusUnknown, occ.WorldDistCompl, occ.Notes occNotes, " +
                        " sumcat.emOccurSumCatId, sumcat.Short, sumcat.Description, " +
-                       " sumcat.OutputCode, ar.AreaId, ar.TDWGCode " + emCode +
+                       " sumcat.OutputCode, ar.AreaId, ar.TDWGCode, "
+                       + " occ.Created_When , occ.Updated_When, occ.Created_Who , occ.Updated_Who, occ.notes " + emCode +
                 " FROM emOccurrence occ " +
                        " INNER JOIN emArea ar ON occ.AreaFk = ar.AreaId " +
                        " INNER JOIN PTaxon pt ON occ.PTNameFk = pt.PTNameFk AND occ.PTRefFk = pt.PTRefFk " +
@@ -218,6 +219,8 @@ public class BerlinModelOccurrenceImport  extends BerlinModelImportBase {
                     TaxonDescription taxonDescription = getTaxonDescription(newTaxonId, oldTaxonId, oldDescription, taxonMap, occurrenceId, sourceRef);
                     for (NamedArea area : areas){
                        Distribution distribution = Distribution.NewInstance(area, status);
+                       boolean excludeNotes = true;
+                       doCreatedUpdatedNotes(state, distribution, rs, false, excludeNotes);
                         if (StringUtils.isNotBlank(alternativeStatusString)){
                             AnnotationType type = getAnnotationType(state, BerlinModelTransformer.uuidAnnoTypeDistributionStatus, "Original distribution status", "Original distribution status", null, null);
                             Annotation annotation = Annotation.NewInstance(alternativeStatusString, type, null);
@@ -238,6 +241,7 @@ public class BerlinModelOccurrenceImport  extends BerlinModelImportBase {
                                    }
                             }else{
                                countDuplicates++;
+                               distribution = duplicate;
                                duplicate.addImportSource(String.valueOf(occurrenceId), NAMESPACE, state.getTransactionalSourceReference(), null);
                                logger.info("Distribution is duplicate");                                  }
                         } else {
@@ -373,9 +377,7 @@ public class BerlinModelOccurrenceImport  extends BerlinModelImportBase {
        /**
      * Tests if a distribution with the same tdwgArea and the same status already exists in the description.
      * If so the old distribution is returned
-     * @param description
-     * @param tdwgArea
-     * @return false, if dupplicate exists. True otherwise.
+     * @return false, if duplicate exists. True otherwise.
      */
     private Distribution checkIsNoDuplicate(TaxonDescription description, Distribution distribution, Map<Integer, String> duplicateMap, Integer bmDistributionId){
        for (DescriptionElementBase descElBase : description.getElements()){