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


Reply via email to