Merge branch 'develop' of ssh://dev.e-taxonomy.eu/var/git/cdmlib into develop
[cdmlib.git] / cdmlib-services / src / main / java / eu / etaxonomy / cdm / api / service / LocationServiceImpl.java
index d540a9e2f5cad7e70ec3f56fc264ca668b73bb07..f2f160840939dcc0462c1e2929f33dad71bb2e1d 100644 (file)
@@ -20,26 +20,25 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
-import eu.etaxonomy.cdm.model.common.DefinedTermBase;
-import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;
-import eu.etaxonomy.cdm.model.common.TermVocabulary;
 import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
 import eu.etaxonomy.cdm.model.location.NamedArea;
 import eu.etaxonomy.cdm.model.location.NamedAreaLevel;
 import eu.etaxonomy.cdm.model.location.NamedAreaType;
-import eu.etaxonomy.cdm.persistence.dao.common.IDefinedTermDao;
-import eu.etaxonomy.cdm.persistence.dao.common.IOrderedTermVocabularyDao;
-import eu.etaxonomy.cdm.persistence.dao.common.ITermVocabularyDao;
+import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.OrderedTermVocabulary;
+import eu.etaxonomy.cdm.model.term.TermVocabulary;
+import eu.etaxonomy.cdm.persistence.dao.term.IDefinedTermDao;
+import eu.etaxonomy.cdm.persistence.dao.term.IOrderedTermVocabularyDao;
+import eu.etaxonomy.cdm.persistence.dao.term.ITermVocabularyDao;
 
 /**
  * Quick and dirty implementation of a location service as needed by the editor.
- * 
+ *
  * NOTE: Current implementation does not support the IService methods like {@link #save(DefinedTermBase)}
  * as no base dao is loaded by autowiring.
  *
  * @author n.hoffman
  * @since 08.04.2009
- * @version 1.0
  */
 @Service
 @Transactional(readOnly = true)
@@ -60,7 +59,7 @@ public class LocationServiceImpl extends ServiceBase<DefinedTermBase,IDefinedTer
     /* (non-Javadoc)
      * @see eu.etaxonomy.cdm.api.service.ServiceBase#setDao(eu.etaxonomy.cdm.persistence.dao.common.ICdmEntityDao)
      */
-    @Override 
+    @Override
     protected void setDao(IDefinedTermDao dao) {
         this.dao = dao;
     }
@@ -72,6 +71,7 @@ public class LocationServiceImpl extends ServiceBase<DefinedTermBase,IDefinedTer
      * FIXME Candidate for harmonization
      * is this method a duplicate of termService.getVocabulary(VocabularyEnum.PresenceTerm)
      */
+    @Override
     public OrderedTermVocabulary<PresenceAbsenceTerm> getPresenceAbsenceTermVocabulary() {
         String uuidString = "adbbbe15-c4d3-47b7-80a8-c7d104e53a05";
         UUID uuid = UUID.fromString(uuidString);
@@ -83,6 +83,7 @@ public class LocationServiceImpl extends ServiceBase<DefinedTermBase,IDefinedTer
     /* (non-Javadoc)
      * @see eu.etaxonomy.cdm.api.service.ILocationService#getNamedAreaVocabularyTypes()
      */
+    @Override
     public List<NamedAreaVocabularyType> getNamedAreaVocabularyTypes() {
         List<NamedAreaVocabularyType> result = new ArrayList<NamedAreaVocabularyType>(3);
         result.add(NamedAreaVocabularyType.TDWG_AREA);
@@ -95,6 +96,7 @@ public class LocationServiceImpl extends ServiceBase<DefinedTermBase,IDefinedTer
     /* (non-Javadoc)
      * @see eu.etaxonomy.cdm.api.service.ILocationService#getNamedAreas(java.lang.Object)
      */
+    @Override
     public OrderedTermVocabulary<NamedArea> getNamedAreaVocabulary(NamedAreaVocabularyType vocabularyType) {
 
         UUID namedAreaVocabularyUuid = null;
@@ -117,6 +119,7 @@ public class LocationServiceImpl extends ServiceBase<DefinedTermBase,IDefinedTer
     /* (non-Javadoc)
      * @see eu.etaxonomy.cdm.api.service.ILocationService#getNamedAreaLevelVocabulary()
      */
+    @Override
     public OrderedTermVocabulary<NamedAreaLevel> getNamedAreaLevelVocabulary() {
         // TODO return namedAreaLevel filtered by NamedAreaVocabularyType
         String uuidString = "49034253-27c8-4219-97e8-f8d987d3d122";
@@ -132,6 +135,7 @@ public class LocationServiceImpl extends ServiceBase<DefinedTermBase,IDefinedTer
      * FIXME Candidate for harmonization
      * is this method a duplicate of termService.getVocabulary(VocabularyEnum.NamedAreaType)
      */
+    @Override
     public TermVocabulary<NamedAreaType> getNamedAreaTypeVocabulary() {
         String uuidString = "e51d52d6-965b-4f7d-900f-4ba9c6f5dd33";
         UUID uuid = UUID.fromString(uuidString);
@@ -140,14 +144,15 @@ public class LocationServiceImpl extends ServiceBase<DefinedTermBase,IDefinedTer
         return namedAreaTypeVocabulary;
     }
 
+    @Override
     public List<NamedArea> getTopLevelNamedAreasByVocabularyType(NamedAreaVocabularyType vocabularyType){
 
         OrderedTermVocabulary<NamedArea> vocabulary = getNamedAreaVocabulary(vocabularyType);
 
-        List<NamedArea> topLevelTerms = new ArrayList<NamedArea>();
+        List<NamedArea> topLevelTerms = new ArrayList<>();
 
 //             for(NamedArea area : vocabulary){
-        Iterator<NamedArea> it = vocabulary.iterator();
+        Iterator<NamedArea> it = vocabulary.getTerms().iterator();
         while(it.hasNext()){
 
             NamedArea area =  HibernateProxyHelper.deproxy(it.next(), NamedArea.class);