}
}
+ //p.p.
+ if (isMisapplied) {
+ if (isProParteMAN(type, inverse)) {
+ builder.addSeparator(", ");
+ symbol = "p.p.";
+ builder.add(TagEnum.symbol, symbol);
+ } else if (isProParteMAN(type, inverse)) {
+ builder.addSeparator(", ");
+ symbol = "part.";
+ builder.add(TagEnum.symbol, symbol);
+ }
+ }
+
+ //rel sec
List<TaggedText> relSecTags = getReferenceTags(taxonRelationship.getCitation(),
taxonRelationship.getCitationMicroReference(),true);
if (!relSecTags.isEmpty()){
//symbol
String symbol = inverse? type.getInverseSymbol():type.getSymbol();
if (isNotBlank(symbol)){
+ //handle p.p. MAN specific #10082
+ if (isProParteMAN(type, inverse) || isPartialMAN(type, inverse)) {
+ return TaxonRelationshipType.MISAPPLIED_NAME_FOR().getInverseSymbol();
+ }
return symbol;
}
return UNDEFINED_SYMBOL;
}
+ private boolean isPartialMAN(TaxonRelationshipType type, boolean inverse) {
+ return inverse && type.getUuid().equals(TaxonRelationshipType.uuidPartialMisappliedNameFor);
+ }
+
+ private boolean isProParteMAN(TaxonRelationshipType type, boolean inverse) {
+ return inverse && type.getUuid().equals(TaxonRelationshipType.uuidProParteMisappliedNameFor);
+ }
+
private boolean isNotBlank(String str) {
return StringUtils.isNotBlank(str);
}
inverse = true;
TaxonRelationshipType type = TaxonRelationshipType.PRO_PARTE_MISAPPLIED_NAME_FOR();
- String inverseSymbol = type.getInverseSymbol();
+ String manInverseSymbol = TaxonRelationshipType.MISAPPLIED_NAME_FOR().getInverseSymbol();
String symbol = type.getSymbol();
taxonRel.setType(type);
List<TaggedText> tags = formatter.getTaggedText(taxonRel, inverse, languages);
String str = TaggedCacheHelper.createString(tags);
- Assert.assertEquals(inverseSymbol + " \"Abies alba\" sensu Macfarlane 1918, err. sec. Cheek 1919: 123", str);
+ //#10082
+ Assert.assertEquals("We split the inverse symbol here", manInverseSymbol + " \"Abies alba\" sensu Macfarlane 1918, p.p., err. sec. Cheek 1919: 123", str);
//inverse
tags = formatter.getTaggedText(taxonRel, !inverse, languages);