1 package com.dotmarketing.portlets.languagesmanager.factories; 2 3 import java.util.List ; 4 5 import com.dotmarketing.db.DotHibernate; 6 import com.dotmarketing.exception.DotRuntimeException; 7 import com.dotmarketing.portlets.languagesmanager.model.Language; 8 import com.dotmarketing.util.Config; 9 import com.dotmarketing.util.Logger; 10 import com.dotmarketing.util.UtilMethods; 11 12 13 17 public class LanguageFactory { 18 19 public static void deleteLanguage(Language language) { 20 DotHibernate.delete(language); 21 } 22 23 public static Language getLanguage(String languageCode, String countryCode) { 24 try { 25 DotHibernate dh = new DotHibernate(Language.class); 26 dh.setQuery( 27 "from language in class com.dotmarketing.portlets.languagesmanager.model.Language where language_code = ? and country_code = ?"); 28 dh.setParam(languageCode); 29 dh.setParam(countryCode); 30 31 return (Language) dh.load(); 32 } catch (Exception e) { 33 Logger.error(LanguageFactory.class, "getLanguage failed:" + e, e); 34 throw new DotRuntimeException(e.toString()); 35 } 36 } 37 38 public static Language getLanguage(String id) { 39 long x = 1; 40 41 try { 42 x = Long.parseLong(id); 43 } catch (Exception e) { 44 } 45 46 return getLanguage(x); 47 } 48 49 public static Language createDefaultLanguage() { 50 Language language = getLanguage (Config.getStringProperty("DEFAULT_LANGUAGE_CODE"), Config.getStringProperty("DEFAULT_LANGUAGE_COUNTRY_CODE")); 51 language.setCountry(Config.getStringProperty("DEFAULT_LANGUAGE_COUNTRY")); 52 language.setCountryCode(Config.getStringProperty("DEFAULT_LANGUAGE_COUNTRY_CODE")); 53 language.setLanguage(Config.getStringProperty("DEFAULT_LANGUAGE_STR")); 54 language.setLanguageCode(Config.getStringProperty("DEFAULT_LANGUAGE_CODE")); 55 56 DotHibernate.save(language); 58 return language; 59 } 60 61 public static Language getLanguage(long id) { 62 try { 63 DotHibernate dh = new DotHibernate(Language.class); 64 dh.setQuery("from language in class com.dotmarketing.portlets.languagesmanager.model.Language where id = ? "); 65 dh.setParam(id); 66 67 return (Language) dh.load(); 68 } catch (Exception e) { 69 Logger.error(LanguageFactory.class, "getLanguage failed:" + e, e); 70 throw new DotRuntimeException(e.toString()); 71 } 72 } 73 74 public static List <Language> getLanguages() { 75 try { 76 DotHibernate dh = new DotHibernate(Language.class); 77 dh.setQuery("from language in class com.dotmarketing.portlets.languagesmanager.model.Language order by id"); 78 79 return dh.list(); 80 } catch (Exception e) { 81 Logger.error(LanguageFactory.class, "getLanguages failed:" + e, e); 82 throw new DotRuntimeException(e.toString()); 83 } 84 } 85 86 public static void saveLanguage(Language o) { 87 DotHibernate.saveOrUpdate(o); 88 } 89 90 public static String getLanguageCodeAndCountry(long id, String langId) { 91 try { 92 DotHibernate dh = new DotHibernate(Language.class); 93 94 if (id == 0 && UtilMethods.isSet(langId)) { 95 try { 96 id = Long.parseLong(langId); 97 } catch (Exception e) { 98 } 99 } 100 101 Language language = null; 102 103 if (id > 0) { 104 dh.setQuery("from language in class com.dotmarketing.portlets.languagesmanager.model.Language where id = ? "); 105 dh.setParam(id); 106 language = (Language) dh.load(); 107 } else { 108 language = getLanguage (Config.getStringProperty("DEFAULT_LANGUAGE_CODE"), Config.getStringProperty("DEFAULT_LANGUAGE_COUNTRY_CODE")); 109 } 110 111 return language.getLanguageCode() + "_" + language.getCountryCode(); 112 } catch (Exception e) { 113 Logger.warn(LanguageFactory.class, "getLanguageCode failed:" + e, e); 114 } 115 116 return Config.getStringProperty("DEFAULT_LANGUAGE"); 117 } 118 119 private static Language defaultLanguage; 120 121 public static Language getDefaultLanguage () { 122 if (defaultLanguage == null) { 123 defaultLanguage = getLanguage (Config.getStringProperty("DEFAULT_LANGUAGE_CODE"), Config.getStringProperty("DEFAULT_LANGUAGE_COUNTRY_CODE")); 124 if (defaultLanguage.getId() == 0) 125 defaultLanguage = createDefaultLanguage(); 126 } 127 return defaultLanguage; 128 } 129 } 130 | Popular Tags |