Revision f9d65b70
Added by Andreas Müller almost 3 years ago
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/agent/Person.java | ||
---|---|---|
231 | 231 |
PropertyChangeListener listener = new PropertyChangeListener() { |
232 | 232 |
@Override |
233 | 233 |
public void propertyChange(PropertyChangeEvent ev) { |
234 |
if (!ev.getPropertyName().equals("titleCache") |
|
235 |
&& !ev.getPropertyName().equals("nomenclaturalTitleCache") //not sure if called at all |
|
234 |
if (!ev.getPropertyName().equals("nomenclaturalTitleCache") //not sure if called at all |
|
236 | 235 |
&& !ev.getPropertyName().equals("collectorTitleCache") //not sure if called at all |
237 | 236 |
&& !ev.getPropertyName().equals("cacheStrategy")){ |
238 |
if (! isProtectedTitleCache()){ |
|
237 |
if (!ev.getPropertyName().equals("titleCache") && ! isProtectedTitleCache()){
|
|
239 | 238 |
titleCache = null; |
240 | 239 |
} |
241 | 240 |
nomenclaturalTitleCache = null; |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/strategy/cache/agent/PersonDefaultCacheStrategy.java | ||
---|---|---|
87 | 87 |
result = person.getNomenclaturalTitle(); |
88 | 88 |
if (isNotBlank(result)){ |
89 | 89 |
return result.trim(); |
90 |
}else{ |
|
91 |
result = addInitials("", person); |
|
92 |
if (isNotBlank(result)){ |
|
93 |
return result.trim(); |
|
94 |
} |
|
90 |
} |
|
91 |
result = person.getCollectorTitle(); |
|
92 |
if (isNotBlank(result)){ |
|
93 |
return result.trim(); |
|
94 |
} |
|
95 |
result = addInitials("", person); |
|
96 |
if (isNotBlank(result)){ |
|
97 |
return result.trim(); |
|
95 | 98 |
} |
96 | 99 |
} |
97 | 100 |
return person.toString(); |
cdmlib-model/src/test/java/eu/etaxonomy/cdm/strategy/cache/agent/PersonDefaultCacheStrategyTest.java | ||
---|---|---|
276 | 276 |
givenname = "(Brother)"; //example from Salvador DB |
277 | 277 |
Assert.assertNull("Non-parsable string should not be empty but null", formatter.getInitialsFromGivenName(givenname, force)); |
278 | 278 |
} |
279 |
} |
|
279 |
|
|
280 |
@Test |
|
281 |
public final void testUpdateCaches(){ |
|
282 |
Assert.assertEquals("P1FN, P.", person1.getTitleCache()); |
|
283 |
Assert.assertEquals("P1FN, P.", person1.getNomenclaturalTitleCache()); |
|
284 |
Assert.assertEquals("P1FN, P.", person1.getCollectorTitleCache()); |
|
285 |
person1.setTitleCache("protected cache", true); |
|
286 |
Assert.assertEquals("protected cache", person1.getTitleCache()); |
|
287 |
Assert.assertEquals("protected cache", person1.getNomenclaturalTitleCache()); |
|
288 |
Assert.assertEquals("protected cache", person1.getCollectorTitleCache()); |
|
289 |
|
|
290 |
person3.setNomenclaturalTitle("nom title"); |
|
291 |
Assert.assertEquals("nom title", person3.getTitleCache()); |
|
292 |
Assert.assertEquals("nom title", person3.getNomenclaturalTitleCache()); |
|
293 |
Assert.assertEquals("nom title", person3.getCollectorTitleCache()); |
|
294 |
|
|
295 |
Person person4 = Person.NewInstance(); |
|
296 |
person4.setCollectorTitle("collector title"); |
|
297 |
Assert.assertEquals("collector title", person4.getTitleCache()); |
|
298 |
Assert.assertEquals("collector title", person4.getNomenclaturalTitleCache()); |
|
299 |
Assert.assertEquals("collector title", person4.getCollectorTitleCache()); |
|
300 |
} |
|
301 |
} |
Also available in: Unified diff
ref #9664 , ref #4311 fix cache handling for collectorTitle and nomenclaturalTitle