From: Andreas Müller Date: Fri, 14 May 2021 11:17:43 +0000 (+0200) Subject: factory method and singleton support for TaxonRelationshipFormatter X-Git-Tag: 5.23.0^2~62 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/cdmlib.git/commitdiff_plain/b53c4d758decec3dab1e2ff8afb9faf1d873003f factory method and singleton support for TaxonRelationshipFormatter --- diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/taxon/TaxonRelationshipFormatter.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/taxon/TaxonRelationshipFormatter.java index 13de1af57c..f51722a2d5 100644 --- a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/taxon/TaxonRelationshipFormatter.java +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/taxon/TaxonRelationshipFormatter.java @@ -55,6 +55,23 @@ public class TaxonRelationshipFormatter { private static final String INVERT_SYMBOL = "<-"; //TODO private static final String UNDEFINED_SYMBOL = "??"; //TODO + private static TaxonRelationshipFormatter instance; + + public static TaxonRelationshipFormatter NewInstance(){ + return new TaxonRelationshipFormatter(); + } + + public static TaxonRelationshipFormatter INSTANCE(){ + if (instance == null){ + instance = NewInstance(); + } + return instance; + } + + private TaxonRelationshipFormatter(){ + + } + public List getTaggedText(TaxonRelationship taxonRelationship, boolean reverse, List languages) { return getTaggedText(taxonRelationship, reverse, languages, false); } diff --git a/cdmlib-model/src/test/java/eu/etaxonomy/cdm/format/taxon/TaxonRelationshipFormatterTest.java b/cdmlib-model/src/test/java/eu/etaxonomy/cdm/format/taxon/TaxonRelationshipFormatterTest.java index 36a19ad767..07d5ce4821 100644 --- a/cdmlib-model/src/test/java/eu/etaxonomy/cdm/format/taxon/TaxonRelationshipFormatterTest.java +++ b/cdmlib-model/src/test/java/eu/etaxonomy/cdm/format/taxon/TaxonRelationshipFormatterTest.java @@ -99,7 +99,7 @@ public class TaxonRelationshipFormatterTest extends TermTestBase{ taxonRel = fromTaxon.addTaxonRelation(toTaxon, type, relSec, "123"); reverse = false; - formatter = new TaxonRelationshipFormatter(); + formatter = TaxonRelationshipFormatter.INSTANCE(); languages = null; } diff --git a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/dto/TaxonRelationshipsDTO.java b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/dto/TaxonRelationshipsDTO.java index a1e34ba00d..ec2f6271f4 100644 --- a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/dto/TaxonRelationshipsDTO.java +++ b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/dto/TaxonRelationshipsDTO.java @@ -73,7 +73,7 @@ public class TaxonRelationshipsDTO { // TODO localize // termDto.localize(representation_L10n); } - List tags = new TaxonRelationshipFormatter().getTaggedText( + List tags = TaxonRelationshipFormatter.INSTANCE().getTaggedText( relation, direction == Direction.relatedFrom, languages); this.taggedText = tags; this.setCache(TaggedCacheHelper.createString(tags)); diff --git a/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/dto/TaxonRelationshipsDTOTest.java b/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/dto/TaxonRelationshipsDTOTest.java index 7dd8350ec7..fb2f3befe0 100644 --- a/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/dto/TaxonRelationshipsDTOTest.java +++ b/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/dto/TaxonRelationshipsDTOTest.java @@ -92,7 +92,7 @@ public class TaxonRelationshipsDTOTest extends TermTestBase { taxonRel = fromTaxon.addTaxonRelation(toTaxon, type, relSec, "123"); reverse = false; - formatter = new TaxonRelationshipFormatter(); + formatter = TaxonRelationshipFormatter.INSTANCE(); languages = null; }