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/06/14 22:48:24 UTC
svn commit: r954638 - in /shindig/trunk/java/gadgets/src:
main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java
test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java
Author: lindner
Date: Mon Jun 14 20:48:23 2010
New Revision: 954638
URL: http://svn.apache.org/viewvc?rev=954638&view=rev
Log:
SHINDIG-803 | hasFeature does not work
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java?rev=954638&r1=954637&r2=954638&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java Mon Jun 14 20:48:23 2010
@@ -1,8 +1,10 @@
package org.apache.shindig.gadgets.config;
import com.google.common.collect.Maps;
+import com.google.inject.Inject;
import com.google.inject.Singleton;
import org.apache.shindig.gadgets.Gadget;
+import org.apache.shindig.gadgets.features.FeatureRegistry;
import org.apache.shindig.gadgets.spec.Feature;
import org.apache.shindig.gadgets.spec.ModulePrefs;
@@ -15,6 +17,13 @@ import java.util.Map;
*/
@Singleton
public class CoreUtilConfigContributor implements ConfigContributor {
+ private final FeatureRegistry registry;
+
+ @Inject
+ public CoreUtilConfigContributor(final FeatureRegistry registry) {
+ this.registry = registry;
+ }
+
/** {@inheritDoc} */
public void contribute(Map<String, Object> config, Gadget gadget) {
@@ -23,7 +32,10 @@ public class CoreUtilConfigContributor i
Collection<Feature> features = prefs.getFeatures().values();
Map<String, Map<String, Object>> featureMap = Maps.newHashMapWithExpectedSize(features.size());
for (Feature feature : features) {
-
+ // Skip unregistered features
+ if (!registry.getAllFeatureNames().contains(feature.getName())) {
+ continue;
+ }
// Flatten out the multimap a bit for backwards compatibility: map keys
// with just 1 value into the string, treat others as arrays
Map<String, Object> paramFeaturesInConfig = Maps.newHashMap();
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java?rev=954638&r1=954637&r2=954638&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java Mon Jun 14 20:48:23 2010
@@ -32,6 +32,7 @@ import static org.easymock.EasyMock.same
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertNull;
import org.apache.shindig.common.JsonAssert;
import org.apache.shindig.common.PropertiesModule;
@@ -109,7 +110,7 @@ public class RenderingGadgetRewriterTest
public void setUp() throws Exception {
featureRegistry = createMock(FeatureRegistry.class);
Map<String, ConfigContributor> configContributors = ImmutableMap.<String,ConfigContributor>of(
- "core.util", new CoreUtilConfigContributor(),
+ "core.util", new CoreUtilConfigContributor(featureRegistry),
"shindig.xhrwrapper", new XhrwrapperConfigContributor()
);
rewriter
@@ -561,6 +562,7 @@ public class RenderingGadgetRewriterTest
" <Param name='bar'>baz</Param>" +
" <Param name='bar'>bop</Param>" +
" </Require>" +
+ " <Require feature='unsupported'/>" +
"</ModulePrefs>" +
"<Content type='html'/>" +
"</Module>";
@@ -571,20 +573,22 @@ public class RenderingGadgetRewriterTest
ImmutableList.of(inline("foo", "foo-dbg"), inline("foo2", "foo2-dbg")),
ImmutableSet.<String>of(),
ImmutableList.<FeatureResource>of());
-
+
config.data.put(FEATURES_KEY, ImmutableMap.of("foo", "blah"));
String rewritten = rewrite(gadget, "");
JSONObject json = getConfigJson(rewritten);
assertEquals("blah", json.get("foo"));
-
+
JSONObject util = json.getJSONObject("core.util");
JSONObject foo = util.getJSONObject("foo");
assertEquals("baz", foo.get("bar"));
JSONObject foo2 = util.getJSONObject("foo2");
JsonAssert.assertObjectEquals(ImmutableList.of("baz", "bop"),
foo2.get("bar"));
+
+ assertTrue(!util.has("unsupported"));
}
// TODO: Test for auth token stuff.
@@ -957,6 +961,9 @@ public class RenderingGadgetRewriterTest
.andReturn(allFeatures);
expect(featureRegistry.getFeatures(eq(allFeaturesAndLibs)))
.andReturn(allFeaturesAndLibs);
+ // Add CoreUtilConfigContributor behavior
+ expect(featureRegistry.getAllFeatureNames()).
+ andReturn(ImmutableSet.of("foo", "foo2", "core.util")).anyTimes();
replay(featureRegistry);
}