getters to retrieve lists of languages by lists of iso codes or locales
authorAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Wed, 11 Jun 2008 08:41:35 +0000 (08:41 +0000)
committerAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Wed, 11 Jun 2008 08:41:35 +0000 (08:41 +0000)
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/common/IDefinedTermDao.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/common/DefinedTermDaoImpl.java

index 56069d6cd306adc438d0799ba1f474e06ddc4cd0..b411a8242911b15b6adfe167f921ca44010a00e1 100644 (file)
@@ -9,6 +9,10 @@
 
 package eu.etaxonomy.cdm.persistence.dao.common;
 
+import java.util.Enumeration;
+import java.util.List;
+import java.util.Locale;
+
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;
 import eu.etaxonomy.cdm.model.common.Language;
 
@@ -20,6 +24,10 @@ public interface IDefinedTermDao extends ICdmEntityDao<DefinedTermBase>, ITitled
         * @return the Language or null
         */
        public Language getLangaugeByIso(String iso639);
+       
+       public List<Language> getLangaugesByIso(List<String> iso639List);
+       
+       public List<Language> getLangaugesByLocale(Enumeration<Locale> locales);
 
        
 }
index 754d67c11ab0bb6a9ba9f4da5bb5b72c7a55b548..17c2c703593c7578918ffdb30883339eb8f645bd 100644 (file)
@@ -9,7 +9,10 @@
 
 package eu.etaxonomy.cdm.persistence.dao.hibernate.common;
 
+import java.util.ArrayList;
+import java.util.Enumeration;
 import java.util.List;
+import java.util.Locale;
 import java.util.UUID;
 
 import org.apache.log4j.Logger;
@@ -52,6 +55,23 @@ public class DefinedTermDaoImpl extends CdmEntityDaoBase<DefinedTermBase> implem
                query.setParameter("isoCode", iso639);
                return (Language) query.uniqueResult();
        }
+       
+       public List<Language> getLangaugesByIso(List<String> iso639List) {
+               List<Language> languages = new ArrayList<Language>(iso639List.size());
+               for (String iso639 : iso639List) {
+                       languages.add(getLangaugeByIso(iso639));
+               }
+               return languages;
+       }
+       
+       public List<Language> getLangaugesByLocale(Enumeration<Locale> locales) {
+               List<Language> languages = new ArrayList<Language>();
+               while(locales.hasMoreElements()) {
+                       Locale locale = locales.nextElement();
+                       languages.add(getLangaugeByIso(locale.getLanguage()));          
+               }
+               return languages;
+       }
 
 //     @Override
 //     public List<DefinedTermBase> list(int limit, int start) {