You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by jo...@apache.org on 2009/11/10 22:36:15 UTC
svn commit: r834682 - in /incubator/shindig/trunk/java/gadgets/src:
main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java
test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java
Author: johnh
Date: Tue Nov 10 21:36:15 2009
New Revision: 834682
URL: http://svn.apache.org/viewvc?rev=834682&view=rev
Log:
Restore "optional" semantics to externalized/libs= features.
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java?rev=834682&r1=834681&r2=834682&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java Tue Nov 10 21:36:15 2009
@@ -240,7 +240,8 @@
List<FeatureResource> externResources =
featureRegistry.getFeatureResources(gadget.getContext(), extern, unsupported);
if (!unsupported.isEmpty()) {
- throw new UnsupportedFeatureException("In extern &libs=: " + unsupported.toString());
+ LOG.info("Unknown feature(s) in extern &libs=: " + unsupported.toString());
+ unsupported.clear();
}
// Get all resources requested by the gadget's requires/optional features.
Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java?rev=834682&r1=834681&r2=834682&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java Tue Nov 10 21:36:15 2009
@@ -626,6 +626,9 @@
reset(featureRegistry);
expect(featureRegistry.getFeatureResources(same(gadget.getContext()),
eq(ImmutableSet.<String>of()), eq(Lists.<String>newArrayList())))
+ .andReturn(ImmutableList.<FeatureResource>of());
+ expect(featureRegistry.getFeatureResources(same(gadget.getContext()),
+ eq(ImmutableList.<String>of("foo", "core")), eq(Lists.<String>newArrayList())))
.andAnswer(new IAnswer<List<FeatureResource>>() {
@SuppressWarnings("unchecked")
public List<FeatureResource> answer() throws Throwable {
@@ -638,6 +641,47 @@
rewrite(gadget, "");
}
+
+ @Test
+ public void unsupportedExternFeatureDoesNotThrow() throws Exception {
+ String gadgetXml =
+ "<Module><ModulePrefs title=''>" +
+ "</ModulePrefs>" +
+ "<Content type='html'/>" +
+ "</Module>";
+
+ GadgetContext context = new GadgetContext() {
+ @Override
+ public String getParameter(String name) {
+ if (name.equals("libs")) {
+ return "bar";
+ }
+ return null;
+ }
+ };
+
+ Gadget gadget = makeGadgetWithSpec(gadgetXml).setContext(context);
+
+ reset(featureRegistry);
+ expect(featureRegistry.getFeatureResources(same(gadget.getContext()),
+ eq(ImmutableSet.<String>of("bar")), eq(Lists.<String>newArrayList())))
+ .andAnswer(new IAnswer<List<FeatureResource>>() {
+ @SuppressWarnings("unchecked")
+ public List<FeatureResource> answer() throws Throwable {
+ List<String> unsupported = (List<String>)getCurrentArguments()[2];
+ unsupported.add("bar");
+ return Lists.newArrayList();
+ }
+ });
+ expect(featureRegistry.getFeatureResources(same(gadget.getContext()),
+ eq(ImmutableList.<String>of("core")), eq(Lists.<String>newArrayList())))
+ .andReturn(ImmutableList.<FeatureResource>of());
+ expect(featureRegistry.getFeatures(eq(ImmutableList.of("core", "bar"))))
+ .andReturn(ImmutableList.of("core"));
+ replay(featureRegistry);
+
+ rewrite(gadget, "");
+ }
@Test
public void unsupportedOptionalFeatureDoesNotThrow() throws Exception {