BGBM BDI Projects
/
cdmlib.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
c597851
)
ref #8651 remove MarkerType.Computed where possible
author
Andreas Müller
<a.mueller@bgbm.org>
Tue, 12 Nov 2019 08:26:37 +0000
(09:26 +0100)
committer
Andreas Müller
<a.mueller@bgbm.org>
Tue, 12 Nov 2019 08:26:37 +0000
(09:26 +0100)
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/utility/DescriptionUtility.java
patch
|
blob
|
history
cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/description/DistributionAggregationTest.java
patch
|
blob
|
history
cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/utility/DescriptionUtilityTest.java
patch
|
blob
|
history
diff --git
a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/utility/DescriptionUtility.java
b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/utility/DescriptionUtility.java
index 5ac7905ef186a1d9fb5d3fb8c134dd7776c86750..d7cc74491e49c036f54eac9bea315685f42c2e92 100644
(file)
--- a/
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/utility/DescriptionUtility.java
+++ b/
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/utility/DescriptionUtility.java
@@
-20,6
+20,7
@@
import eu.etaxonomy.cdm.api.service.DistributionTree;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.Marker;
import eu.etaxonomy.cdm.model.common.MarkerType;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.Marker;
import eu.etaxonomy.cdm.model.common.MarkerType;
+import eu.etaxonomy.cdm.model.description.DescriptionBase;
import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
import eu.etaxonomy.cdm.model.location.NamedArea;
@@
-152,7
+153,7
@@
public class DescriptionUtility {
for (NamedArea area : filteredDistributions.keySet()) {
for (Distribution distribution : filteredDistributions.get(area)) {
// this is only required for rule 1
for (NamedArea area : filteredDistributions.keySet()) {
for (Distribution distribution : filteredDistributions.get(area)) {
// this is only required for rule 1
- if(
distribution.hasMarker(MarkerType.COMPUTED(), true
)){
+ if(
isAggregated(distribution
)){
if(!computedDistributions.containsKey(area)){
computedDistributions.put(area, new HashSet<>());
}
if(!computedDistributions.containsKey(area)){
computedDistributions.put(area, new HashSet<>());
}
@@
-219,6
+220,18
@@
public class DescriptionUtility {
return valuesOfAllInnerSets(filteredDistributions.values());
}
return valuesOfAllInnerSets(filteredDistributions.values());
}
+ private static boolean isAggregated(Distribution distribution) {
+ if (distribution.hasMarker(MarkerType.COMPUTED(), true)){
+ return true;
+ }else{
+ DescriptionBase<?> desc = distribution.getInDescription();
+ if (desc != null && desc.isAggregatedDistribution()){
+ return true;
+ }
+ }
+ return false;
+ }
+
/**
* @param hiddenAreaMarkerTypes
* @param area
/**
* @param hiddenAreaMarkerTypes
* @param area
diff --git
a/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/description/DistributionAggregationTest.java
b/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/description/DistributionAggregationTest.java
index ed3eec54b19e764f49049b9aaddfdfa34667af27..8fa3daaa8298903c3bd2dcda0c554f254dc0cd86 100644
(file)
--- a/
cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/description/DistributionAggregationTest.java
+++ b/
cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/description/DistributionAggregationTest.java
@@
-40,7
+40,6
@@
import eu.etaxonomy.cdm.common.JvmLimitsException;
import eu.etaxonomy.cdm.filter.TaxonNodeFilter;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.Extension;
import eu.etaxonomy.cdm.filter.TaxonNodeFilter;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.Extension;
-import eu.etaxonomy.cdm.model.common.MarkerType;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
import eu.etaxonomy.cdm.model.description.Distribution;
@@
-496,7
+495,7
@@
public class DistributionAggregationTest extends CdmTransactionalIntegrationTest
Taxon lapsana_communis = (Taxon) taxonService.load(T_LAPSANA_COMMUNIS_UUID);
int computedDescriptionsCnt = 0;
for(TaxonDescription description : lapsana_communis.getDescriptions()) {
Taxon lapsana_communis = (Taxon) taxonService.load(T_LAPSANA_COMMUNIS_UUID);
int computedDescriptionsCnt = 0;
for(TaxonDescription description : lapsana_communis.getDescriptions()) {
- if(description.
hasMarker(MarkerType.COMPUTED(), true
)) {
+ if(description.
isAggregatedDistribution(
)) {
computedDescriptionsCnt++;
assertEquals(2, description.getElements().size());
Distribution distribution = (Distribution)description.getElements().iterator().next();
computedDescriptionsCnt++;
assertEquals(2, description.getElements().size());
Distribution distribution = (Distribution)description.getElements().iterator().next();
diff --git
a/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/utility/DescriptionUtilityTest.java
b/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/utility/DescriptionUtilityTest.java
index f3c818d4d7802279f0ddd0531e7c2bd6cce1cbf5..c4a2c952dfee99adb90cae61d4e344ecc997d422 100644
(file)
--- a/
cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/utility/DescriptionUtilityTest.java
+++ b/
cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/utility/DescriptionUtilityTest.java
@@
-22,8
+22,10
@@
import org.unitils.spring.annotation.SpringBeanByType;
import eu.etaxonomy.cdm.api.service.ITermService;
import eu.etaxonomy.cdm.model.common.Marker;
import eu.etaxonomy.cdm.model.common.MarkerType;
import eu.etaxonomy.cdm.api.service.ITermService;
import eu.etaxonomy.cdm.model.common.Marker;
import eu.etaxonomy.cdm.model.common.MarkerType;
+import eu.etaxonomy.cdm.model.description.DescriptionType;
import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
+import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.location.Country;
import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.cdm.test.integration.CdmTransactionalIntegrationTest;
import eu.etaxonomy.cdm.model.location.Country;
import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.cdm.test.integration.CdmTransactionalIntegrationTest;
@@
-65,11
+67,16
@@
public class DescriptionUtilityTest extends CdmTransactionalIntegrationTest {
* available, the computed data has to be given preference over other
* data.
*/
* available, the computed data has to be given preference over other
* data.
*/
- distributions.add(Distribution.NewInstance(Country.GERMANY(), PresenceAbsenceTerm.NATIVE()));
+ TaxonDescription aggregatedDescription = TaxonDescription.NewInstance();
+ aggregatedDescription.addType(DescriptionType.AGGREGATED_DISTRIBUTION);
+
+ Distribution germanyNative = Distribution.NewInstance(Country.GERMANY(), PresenceAbsenceTerm.NATIVE());
+ distributions.add(germanyNative);
- Distribution computedDistribution = Distribution.NewInstance(Country.GERMANY(), PresenceAbsenceTerm.INTRODUCED());
- computedDistribution.addMarker(Marker.NewInstance(MarkerType.COMPUTED(), true));
- distributions.add(computedDistribution);
+ Distribution germanyIntroduced = Distribution.NewInstance(Country.GERMANY(), PresenceAbsenceTerm.INTRODUCED());
+ aggregatedDescription.addElement(germanyIntroduced);
+
+ distributions.add(germanyIntroduced);
statusOrderPreference= true;
filteredDistributions = DescriptionUtility.filterDistributions(distributions, hideMarkedAreas, true, statusOrderPreference, subAreaPreference);
statusOrderPreference= true;
filteredDistributions = DescriptionUtility.filterDistributions(distributions, hideMarkedAreas, true, statusOrderPreference, subAreaPreference);
@@
-79,8
+86,11
@@
public class DescriptionUtilityTest extends CdmTransactionalIntegrationTest {
/* distributions for parent areas are only
* removed if direct sub areas have the same status and if subAreaPreference=TRUE which is not the case here
*/
/* distributions for parent areas are only
* removed if direct sub areas have the same status and if subAreaPreference=TRUE which is not the case here
*/
+ TaxonDescription aggParentDescription = TaxonDescription.NewInstance();
+ aggParentDescription.addType(DescriptionType.AGGREGATED_DISTRIBUTION);
+
Distribution parentComputedDistribution = Distribution.NewInstance(berlin, PresenceAbsenceTerm.INTRODUCED());
Distribution parentComputedDistribution = Distribution.NewInstance(berlin, PresenceAbsenceTerm.INTRODUCED());
-
parentComputedDistribution.addMarker(Marker.NewInstance(MarkerType.COMPUTED(), true)
);
+
aggParentDescription.addElement(parentComputedDistribution
);
distributions.add(parentComputedDistribution);
filteredDistributions = DescriptionUtility.filterDistributions(distributions, hideMarkedAreas, true, statusOrderPreference, subAreaPreference);
distributions.add(parentComputedDistribution);
filteredDistributions = DescriptionUtility.filterDistributions(distributions, hideMarkedAreas, true, statusOrderPreference, subAreaPreference);