Revision 0f44e94a
Added by Andreas Müller almost 5 years ago
cdmlib-model/src/main/java/eu/etaxonomy/cdm/strategy/cache/name/TaxonNameDefaultCacheStrategy.java | ||
---|---|---|
744 | 744 |
return tags; |
745 | 745 |
} |
746 | 746 |
|
747 |
/** |
|
748 |
* Creates the tag list for an infraspecific taxon. In include is true the result will contain |
|
749 |
* @param nonViralName |
|
750 |
* @return |
|
751 |
*/ |
|
752 |
protected List<TaggedText> getInfraSpeciesTaggedNameCache(TaxonName nonViralName){ |
|
753 |
if (nonViralName.getNameType().isZoological()){ |
|
754 |
boolean includeMarker = ! (nonViralName.isAutonym()); |
|
755 |
return getInfraSpeciesTaggedNameCache(nonViralName, includeMarker); |
|
747 |
protected List<TaggedText> getInfraSpeciesTaggedNameCache(TaxonName name){ |
|
748 |
if (name.getNameType().isZoological()){ |
|
749 |
boolean includeMarker =includeInfraSpecificMarkerForZooNames(name); |
|
750 |
return getInfraSpeciesTaggedNameCache(name, includeMarker); |
|
756 | 751 |
}else{ |
757 |
return getInfraSpeciesTaggedNameCache(nonViralName, true);
|
|
752 |
return getInfraSpeciesTaggedNameCache(name, true); |
|
758 | 753 |
} |
759 | 754 |
} |
760 | 755 |
|
756 |
protected boolean includeInfraSpecificMarkerForZooNames(TaxonName name){ |
|
757 |
return ! (name.isAutonym()); //only exclude marker if autonym, see also ZooNameNoMarkerCacheStrategy |
|
758 |
} |
|
759 |
|
|
761 | 760 |
/** |
762 | 761 |
* Creates the tag list for an infraspecific taxon. If include is true the result will contain |
763 | 762 |
* the infraspecific marker (e.g. "var.") |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/strategy/cache/name/ZooNameNoMarkerCacheStrategy.java | ||
---|---|---|
16 | 16 |
import org.apache.log4j.Logger; |
17 | 17 |
|
18 | 18 |
import eu.etaxonomy.cdm.model.name.INonViralName; |
19 |
import eu.etaxonomy.cdm.model.name.Rank; |
|
19 | 20 |
import eu.etaxonomy.cdm.model.name.TaxonName; |
20 | 21 |
import eu.etaxonomy.cdm.strategy.cache.TagEnum; |
21 | 22 |
import eu.etaxonomy.cdm.strategy.cache.TaggedText; |
cdmlib-model/src/test/java/eu/etaxonomy/cdm/strategy/cache/name/ZoologicalNameCacheStrategyTest.java | ||
---|---|---|
43 | 43 |
private TaxonName subGenusName; |
44 | 44 |
private TaxonName speciesName; |
45 | 45 |
private TaxonName subSpeciesName; |
46 |
private TaxonName varName; |
|
46 | 47 |
private TaxonName speciesNameWithInfrGenEpi; |
47 | 48 |
private TeamOrPersonBase<?> author; |
48 | 49 |
private TeamOrPersonBase<?> exAuthor; |
... | ... | |
53 | 54 |
private final String genusNameString = "Genus"; |
54 | 55 |
private final String speciesNameString = "Abies alba"; |
55 | 56 |
private final String subSpeciesNameString = "Abies alba subsp. beta"; |
56 |
private final String speciesNameWithGenusEpiString = "Bacanius (Mullerister) rombophorus (Aube, 1843)"; |
|
57 |
private final String varietyNameString = "Abies alba var. beta"; |
|
58 |
private final String speciesNameWithGenusEpiString = "Bacanius (Mullerister) rombophorus (Aube, 1843)"; |
|
57 | 59 |
|
58 | 60 |
private final String authorString = "L."; |
59 | 61 |
private final String exAuthorString = "Exaut."; |
... | ... | |
81 | 83 |
|
82 | 84 |
speciesName = TaxonNameFactory.PARSED_ZOOLOGICAL(speciesNameString); |
83 | 85 |
subSpeciesName = TaxonNameFactory.PARSED_ZOOLOGICAL(subSpeciesNameString); |
86 |
varName = TaxonNameFactory.PARSED_ZOOLOGICAL(varietyNameString); |
|
84 | 87 |
speciesNameWithInfrGenEpi = TaxonNameFactory.PARSED_ZOOLOGICAL(speciesNameWithGenusEpiString); |
85 | 88 |
Assert.assertFalse(speciesName.hasProblem()); //guarantee names are well past |
86 | 89 |
Assert.assertFalse(speciesNameWithInfrGenEpi.hasProblem()); |
... | ... | |
194 | 197 |
@Test |
195 | 198 |
public final void testGetInfraSpeciesNameCache() { |
196 | 199 |
assertEquals(subSpeciesNameString, strategy.getNameCache(subSpeciesName)); |
200 |
assertEquals(varietyNameString, strategy.getNameCache(varName)); |
|
197 | 201 |
} |
198 | 202 |
|
199 | 203 |
|
Also available in: Unified diff
ref #1444, ref #8509 improve ZoologicalNameCacheStrategy for infraspecific ranks not being subspecies