You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by li...@apache.org on 2010/04/12 20:18:51 UTC

svn commit: r933346 - in /shindig/trunk/java/gadgets/src: main/java/org/apache/shindig/gadgets/ main/java/org/apache/shindig/gadgets/render/ main/java/org/apache/shindig/gadgets/rewrite/ main/java/org/apache/shindig/gadgets/variables/ test/java/org/apa...

Author: lindner
Date: Mon Apr 12 18:18:51 2010
New Revision: 933346

URL: http://svn.apache.org/viewvc?rev=933346&view=rev
Log:
SHINDIG-786 | DefaultMessageBundleFactory do not propagate container or gadget urls to HttpFetcher

Modified:
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultMessageBundleFactory.java
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/MessageBundleFactory.java
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/TemplateRewriter.java
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/variables/VariableSubstituter.java
    shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultMessageBundleFactoryTest.java
    shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/FakeMessageBundleFactory.java
    shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/variables/VariableSubstituterTest.java

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultMessageBundleFactory.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultMessageBundleFactory.java?rev=933346&r1=933345&r2=933346&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultMessageBundleFactory.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultMessageBundleFactory.java Mon Apr 12 18:18:51 2010
@@ -60,9 +60,9 @@ public class DefaultMessageBundleFactory
     return new MessageBundle(((LocaleQuery) query).locale, content);
   }
 
-  public MessageBundle getBundle(GadgetSpec spec, Locale locale, boolean ignoreCache)
+  public MessageBundle getBundle(GadgetSpec spec, Locale locale, boolean ignoreCache, String container)
       throws GadgetException {
-    MessageBundle exact = getBundleFor(spec, locale, ignoreCache);
+    MessageBundle exact = getBundleFor(spec, locale, ignoreCache, container);
 
     // We don't want to fetch the same bundle multiple times, so we verify that the exact match
     // has not already been fetched.
@@ -74,26 +74,26 @@ public class DefaultMessageBundleFactory
     if (isAllCountry) {
       lang = MessageBundle.EMPTY;
     } else {
-      lang = getBundleFor(spec, new Locale(locale.getLanguage(), "ALL"), ignoreCache);
+      lang = getBundleFor(spec, new Locale(locale.getLanguage(), "ALL"), ignoreCache, container);
     }
 
     if (isAllLanguage) {
       country = MessageBundle.EMPTY;
     } else {
-      country = getBundleFor(spec, new Locale("all", locale.getCountry()), ignoreCache);
+      country = getBundleFor(spec, new Locale("all", locale.getCountry()), ignoreCache, container);
     }
 
     if (isAllCountry || isAllLanguage) {
       // If either of these is true, we already picked up both anyway.
       all = MessageBundle.EMPTY;
     } else {
-      all = getBundleFor(spec, ALL_ALL, ignoreCache);
+      all = getBundleFor(spec, ALL_ALL, ignoreCache, container);
     }
 
     return new MessageBundle(all, country, lang, exact);
   }
 
-  private MessageBundle getBundleFor(GadgetSpec spec, Locale locale, boolean ignoreCache)
+  private MessageBundle getBundleFor(GadgetSpec spec, Locale locale, boolean ignoreCache, String container)
       throws GadgetException {
     LocaleSpec localeSpec = spec.getModulePrefs().getLocale(locale);
     if (localeSpec == null) {
@@ -107,8 +107,7 @@ public class DefaultMessageBundleFactory
     LocaleQuery query = new LocaleQuery();
     query.setSpecUri(localeSpec.getMessages())
          .setGadgetUri(spec.getUrl())
-         // TODO: Get the real container that was used during the request here.
-         .setContainer(ContainerConfig.DEFAULT_CONTAINER)
+         .setContainer(container)
          .setIgnoreCache(ignoreCache);
     query.locale = localeSpec;
 

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/MessageBundleFactory.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/MessageBundleFactory.java?rev=933346&r1=933345&r2=933346&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/MessageBundleFactory.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/MessageBundleFactory.java Mon Apr 12 18:18:51 2010
@@ -38,9 +38,10 @@ public interface MessageBundleFactory {
    * @param spec The gadget to inspect for Locales.
    * @param locale The language and country to get a message bundle for.
    * @param ignoreCache  True to bypass any caching of message bundles for debugging purposes.
+   * @param container The container that is requesting this message bundle
    * @return The newly created MesageBundle.
    * @throws GadgetException if retrieval fails for any reason.
    */
-  MessageBundle getBundle(GadgetSpec spec, Locale locale, boolean ignoreCache)
+  MessageBundle getBundle(GadgetSpec spec, Locale locale, boolean ignoreCache, String container)
       throws GadgetException;
 }

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java?rev=933346&r1=933345&r2=933346&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java Mon Apr 12 18:18:51 2010
@@ -172,7 +172,7 @@ public class RenderingGadgetRewriter imp
       Element mainScriptTag = document.createElement("script");
       GadgetContext context = gadget.getContext();
       MessageBundle bundle = messageBundleFactory.getBundle(
-          gadget.getSpec(), context.getLocale(), context.getIgnoreCache());
+          gadget.getSpec(), context.getLocale(), context.getIgnoreCache(), context.getContainer());
       injectMessageBundles(bundle, mainScriptTag);
       injectDefaultPrefs(gadget, mainScriptTag);
       injectPreloads(gadget, mainScriptTag);

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/TemplateRewriter.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/TemplateRewriter.java?rev=933346&r1=933345&r2=933346&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/TemplateRewriter.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/TemplateRewriter.java Mon Apr 12 18:18:51 2010
@@ -345,7 +345,7 @@ public class TemplateRewriter implements
       Gadget gadget = templateContext.getGadget();
       
       MessageBundle bundle = messageBundleFactory.getBundle(gadget.getSpec(),
-          gadget.getContext().getLocale(), gadget.getContext().getIgnoreCache());
+          gadget.getContext().getLocale(), gadget.getContext().getIgnoreCache(), gadget.getContext().getContainer());
       MessageELResolver messageELResolver = new MessageELResolver(expressions, bundle);
   
       int autoUpdateID = 0;

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/variables/VariableSubstituter.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/variables/VariableSubstituter.java?rev=933346&r1=933345&r2=933346&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/variables/VariableSubstituter.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/variables/VariableSubstituter.java Mon Apr 12 18:18:51 2010
@@ -44,7 +44,7 @@ public class VariableSubstituter {
    */
   public GadgetSpec substitute(GadgetContext context, GadgetSpec spec) throws GadgetException {
     MessageBundle bundle =
-        messageBundleFactory.getBundle(spec, context.getLocale(), context.getIgnoreCache());
+        messageBundleFactory.getBundle(spec, context.getLocale(), context.getIgnoreCache(), context.getContainer());
     String dir = bundle.getLanguageDirection();
 
     Substitutions substituter = new Substitutions();

Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultMessageBundleFactoryTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultMessageBundleFactoryTest.java?rev=933346&r1=933345&r2=933346&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultMessageBundleFactoryTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultMessageBundleFactoryTest.java Mon Apr 12 18:18:51 2010
@@ -31,6 +31,7 @@ import org.apache.shindig.common.cache.L
 import org.apache.shindig.common.testing.TestExecutorService;
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.common.util.TimeSource;
+import org.apache.shindig.config.ContainerConfig;
 import org.apache.shindig.gadgets.http.HttpRequest;
 import org.apache.shindig.gadgets.http.HttpResponse;
 import org.apache.shindig.gadgets.http.HttpResponseBuilder;
@@ -154,7 +155,7 @@ public class DefaultMessageBundleFactory
     expect(pipeline.execute(isA(HttpRequest.class))).andReturn(response);
     replay(pipeline);
 
-    MessageBundle bundle = bundleFactory.getBundle(gadgetSpec, LOCALE, true);
+    MessageBundle bundle = bundleFactory.getBundle(gadgetSpec, LOCALE, true, ContainerConfig.DEFAULT_CONTAINER);
 
     assertEquals(MSG_0_VALUE, bundle.getMessages().get(MSG_0_NAME));
     assertEquals(MSG_1_VALUE, bundle.getMessages().get(MSG_1_NAME));
@@ -164,7 +165,7 @@ public class DefaultMessageBundleFactory
 
   @Test
   public void getLangBundle() throws Exception {
-    MessageBundle bundle = bundleFactory.getBundle(gadgetSpec, LANG_LOCALE, true);
+    MessageBundle bundle = bundleFactory.getBundle(gadgetSpec, LANG_LOCALE, true, ContainerConfig.DEFAULT_CONTAINER);
 
     assertEquals(MSG_0_LANG_VALUE, bundle.getMessages().get(MSG_0_NAME));
     assertEquals(MSG_1_VALUE, bundle.getMessages().get(MSG_1_NAME));
@@ -174,7 +175,7 @@ public class DefaultMessageBundleFactory
 
   @Test
   public void getCountryBundle() throws Exception {
-    MessageBundle bundle = bundleFactory.getBundle(gadgetSpec, COUNTRY_LOCALE, true);
+    MessageBundle bundle = bundleFactory.getBundle(gadgetSpec, COUNTRY_LOCALE, true, ContainerConfig.DEFAULT_CONTAINER);
 
     assertEquals(MSG_0_COUNTRY_VALUE, bundle.getMessages().get(MSG_0_NAME));
     assertNull(bundle.getMessages().get(MSG_1_NAME));
@@ -184,7 +185,7 @@ public class DefaultMessageBundleFactory
 
   @Test
   public void getAllAllBundle() throws Exception {
-    MessageBundle bundle = bundleFactory.getBundle(gadgetSpec, new Locale("all", "ALL"), true);
+    MessageBundle bundle = bundleFactory.getBundle(gadgetSpec, new Locale("all", "ALL"), true, ContainerConfig.DEFAULT_CONTAINER);
     assertEquals(MSG_0_ALL_VALUE, bundle.getMessages().get(MSG_0_NAME));
     assertNull(bundle.getMessages().get(MSG_1_NAME));
     assertNull(bundle.getMessages().get(MSG_2_NAME));
@@ -203,7 +204,7 @@ public class DefaultMessageBundleFactory
     expect(pipeline.execute(isA(HttpRequest.class))).andReturn(allAllResponse);
 
     replay(pipeline);
-    MessageBundle bundle = bundleFactory.getBundle(externalSpec, LOCALE, true);
+    MessageBundle bundle = bundleFactory.getBundle(externalSpec, LOCALE, true, ContainerConfig.DEFAULT_CONTAINER);
     verify(pipeline);
 
     assertEquals("true", bundle.getMessages().get("lang"));
@@ -220,7 +221,7 @@ public class DefaultMessageBundleFactory
     expect(pipeline.execute(isA(HttpRequest.class))).andReturn(allAllResponse);
 
     replay(pipeline);
-    MessageBundle bundle = bundleFactory.getBundle(externalSpec, LANG_LOCALE, true);
+    MessageBundle bundle = bundleFactory.getBundle(externalSpec, LANG_LOCALE, true, ContainerConfig.DEFAULT_CONTAINER);
     verify(pipeline);
 
     assertEquals("true", bundle.getMessages().get("lang"));
@@ -236,7 +237,7 @@ public class DefaultMessageBundleFactory
     expect(pipeline.execute(isA(HttpRequest.class))).andReturn(allAllResponse);
 
     replay(pipeline);
-    MessageBundle bundle = bundleFactory.getBundle(externalSpec, COUNTRY_LOCALE, true);
+    MessageBundle bundle = bundleFactory.getBundle(externalSpec, COUNTRY_LOCALE, true, ContainerConfig.DEFAULT_CONTAINER);
     verify(pipeline);
 
     assertEquals("true", bundle.getMessages().get("country"));
@@ -250,7 +251,7 @@ public class DefaultMessageBundleFactory
     expect(pipeline.execute(isA(HttpRequest.class))).andReturn(allAllResponse);
 
     replay(pipeline);
-    MessageBundle bundle = bundleFactory.getBundle(externalSpec, new Locale("all", "ALL"), true);
+    MessageBundle bundle = bundleFactory.getBundle(externalSpec, new Locale("all", "ALL"), true, ContainerConfig.DEFAULT_CONTAINER);
     verify(pipeline);
 
     assertEquals("true", bundle.getMessages().get("all"));
@@ -263,8 +264,8 @@ public class DefaultMessageBundleFactory
     expect(pipeline.execute(isA(HttpRequest.class))).andReturn(response).once();
     replay(pipeline);
 
-    MessageBundle bundle0 = bundleFactory.getBundle(gadgetSpec, LOCALE, false);
-    MessageBundle bundle1 = bundleFactory.getBundle(gadgetSpec, LOCALE, false);
+    MessageBundle bundle0 = bundleFactory.getBundle(gadgetSpec, LOCALE, false, ContainerConfig.DEFAULT_CONTAINER);
+    MessageBundle bundle1 = bundleFactory.getBundle(gadgetSpec, LOCALE, false, ContainerConfig.DEFAULT_CONTAINER);
 
     verify(pipeline);
 
@@ -273,7 +274,7 @@ public class DefaultMessageBundleFactory
 
   @Test
   public void ignoreCacheDoesNotStore() throws Exception {
-    bundleFactory.getBundle(gadgetSpec, new Locale("all", "ALL"), true);
+    bundleFactory.getBundle(gadgetSpec, new Locale("all", "ALL"), true, ContainerConfig.DEFAULT_CONTAINER);
     assertEquals(0, cache.getSize());
   }
 
@@ -302,11 +303,11 @@ public class DefaultMessageBundleFactory
 
     time.set(System.currentTimeMillis());
 
-    MessageBundle bundle0 = bundleFactory.getBundle(gadgetSpec, LOCALE, false);
+    MessageBundle bundle0 = bundleFactory.getBundle(gadgetSpec, LOCALE, false, ContainerConfig.DEFAULT_CONTAINER);
 
     time.set(time.get() + MAX_AGE + 1);
 
-    MessageBundle bundle1 = bundleFactory.getBundle(gadgetSpec, LOCALE, false);
+    MessageBundle bundle1 = bundleFactory.getBundle(gadgetSpec, LOCALE, false, ContainerConfig.DEFAULT_CONTAINER);
 
     verify(pipeline);
 
@@ -321,7 +322,7 @@ public class DefaultMessageBundleFactory
         .andReturn(badResponse).once();
     replay(pipeline);
 
-    bundleFactory.getBundle(gadgetSpec, LOCALE, false);
+    bundleFactory.getBundle(gadgetSpec, LOCALE, false, ContainerConfig.DEFAULT_CONTAINER);
   }
 
   @Test
@@ -331,7 +332,7 @@ public class DefaultMessageBundleFactory
     MessageBundleFactory factory = new DefaultMessageBundleFactory(
         new TestExecutorService(), capturingFetcher, cacheProvider, MAX_AGE);
 
-    factory.getBundle(gadgetSpec, LOCALE, false);
+    factory.getBundle(gadgetSpec, LOCALE, false, ContainerConfig.DEFAULT_CONTAINER);
 
     assertEquals(MAX_AGE / 1000, capturingFetcher.request.getCacheTtl());
   }

Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/FakeMessageBundleFactory.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/FakeMessageBundleFactory.java?rev=933346&r1=933345&r2=933346&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/FakeMessageBundleFactory.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/FakeMessageBundleFactory.java Mon Apr 12 18:18:51 2010
@@ -29,7 +29,7 @@ import java.util.Locale;
  * Simple message bundle factory -- only honors inline bundles.
  */
 public class FakeMessageBundleFactory implements MessageBundleFactory {
-  public MessageBundle getBundle(GadgetSpec spec, Locale locale, boolean ignoreCache) {
+  public MessageBundle getBundle(GadgetSpec spec, Locale locale, boolean ignoreCache, String container) {
     LocaleSpec localeSpec = spec.getModulePrefs().getLocale(locale);
     if (localeSpec == null) {
       return MessageBundle.EMPTY;

Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/variables/VariableSubstituterTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/variables/VariableSubstituterTest.java?rev=933346&r1=933345&r2=933346&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/variables/VariableSubstituterTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/variables/VariableSubstituterTest.java Mon Apr 12 18:18:51 2010
@@ -96,7 +96,7 @@ public class VariableSubstituterTest {
 
   private static class FakeMessageBundleFactory implements MessageBundleFactory {
 
-    public MessageBundle getBundle(GadgetSpec spec, Locale locale, boolean ignoreCache)
+    public MessageBundle getBundle(GadgetSpec spec, Locale locale, boolean ignoreCache, String container)
         throws GadgetException {
       LocaleSpec localeSpec = spec.getModulePrefs().getLocale(locale);
       if (localeSpec == null) {