1 23 24 25 package org.mdarad.framework.facade; 26 27 import java.util.List ; 28 29 import org.dataisland.primitives.bean.LocalizationContext; 30 import org.dataisland.primitives.exception.LocalizationContextNotFoundException; 31 import org.dataisland.primitives.exception.LocalizationException; 32 import org.hibernate.HibernateException; 33 import org.hibernate.Session; 34 import org.hibernate.criterion.Expression; 35 import org.mdarad.framework.dao.DAOException; 36 import org.mdarad.framework.dao.HibernateDAO; 37 38 45 public class LocalizationContextDAO extends HibernateDAO { 46 private static LocalizationContextDAO instance = null; 47 48 private LocalizationContextDAO() { 49 } 50 51 static public LocalizationContextDAO getInstance() { 52 if (instance == null) instance = new LocalizationContextDAO(); 53 return instance; 54 } 55 56 61 public org.dataisland.primitives.bean.LocalizationContext fetchLocalizationContextByHumanReadableKey(String humanReadableKey) throws LocalizationException, LocalizationContextNotFoundException { 62 if (humanReadableKey == null) { 63 throw new IllegalArgumentException ("The LocalizationContext's human readable key cannot be null."); 64 } 65 66 org.dataisland.primitives.bean.LocalizationContext lOutput = null; 67 68 try { 69 70 Session session = currentSession(); 72 73 try { 74 List lResults = session.createCriteria(LocalizationContext.class) 76 .add(Expression.eq("humanReadableKey", humanReadableKey)).list(); 77 if (lResults.size() == 0) throw new org.dataisland.primitives.exception.LocalizationContextNotFoundException("The requested localization context cannot be found."); 78 lOutput = (org.dataisland.primitives.bean.LocalizationContext) lResults.get(0); 79 } catch (HibernateException he) { 80 throw new LocalizationException(he); 81 } finally { 82 closeSession(); 84 } 85 } catch (DAOException bse) { 86 throw new LocalizationException(bse); 87 } 88 return lOutput; 89 } 90 91 } 92 | Popular Tags |