Merge branch 'release/5.6.0'
[cdmlib.git] / cdmlib-services / src / main / java / eu / etaxonomy / cdm / api / service / VocabularyServiceImpl.java
index 96813d4677ccd1cd9cd10d2a93a139dab3e4065b..798f2cb6ade677f06e15646ff2b19cf954f390a6 100644 (file)
@@ -21,13 +21,14 @@ import org.springframework.transaction.annotation.Transactional;
 import eu.etaxonomy.cdm.api.service.pager.Pager;
 import eu.etaxonomy.cdm.api.service.pager.impl.DefaultPagerImpl;
 import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
-import eu.etaxonomy.cdm.model.common.DefinedTermBase;
 import eu.etaxonomy.cdm.model.common.Language;
-import eu.etaxonomy.cdm.model.common.TermType;
-import eu.etaxonomy.cdm.model.common.TermVocabulary;
-import eu.etaxonomy.cdm.persistence.dao.common.ITermVocabularyDao;
+import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.TermType;
+import eu.etaxonomy.cdm.model.term.TermVocabulary;
+import eu.etaxonomy.cdm.persistence.dao.term.ITermVocabularyDao;
 import eu.etaxonomy.cdm.persistence.dto.TermDto;
 import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.OrderHint;
 import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
 
@@ -47,11 +48,11 @@ public class VocabularyServiceImpl extends IdentifiableServiceBase<TermVocabular
 
        @Override
        @Transactional(readOnly = false)
-    public void updateTitleCache(Class<? extends TermVocabulary> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<TermVocabulary> cacheStrategy, IProgressMonitor monitor) {
+    public UpdateResult updateCaches(Class<? extends TermVocabulary> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<TermVocabulary> cacheStrategy, IProgressMonitor monitor) {
                if (clazz == null){
                        clazz = TermVocabulary.class;
                }
-               super.updateTitleCacheImpl(clazz, stepSize, cacheStrategy, monitor);
+               return super.updateCachesImpl(clazz, stepSize, cacheStrategy, monitor);
        }
 
 
@@ -132,11 +133,18 @@ public class VocabularyServiceImpl extends IdentifiableServiceBase<TermVocabular
 
     @Transactional(readOnly = false)
     @Override
-    public void addNewTerm(TermType termType, UUID vocabularyUUID) {
+    public TermDto addNewTerm(TermType termType, UUID vocabularyUUID) {
         DefinedTermBase term = termType.getEmptyDefinedTermBase();
         termService.save(term);
         TermVocabulary vocabulary = dao.load(vocabularyUUID);
         vocabulary.addTerm(term);
         dao.saveOrUpdate(vocabulary);
+        return TermDto.fromTerm(term, true);
+    }
+
+    @Override
+    public <S extends TermVocabulary> List<UuidAndTitleCache<S>> getUuidAndTitleCache(Class<S> clazz, TermType termType,
+            Integer limit, String pattern) {
+        return dao.getUuidAndTitleCache(clazz, termType, limit, pattern);
     }
 }