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) {