fix #6449 Add convenience method to set both caches as protected
authorAndreas Müller <a.mueller@bgbm.org>
Fri, 10 Mar 2017 09:43:15 +0000 (10:43 +0100)
committerAndreas Müller <a.mueller@bgbm.org>
Fri, 10 Mar 2017 09:43:15 +0000 (10:43 +0100)
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/reference/IReference.java
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/reference/Reference.java

index 6cafd8a88a432f3e603d0ec8b66bfc62352b6dbf..bf729d0ddba44fe4d41cc23a5f42857ad97a0a11 100644 (file)
@@ -9,6 +9,7 @@
 \r
 package eu.etaxonomy.cdm.model.reference;\r
 \r
+import java.beans.Transient;\r
 import java.net.URI;\r
 \r
 import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;\r
@@ -137,4 +138,24 @@ public interface IReference
         */\r
        public Object clone();\r
 \r
+    /**\r
+     * Sets both caches and protects them.\r
+     * This is a convenience method to avoid\r
+     * references with only one cache protected\r
+     * leading to strange results in case the other\r
+     * cache is used.\r
+     *\r
+     * https://dev.e-taxonomy.eu/redmine/issues/6449\r
+     *\r
+     * @see #setTitleCache(String)\r
+     * @see #setTitleCache(String, boolean)\r
+     * @see #setProtectedTitleCache(boolean)\r
+     * @see #setAbbrevTitleCache(String)\r
+     * @see #setAbbrevTitleCache(String, boolean)\r
+     * @see #setProtectedAbbrevTitleCache(boolean)\r
+     */\r
+       @Transient\r
+       @javax.persistence.Transient\r
+    void setTitleCaches(String cache);\r
+\r
 }\r
index 99183dd8ae456bcded4b84129a1263d76dc31d8f..9fceac59a2bdfb811e448a77e9994ed237d0d081 100644 (file)
@@ -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,