commit edff7345bad32f628aade8bdd98a0e42fb29765c
Author: Katja Luther <k.luther@bgbm.org>
Date:   Wed Jun 30 10:23:04 2021 +0200

    ref #9680: show abbrev titlecache/protected and collector titlecache/protected in bulk editor

diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java
index d7c406c67..d45dbfc19 100644
--- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java
+++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java
@@ -45,11 +45,14 @@ public class AgentEditorInput extends AbstractBulkEditorInput<TeamOrPersonBase>
 
 	private static AgentEditorInput instance;
 
-	private static final String PROPERTY_NOMENCLATURAL_TITLE = "Abbrev. Title";
+	private static final String PROPERTY_NOMENCLATURAL_TITLE = "Abbrev. Title Cache";
+	private static final String PROPERTY_NOMENCLATURAL_TITLECACHE_PROTECTED = "Protect Abbrev. Title Cache";
 	private static final String PROPERTY_FAMILY_NAME = "Family Name";
 	private static final String PROPERTY_OTHER_NAME = "Other/Given Name";
 	private static final String PROPERTY_INITIALS = "Initials";
 	private static final String PROPERTY_TEAM_HAS_MORE_MEMBERS = "et al.";
+	private static final String PROPERTY_COLLECTOR_TITLECACHE = "Collector Title Cache";
+	private static final String PROPERTY_COLLECTOR_TITLECACHE_PROTECTED = "Protect Collector Title Cache";
 
 	public static String getID() {
 		return ID;
@@ -59,6 +62,9 @@ public class AgentEditorInput extends AbstractBulkEditorInput<TeamOrPersonBase>
 	protected List<String> getPropertyKeys_internal() {
 	    List<String> propertyKeysInternal = new ArrayList<>();
 	    propertyKeysInternal.add(PROPERTY_NOMENCLATURAL_TITLE);
+	    propertyKeysInternal.add(PROPERTY_NOMENCLATURAL_TITLECACHE_PROTECTED);
+	    propertyKeysInternal.add(PROPERTY_COLLECTOR_TITLECACHE);
+        propertyKeysInternal.add(PROPERTY_COLLECTOR_TITLECACHE_PROTECTED);
 	    propertyKeysInternal.add(PROPERTY_FAMILY_NAME);
 	    propertyKeysInternal.add(PROPERTY_OTHER_NAME);
 	    propertyKeysInternal.add(PROPERTY_INITIALS);
@@ -71,6 +77,15 @@ public class AgentEditorInput extends AbstractBulkEditorInput<TeamOrPersonBase>
 	    if(property.equals(PROPERTY_NOMENCLATURAL_TITLE)){
 	        return cdmBase.getNomenclaturalTitleCache();
 	    }
+	    else if(property.equals(PROPERTY_NOMENCLATURAL_TITLECACHE_PROTECTED) && cdmBase.isInstanceOf(Team.class)){
+            return HibernateProxyHelper.deproxy(cdmBase, Team.class).isProtectedNomenclaturalTitleCache();
+        }
+	    else if(property.equals(PROPERTY_COLLECTOR_TITLECACHE)){
+            return HibernateProxyHelper.deproxy(cdmBase, TeamOrPersonBase.class).getCollectorTitleCache();
+        }
+	    else if(property.equals(PROPERTY_COLLECTOR_TITLECACHE_PROTECTED) && cdmBase.isInstanceOf(Team.class)){
+            return HibernateProxyHelper.deproxy(cdmBase, Team.class).isProtectedCollectorTitleCache();
+        }
 	    else if(property.equals(PROPERTY_FAMILY_NAME)
 	            && cdmBase.isInstanceOf(Person.class)){
 	        return HibernateProxyHelper.deproxy(cdmBase, Person.class).getFamilyName();
@@ -92,12 +107,22 @@ public class AgentEditorInput extends AbstractBulkEditorInput<TeamOrPersonBase>
 
 	@Override
 	public boolean isBooleanProperty(String property) {
-	    if(property.equals(PROPERTY_TEAM_HAS_MORE_MEMBERS)){
+	    if(property.equals(PROPERTY_TEAM_HAS_MORE_MEMBERS) || property.equals(PROPERTY_NOMENCLATURAL_TITLECACHE_PROTECTED)
+	            || property.equals(PROPERTY_COLLECTOR_TITLECACHE_PROTECTED)){
 	        return true;
 	    }
 	    return super.isBooleanProperty(property);
 	}
 
+	@Override
+    public boolean isCacheProperty(String property) {
+        if(property.equals(PROPERTY_NOMENCLATURAL_TITLECACHE_PROTECTED)
+                || property.equals(PROPERTY_COLLECTOR_TITLECACHE_PROTECTED)){
+            return true;
+        }
+        return super.isCacheProperty(property);
+    }
+
     @Override
     public String getName() {
 		return BulkEditorInputType.AGENT.label;
