cleanup and minor
authorAndreas Müller <a.mueller@bgbm.org>
Wed, 6 Oct 2021 20:13:47 +0000 (22:13 +0200)
committerAndreas Müller <a.mueller@bgbm.org>
Wed, 6 Oct 2021 20:13:47 +0000 (22:13 +0200)
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/description/DescriptionAggregationBase.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/description/DescriptionAggregationConfigurationBase.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/description/DistributionAggregation.java
cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/description/DistributionAggregationTest.java

index 8821892eb13f2da3c87750db2c3e815ac782ca88..c8a9e049d93307fc97323342047131517acede15 100644 (file)
@@ -254,9 +254,7 @@ public abstract class DescriptionAggregationBase<T extends DescriptionAggregatio
         ResultHolder resultHolder = createResultHolder();
         for (AggregationMode mode : getConfig().getAggregationModes()){
             if (mode == AggregationMode.ToParent){
-                Set<TaxonDescription> excludedDescriptions = new HashSet<>();
-//              excludedDescriptions.add(targetDescription); //not possible because aggregating from children
-                aggregateToParentTaxon(taxonNode, resultHolder, excludedDescriptions);
+                aggregateToParentTaxon(taxonNode, resultHolder, new HashSet<>()); ////excludedDescriptions because aggregating from children
             } else if (mode == AggregationMode.WithinTaxon){
                 Set<TaxonDescription> excludedDescriptions = new HashSet<>();
                 excludedDescriptions.add(targetDescription);
index f50ee0bc7fde1fd770a723316d382736a54414ee..7e9650e4ff77823b3083cb70729c049b68909ec5 100644 (file)
@@ -38,9 +38,6 @@ public abstract class DescriptionAggregationConfigurationBase<TASK extends Descr
     private boolean adaptBatchSize = true;
 
     private boolean doClearExistingDescription = false;
-    private boolean doReuseDescriptions = false;
-    private boolean doReuseDescriptionElements = false;
-    private boolean doReuseSources = false;
 
     private IProgressMonitor monitor;
 
index cbbf0f2ff2c5d06213398bffbef622ed727d84b8..90570bcb036d0e9eac0a328b897f49847e183185 100644 (file)
@@ -296,17 +296,13 @@ public class DistributionAggregation
             // TODO consider using the TermHierarchyLookup (only in local branch a.kohlbecker)
             Set<NamedArea> subAreas = getSubAreasFor(superArea);
             for(NamedArea subArea : subAreas){
-                if(logger.isTraceEnabled()){
-                    logger.trace("accumulateByArea() - \t\t" + termToString(subArea));
-                }
+                if(logger.isTraceEnabled()){logger.trace("accumulateByArea() - \t\t" + termToString(subArea));}
                 // step through all distributions for the given subArea
                 for(Distribution distribution : distributions){
                     //TODO AM is the status handling here correct? The mapping to CDM handled
                     if(subArea.equals(distribution.getArea()) && distribution.getStatus() != null) {
                         PresenceAbsenceTerm status = distribution.getStatus();
-                        if(logger.isTraceEnabled()){
-                            logger.trace("accumulateByArea() - \t\t" + termToString(subArea) + ": " + termToString(status));
-                        }
+                        if(logger.isTraceEnabled()){logger.trace("accumulateByArea() - \t\t" + termToString(subArea) + ": " + termToString(status));}
                         // skip all having a status value in the ignore list
                         if (status == null || getByAreaIgnoreStatusList().contains(status)
                                 || (getConfig().isIgnoreAbsentStatusByArea() && status.isAbsenceTerm())){
@@ -364,6 +360,11 @@ public class DistributionAggregation
         public void addSources(Set<DescriptionElementSource> sources) {
             addSourcesDeduplicated(this.sources, sources);
         }
+
+        @Override
+        public String toString() {
+            return "StatusAndSources [status=" + status + ", sources=" + sources.size() + "]";
+        }
     }
 
     @Override
@@ -522,8 +523,8 @@ public class DistributionAggregation
     private Set<TaxonDescription> descriptionsFor(Taxon taxon, Set<TaxonDescription> excludedDescriptions) {
         Set<TaxonDescription> result = new HashSet<>();
         for(TaxonDescription description: taxon.getDescriptions()) {
-//            readOnlyIfInSession(description); //not needed for tests anymore
-            if (!excludedDescriptions.contains(description)){
+//          readOnlyIfInSession(description); //not needed for tests anymore
+            if (excludedDescriptions == null || !excludedDescriptions.contains(description)){
                 result.add(description);
             }
         }
index 4bbf405581ed9b2a40ec1a66ec16dd49083f3102..2bf44c60a20f885361160832f51247a85a6451e3 100644 (file)
@@ -289,7 +289,7 @@ public class DistributionAggregationTest extends CdmTransactionalIntegrationTest
         @DataSet(value="/eu/etaxonomy/cdm/database/TermsDataSet-with_auditing_info.xml"),
         @DataSet(value="DistributionAggregationTest.xml"),
     })
-    public void testArea_rank_and_area_1() throws JvmLimitsException {
+    public void testArea_rank_and_area_1() {
 
         //Lapsana communis alpina
         List<Distribution> distributions_LCA = new ArrayList<>();
@@ -326,6 +326,7 @@ public class DistributionAggregationTest extends CdmTransactionalIntegrationTest
         UUID lapsanaDescriptionUuid = lapsanaAggregatedDescription.getUuid();
         UUID yugDistributionUuid = null;
         UUID yug_mn_DistributionUuid = null;
+
         for (DescriptionElementBase element : lapsanaAggregatedDescription.getElements()){
             Distribution lapsanaDistribution = (Distribution)element;
             if(lapsanaDistribution.getArea().equals(yug)){
@@ -703,7 +704,6 @@ public class DistributionAggregationTest extends CdmTransactionalIntegrationTest
 
     /**
      * Creates a new description for the taxon identified by the UUIDs
-     * @return
      */
     private TaxonDescription addDistributions(UUID taxonUuid, Collection<Distribution> distributions) {
         Taxon taxon = (Taxon) taxonService.load(taxonUuid);