From: Andreas Müller Date: Fri, 10 Mar 2017 09:43:15 +0000 (+0100) Subject: fix #6449 Add convenience method to set both caches as protected X-Git-Tag: 4.6.0^2~16 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/cdmlib.git/commitdiff_plain/f0559e00a87ec517b860678d7209f72c20b45679 fix #6449 Add convenience method to set both caches as protected --- diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/reference/IReference.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/reference/IReference.java index 6cafd8a88a..bf729d0ddb 100644 --- a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/reference/IReference.java +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/reference/IReference.java @@ -9,6 +9,7 @@ package eu.etaxonomy.cdm.model.reference; +import java.beans.Transient; import java.net.URI; import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase; @@ -137,4 +138,24 @@ public interface IReference */ public Object clone(); + /** + * Sets both caches and protects them. + * This is a convenience method to avoid + * references with only one cache protected + * leading to strange results in case the other + * cache is used. + * + * https://dev.e-taxonomy.eu/redmine/issues/6449 + * + * @see #setTitleCache(String) + * @see #setTitleCache(String, boolean) + * @see #setProtectedTitleCache(boolean) + * @see #setAbbrevTitleCache(String) + * @see #setAbbrevTitleCache(String, boolean) + * @see #setProtectedAbbrevTitleCache(boolean) + */ + @Transient + @javax.persistence.Transient + void setTitleCaches(String cache); + } diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/reference/Reference.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/reference/Reference.java index 99183dd8ae..9fceac59a2 100644 --- a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/reference/Reference.java +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/reference/Reference.java @@ -368,6 +368,8 @@ public class Reference //*************************** GETTER / SETTER ******************************************/ + + // @Transient - must not be transient, since this property needs to to be included in all serializations produced by the remote layer @Override public String getTitleCache(){ @@ -734,6 +736,13 @@ public class Reference //**************************************************** / + @Transient + @Override + public void setTitleCaches(String cache){ + this.setAbbrevTitleCache(cache, true); + this.setTitleCache(cache, true); + } + /** * Returns a formatted string containing the entire reference citation,