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

Untitled

By: a guest on Nov 4th, 2011  |  syntax: None  |  size: 2.79 KB  |  views: 23  |  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. From d2e1f79bf845bf7633ce4b82d9cf840e5d76cc94 Mon Sep 17 00:00:00 2001
  2. From: unknown <karlsnic@.fi.dom>
  3. Date: Fri, 4 Nov 2011 13:54:36 +0200
  4. Subject: [PATCH] bundle loader
  5.  
  6. ---
  7.  .../international/status/ApplicationBundles.java   |   21 ++++++++++++++-----
  8.  .../seam/international/status/BundleLoader.java    |    9 ++++++++
  9.  2 files changed, 24 insertions(+), 6 deletions(-)
  10.  create mode 100644 api/src/main/java/org/jboss/seam/international/status/BundleLoader.java
  11.  
  12. diff --git a/api/src/main/java/org/jboss/seam/international/status/ApplicationBundles.java b/api/src/main/java/org/jboss/seam/international/status/ApplicationBundles.java
  13. index 59048ab..0b32c63 100644
  14. --- a/api/src/main/java/org/jboss/seam/international/status/ApplicationBundles.java
  15. +++ b/api/src/main/java/org/jboss/seam/international/status/ApplicationBundles.java
  16. @@ -25,6 +25,7 @@ import java.util.Set;
  17.  import java.util.concurrent.ConcurrentHashMap;
  18.  
  19.  import javax.enterprise.context.ApplicationScoped;
  20. +import javax.enterprise.inject.Instance;
  21.  import javax.inject.Inject;
  22.  
  23.  /**
  24. @@ -43,6 +44,9 @@ public class ApplicationBundles implements Serializable {
  25.      @Inject
  26.      Locale appLocale;
  27.  
  28. +    @Inject
  29. +    Instance<BundleLoader> bundleLoader;    
  30. +    
  31.      public ApplicationBundles() {
  32.      }
  33.  
  34. @@ -71,12 +75,17 @@ public class ApplicationBundles implements Serializable {
  35.      }
  36.  
  37.      public ResourceBundle get(final Locale locale, final Object key) {
  38. -        containsLocaleMap(locale);
  39. -        if (!bundles.get(locale).containsKey(key)) {
  40. -            ResourceBundle bundle = ResourceBundle.getBundle(key.toString(), locale);
  41. -            put(locale, key.toString(), bundle);
  42. -        }
  43. -        return bundles.get(locale).get(key);
  44. +       containsLocaleMap(locale);
  45. +       if (!bundles.get(locale).containsKey(key)) {
  46. +          ResourceBundle bundle = null;
  47. +          if (bundleLoader.isUnsatisfied()) {
  48. +               bundle = ResourceBundle.getBundle(key.toString(), locale);
  49. +          } else  {
  50. +               bundle = bundleLoader.get().loadBundle(locale, key.toString());
  51. +          }
  52. +           put(locale, key.toString(), bundle);
  53. +       }
  54. +       return bundles.get(locale).get(key);
  55.      }
  56.  
  57.      public boolean isEmpty(final Locale locale) {
  58. diff --git a/api/src/main/java/org/jboss/seam/international/status/BundleLoader.java b/api/src/main/java/org/jboss/seam/international/status/BundleLoader.java
  59. new file mode 100644
  60. index 0000000..c3c5461
  61. --- /dev/null
  62. +++ b/api/src/main/java/org/jboss/seam/international/status/BundleLoader.java
  63. @@ -0,0 +1,9 @@
  64. +package org.jboss.seam.international.status;
  65. +
  66. +import java.util.Locale;
  67. +import java.util.ResourceBundle;
  68. +
  69. +public interface BundleLoader
  70. +{
  71. +       public ResourceBundle loadBundle(Locale locale, String key);
  72. +}
  73. --
  74. 1.7.0.2.msysgit.0
  75.  
  76.  
clone this paste RAW Paste Data