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);
   }