| 1 23 24 package org.mdarad.framework.facade; 25 26 import org.dataisland.primitives.bean.Localizable; 27 import org.dataisland.primitives.bean.LocalizationContext; 28 import org.dataisland.primitives.exception.LocalizationContextNotFoundException; 29 import org.dataisland.primitives.exception.LocalizationException; 30 import org.dataisland.primitives.util.Keys; 31 import org.dataisland.primitives.util.LocalizationUtils; 32 33 import java.util.ArrayList ; 34 import java.util.Collection ; 35 import java.util.List ; 36 37 44 public class LocalizationFacade { 45 private static LocalizationFacade instance = null; 46 47 private LocalizationFacade() { 48 } 49 50 static public LocalizationFacade getInstance() { 51 if (instance == null) instance = new LocalizationFacade(); 52 return instance; 53 } 54 55 56 64 public Collection localize(Collection localizableObjectCollection, LocalizationContext clientLocalizationContext, String humanReadableKey) throws LocalizationException { 65 org.dataisland.primitives.bean.LocalizationContext localizationContext = buildLocalizationContext(clientLocalizationContext, humanReadableKey); 66 LocalizationUtils.localize(localizableObjectCollection, localizationContext); 67 return localizableObjectCollection; 68 } 69 70 76 public org.dataisland.primitives.bean.LocalizationContext buildLocalizationContext(LocalizationContext clientLocalizationContext, String humanReadableKey) throws LocalizationException { 77 org.dataisland.primitives.bean.LocalizationContext lOutput = null; 78 org.dataisland.primitives.bean.LocalizationContext webLocalizationContext = null; 79 org.dataisland.primitives.bean.LocalizationContext systemLocalizationContext = null; 80 81 try { 82 webLocalizationContext = LocalizationContextDAO.getInstance().fetchLocalizationContextByHumanReadableKey(humanReadableKey); 83 } catch (LocalizationContextNotFoundException lcnfe) { 84 throw new LocalizationException("Could not find the web context localization context.", lcnfe); 85 } 86 87 systemLocalizationContext = getSystemLocalizationContext(); 88 List localizationContextList = new ArrayList (3); 89 localizationContextList.add(clientLocalizationContext); 90 localizationContextList.add(webLocalizationContext); 91 localizationContextList.add(systemLocalizationContext); 92 93 lOutput = org.dataisland.primitives.bean.LocalizationContext.merge(localizationContextList); 94 95 return lOutput; 96 } 97 98 public org.dataisland.primitives.bean.LocalizationContext getSystemLocalizationContext() throws LocalizationException { 99 LocalizationContext lOutput = null; 100 101 try { 102 lOutput = LocalizationContextDAO.getInstance().fetchLocalizationContextByHumanReadableKey(Keys.SYSTEMLOCALIZATIONCONTEXTHUMANREADABLEKEY_KEY); 103 } catch (org.dataisland.primitives.exception.LocalizationContextNotFoundException lcnfe) { 104 throw new LocalizationException("Could not find the system localization context.", lcnfe); 105 } 106 107 return lOutput; 108 } 109 110 118 public Localizable localize(Localizable localizableObject, org.dataisland.primitives.bean.LocalizationContext clientLocalizationContext, String humanReadableKey) throws LocalizationException { 119 org.dataisland.primitives.bean.LocalizationContext entityLocalizationContext = buildLocalizationContext(clientLocalizationContext, humanReadableKey); 120 org.dataisland.primitives.util.LocalizationUtils.localize(localizableObject, entityLocalizationContext); 121 return localizableObject; 122 } 123 } 124 | Popular Tags |