You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by jt...@apache.org on 2011/05/04 01:46:46 UTC
svn commit: r1099297 - in /shindig/trunk/java/gadgets/src:
main/java/org/apache/shindig/gadgets/js/ConfigInjectionProcessor.java
test/java/org/apache/shindig/gadgets/js/ConfigInjectionProcessorTest.java
Author: jtarrio
Date: Tue May 3 23:46:45 2011
New Revision: 1099297
URL: http://svn.apache.org/viewvc?rev=1099297&view=rev
Log:
Do not initialize gadgets.config if no matching features have configuration.
gadgets.config is now always initialized to an empty object, so it is not
necessary to do it every time. Therefore, skip initialization when the
configuration is empty.
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/ConfigInjectionProcessor.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/js/ConfigInjectionProcessorTest.java
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/ConfigInjectionProcessor.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/ConfigInjectionProcessor.java?rev=1099297&r1=1099296&r2=1099297&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/ConfigInjectionProcessor.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/ConfigInjectionProcessor.java Tue May 3 23:46:45 2011
@@ -50,8 +50,7 @@ public class ConfigInjectionProcessor im
this.configContributors = configContributors;
}
- public boolean process(JsRequest request, JsResponseBuilder builder)
- throws JsException {
+ public boolean process(JsRequest request, JsResponseBuilder builder) {
JsUri jsUri = request.getJsUri();
GadgetContext ctx = new JsGadgetContext(jsUri);
@@ -78,8 +77,10 @@ public class ConfigInjectionProcessor im
contributor.contribute(config, container, request.getHost());
}
}
- builder.appendJs(
- "gadgets.config.init(" + JsonSerializer.serialize(config) + ");\n", CONFIG_INIT_ID);
+ if (!config.isEmpty()) {
+ builder.appendJs(
+ "gadgets.config.init(" + JsonSerializer.serialize(config) + ");\n", CONFIG_INIT_ID);
+ }
}
}
return true;
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/js/ConfigInjectionProcessorTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/js/ConfigInjectionProcessorTest.java?rev=1099297&r1=1099296&r2=1099297&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/js/ConfigInjectionProcessorTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/js/ConfigInjectionProcessorTest.java Tue May 3 23:46:45 2011
@@ -96,6 +96,35 @@ public class ConfigInjectionProcessorTes
}
@Test
+ public void containerNoMatchingFeaturesDoesNothing() throws Exception {
+ checkNoMatchingFeaturesDoesNothing(RenderingContext.CONTAINER);
+ }
+
+ @Test
+ public void configuredNoMatchingFeaturesDoesNothing() throws Exception {
+ checkNoMatchingFeaturesDoesNothing(RenderingContext.CONFIGURED_GADGET);
+ }
+
+ private void checkNoMatchingFeaturesDoesNothing(RenderingContext ctx) throws Exception {
+ JsResponseBuilder builder = prepareRequestReturnBuilder(ctx );
+ Map<String, Object> baseConfig = Maps.newHashMap();
+ baseConfig.put("feature1", "config1");
+ Map<String, String> f2MapConfig = Maps.newHashMap();
+ f2MapConfig.put("key1", "val1");
+ f2MapConfig.put("key2", "val2");
+ baseConfig.put("feature2", f2MapConfig);
+ expect(containerConfig.getMap(CONTAINER, ConfigInjectionProcessor.GADGETS_FEATURES_KEY))
+ .andReturn(baseConfig);
+ List<String> libs = ImmutableList.of("lib1", "lib2");
+ expect(jsUri.getLibs()).andReturn(libs);
+ expect(registry.getFeatures(libs)).andReturn(libs);
+ control.replay();
+ assertTrue(processor.process(request, builder));
+ control.verify();
+ assertEquals(BASE_CODE, builder.build().toJsString());
+ }
+
+ @Test
public void containerNoContributorsGetsBase() throws Exception {
checkNoContributorsGetsBase(RenderingContext.CONTAINER);
}