Author: etnu
Date: Tue Oct 7 15:04:01 2008
New Revision: 702654
URL: http://svn.apache.org/viewvc?rev=702654&view=rev
Log:
Applied patch for SHINDIG-640 from Adam Winer.
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingContentRewriter.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingContentRewriterTest.java
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingContentRewriter.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingContentRewriter.java?rev=702654&r1=702653&r2=702654&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingContentRewriter.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingContentRewriter.java
Tue Oct 7 15:04:01 2008
@@ -53,6 +53,7 @@
import java.util.Collection;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.logging.Level;
@@ -240,9 +241,11 @@
if (!unsupported.isEmpty()) {
// Remove non-required libs
- for (String missing : unsupported) {
+ Iterator<String> missingIter = unsupported.iterator();
+ while (missingIter.hasNext()) {
+ String missing = missingIter.next();
if (!features.get(missing).getRequired()) {
- unsupported.remove(missing);
+ missingIter.remove();
}
}
Modified:
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingContentRewriterTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingContentRewriterTest.java?rev=702654&r1=702653&r2=702654&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingContentRewriterTest.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingContentRewriterTest.java
Tue Oct 7 15:04:01 2008
@@ -497,6 +497,24 @@
// rewrite will throw if the optional unsupported feature doesn't work.
}
+ @Test
+ public void multipleUnsupportedOptionalFeaturesDoNotThrow() throws Exception
{
+ String gadgetXml =
+ "<Module><ModulePrefs title=''>" +
+ " <Optional feature='foo'/>" +
+ " <Optional feature='bar'/>" +
+ "</ModulePrefs>" +
+ "<Content type='html'/>" +
+ "</Module>";
+
+ Gadget gadget = makeGadgetWithSpec(gadgetXml);
+
+ control.replay();
+
+ rewrite(gadget, "");
+ // rewrite will throw if the optional unsupported feature doesn't work.
+ }
+
private JSONObject getPreloadedJson(String content) throws JSONException {
Pattern preloadPattern
=
Pattern.compile("(?:.*)gadgets\\.io\\.preloaded_=\\{(.*?)\\};(?:.*)",
Pattern.DOTALL);