From b53c4d758decec3dab1e2ff8afb9faf1d873003f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andreas=20M=C3=BCller?= Date: Fri, 14 May 2021 13:17:43 +0200 Subject: [PATCH] factory method and singleton support for TaxonRelationshipFormatter --- .../taxon/TaxonRelationshipFormatter.java | 17 +++++++++++++++++ .../taxon/TaxonRelationshipFormatterTest.java | 2 +- .../api/service/dto/TaxonRelationshipsDTO.java | 2 +- .../service/dto/TaxonRelationshipsDTOTest.java | 2 +- 4 files changed, 20 insertions(+), 3 deletions(-) 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; } -- 2.34.1