From bd2ed83441fdcce9cc45408f6579764689eaaa3f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andreas=20M=C3=BCller?= Date: Wed, 10 Aug 2011 13:46:02 +0000 Subject: [PATCH] bugfix for field observation cache strategy (protected title cache collectors) --- ...DerivedUnitFacadeFieldObservationCacheStrategy.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/facade/DerivedUnitFacadeFieldObservationCacheStrategy.java b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/facade/DerivedUnitFacadeFieldObservationCacheStrategy.java index 356e7af29b..c3efd54721 100644 --- a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/facade/DerivedUnitFacadeFieldObservationCacheStrategy.java +++ b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/facade/DerivedUnitFacadeFieldObservationCacheStrategy.java @@ -133,11 +133,14 @@ public class DerivedUnitFacadeFieldObservationCacheStrategy extends StrategyBase private String getCollectorAndFieldNumber(DerivedUnitFacade facade) { String result = ""; - AgentBase collector = facade.getCollector(); + AgentBase collector = facade.getCollector(); String fieldNumber = facade.getFieldNumber(); Person primaryCollector = facade.getPrimaryCollector(); + if (collector == null){ return fieldNumber; + }else if(collector.isProtectedTitleCache()){ + return CdmUtils.concat(" ", collector.getTitleCache(), fieldNumber); }else{ result = ""; Team collectorTeam; @@ -147,11 +150,12 @@ public class DerivedUnitFacadeFieldObservationCacheStrategy extends StrategyBase primaryCollector = CdmBase.deproxy(collector, Person.class); } collectorTeam.addTeamMember(primaryCollector); - } else if (collector.isInstanceOf(Team.class)){ + } else if (collector.isInstanceOf(Team.class) && ! collector.isProtectedTitleCache() ){ collectorTeam = CdmBase.deproxy(collector, Team.class); }else{ return CdmUtils.concat(" ", collector.getTitleCache(), fieldNumber); } + int counter = 0; int teamSize = collectorTeam.getTeamMembers().size(); boolean fieldNumberAdded = false; @@ -187,7 +191,7 @@ public class DerivedUnitFacadeFieldObservationCacheStrategy extends StrategyBase * @return */ private String getMemberString(Person member) { - if (StringUtils.isNotBlank(member.getLastname())){ + if (StringUtils.isNotBlank(member.getLastname()) && ! member.isProtectedTitleCache() ){ String result = member.getLastname(); if (StringUtils.isNotBlank(member.getFirstname())){ result = member.getFirstname().substring(0,1) + ". " + result; -- 2.34.1