minor
[cdmlib.git] / cdmlib-services / src / main / java / eu / etaxonomy / cdm / api / service / NameServiceImpl.java
index 9a0a16b010a40021c264ab10a437c47adefd7b73..2a40aa4f1af71457956a1914fdd3e1ccf8e950fc 100644 (file)
@@ -223,10 +223,6 @@ public class NameServiceImpl extends IdentifiableServiceBase<TaxonNameBase,ITaxo
                return typeDesignationVocabulary;\r
        }\r
 \r
-       public void generateTitleCache() {\r
-               logger.warn("Not yet implemented");\r
-               // TODO Auto-generated method stub\r
-       }\r
 \r
        @Autowired\r
        protected void setDao(ITaxonNameDao dao) {\r
@@ -271,8 +267,13 @@ public class NameServiceImpl extends IdentifiableServiceBase<TaxonNameBase,ITaxo
 \r
                List<NameRelationship> results = new ArrayList<NameRelationship>();\r
                if (numberOfResults > 0) { // no point checking again\r
-                       results = dao.getNameRelationships(name, NameRelationship.Direction.relatedTo, type, pageSize, pageNumber,\r
-                               orderHints, propertyPaths);\r
+                       results = dao.getNameRelationships(name, \r
+                                                                                          NameRelationship.Direction.relatedTo, \r
+                                                                                          type, \r
+                                                                                          pageSize, \r
+                                                                                          pageNumber,\r
+                                                              orderHints, \r
+                                                              propertyPaths);\r
                }\r
                return results;\r
        }\r
@@ -344,4 +345,32 @@ public class NameServiceImpl extends IdentifiableServiceBase<TaxonNameBase,ITaxo
        public HomotypicalGroup findHomotypicalGroup(UUID uuid) {\r
                return homotypicalGroupDao.findByUuid(uuid);\r
        }\r
+\r
+\r
+       /* (non-Javadoc)\r
+        * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()\r
+        */\r
+       @Override\r
+       public void updateTitleCache() {\r
+               Class<TaxonNameBase> clazz = TaxonNameBase.class;\r
+               super.updateTitleCache(clazz, null, null);\r
+       }\r
+       \r
+       @Override\r
+       protected void setOtherCachesNull(TaxonNameBase name) {\r
+               if (name.isInstanceOf(NonViralName.class)){\r
+                       NonViralName nvn = CdmBase.deproxy(name, NonViralName.class);\r
+                       if (! nvn.isProtectedNameCache()){\r
+                               nvn.setNameCache(null, false);\r
+                       }\r
+                       if (! nvn.isProtectedAuthorshipCache()){\r
+                               nvn.setAuthorshipCache(null, false);\r
+                       }\r
+                       if (! nvn.isProtectedFullTitleCache()){\r
+                               nvn.setFullTitleCache(null, false);\r
+                       }\r
+               }\r
+       }\r
+       \r
+       \r
 }\r