Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Aug 31st, 2011  |  syntax: None  |  size: 2.29 KB  |  views: 57  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. package fi.affecto.osti.fwkint.seam.international.status;
  2.  
  3. import java.io.Serializable;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Locale;
  7. import java.util.Map;
  8. import java.util.ResourceBundle;
  9.  
  10. import javax.inject.Inject;
  11. import javax.persistence.EntityManager;
  12.  
  13. import fi.affecto.osti.fwkint.jsf.el.ELResolvingResourceBundle;
  14. import fi.affecto.osti.fwkint.seam.exception.ExceptionHandled;
  15. import fi.affecto.osti.fwkint.seam.international.status.FrameworkMessu.Messutyyppi;
  16. import fi.affecto.osti.installaatio.Asetukset;
  17.  
  18. @ExceptionHandled
  19. public class DBResourceLoader implements Serializable
  20. {
  21.         private static final long serialVersionUID = 1L;
  22.  
  23.         @Inject
  24.         private Asetukset asetukset;
  25.  
  26.         @Inject
  27.         private EntityManager entityManager;
  28.  
  29.         public ResourceBundle loadJSFBundleFor(Locale locale)
  30.         {
  31.                 return haeJarjestelmamessut(locale, Messutyyppi.JSF);
  32.         }
  33.  
  34.         public ResourceBundle loadBeanValidationBundleFor(Locale locale)
  35.         {
  36.                 return haeJarjestelmamessut(locale, Messutyyppi.BV);
  37.         }
  38.  
  39.         public ResourceBundle loadMessageBundleFor(Locale locale, String toiminto)
  40.         {
  41.                 return haeSovellusmessut(locale, toiminto.toLowerCase());
  42.         }
  43.  
  44.         private ResourceBundle haeJarjestelmamessut(Locale locale, Messutyyppi tyyppi)
  45.         {
  46.                 List<FrameworkMessu> messut = entityManager.createNamedQuery("frameworkmessut", FrameworkMessu.class).setParameter("kieli", locale.getLanguage().toUpperCase()).setParameter("tyyppi", tyyppi)
  47.                                 .getResultList();
  48.                 Map<String, String> messumappaus = new HashMap<String, String>();
  49.                 for (FrameworkMessu messu : messut)
  50.                 {
  51.                         messumappaus.put(messu.getTunnus(), messu.getViesti());
  52.                 }
  53.                 return new MissingAwareResourceBundle(messumappaus);
  54.         }
  55.  
  56.         private ResourceBundle haeSovellusmessut(Locale locale, String toiminto)
  57.         {
  58.                 List<SovellusMessu> sovellusMessut = entityManager.createNamedQuery("sovellusmessut", SovellusMessu.class).setParameter("installaatio", asetukset.getInstallaatio())
  59.                                 .setParameter("kieli", locale.getLanguage().toLowerCase()).getResultList();
  60.                 Map<String, String> hoputemappaus = new HashMap<String, String>();
  61.                 for (SovellusMessu sovellusMessu : sovellusMessut)
  62.                 {
  63.                         hoputemappaus.put(sovellusMessu.getId().getAvain(), sovellusMessu.getViesti());
  64.                 }
  65.                 return new ELResolvingResourceBundle(hoputemappaus);
  66.         }
  67.  
  68. }
clone this paste RAW Paste Data