Author: lindner
Date: Thu Jan 15 10:15:24 2009
New Revision: 734771

URL: http://svn.apache.org/viewvc?rev=734771&view=rev
Log:
SHINDIG-859 | Patch from Adam Winer | NullPointerException when locked domain 
verification fails

Modified:
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/Renderer.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingResults.java
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RendererTest.java

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/Renderer.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/Renderer.java?rev=734771&r1=734770&r2=734771&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/Renderer.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/Renderer.java
 Thu Jan 15 10:15:24 2009
@@ -19,7 +19,6 @@
 package org.apache.shindig.gadgets.render;
 
 import org.apache.shindig.common.ContainerConfig;
-import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.gadgets.Gadget;
 import org.apache.shindig.gadgets.GadgetContext;
 import org.apache.shindig.gadgets.GadgetException;
@@ -82,12 +81,12 @@
       }
 
       if (gadget.getCurrentView().getType() == View.ContentType.URL) {
-        return RenderingResults.mustRedirect(getRedirect(gadget));
+        return 
RenderingResults.mustRedirect(gadget.getCurrentView().getHref());
       }
 
       GadgetSpec spec = gadget.getSpec();
       if (!lockedDomainService.gadgetCanRender(context.getHost(), spec, 
context.getContainer())) {
-        return RenderingResults.mustRedirect(getRedirect(gadget));
+        return RenderingResults.error("Invalid domain");
       }
 
       return RenderingResults.ok(renderer.render(gadget));
@@ -139,15 +138,4 @@
     }
     return false;
   }
-
-  private Uri getRedirect(Gadget gadget) {
-    // TODO: This should probably just call UrlGenerator.getIframeUrl(), but 
really it should
-    // never happen.
-    View view = gadget.getCurrentView();
-    if (view.getType() == View.ContentType.URL) {
-      return gadget.getCurrentView().getHref();
-    }
-    // TODO
-    return null;
-  }
 }

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingResults.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingResults.java?rev=734771&r1=734770&r2=734771&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingResults.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingResults.java
 Thu Jan 15 10:15:24 2009
@@ -21,6 +21,8 @@
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.common.util.Check;
 
+import com.google.common.base.Preconditions;
+
 /**
  * Contains the results of a rendering operation.
  */
@@ -46,6 +48,7 @@
   }
 
   public static RenderingResults mustRedirect(Uri redirect) {
+    Preconditions.checkNotNull(redirect);
     return new RenderingResults(Status.MUST_REDIRECT, null, null, redirect);
   }
 

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RendererTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RendererTest.java?rev=734771&r1=734770&r2=734771&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RendererTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RendererTest.java
 Thu Jan 15 10:15:24 2009
@@ -20,7 +20,6 @@
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 import org.apache.shindig.common.ContainerConfigException;
@@ -162,12 +161,10 @@
   }
 
   @Test
-  public void wrongDomainRedirects() throws Exception {
+  public void wrongDomainFails() throws Exception {
     lockedDomainService.canRender = false;
     RenderingResults results = renderer.render(makeContext("html"));
-    assertEquals(RenderingResults.Status.MUST_REDIRECT, results.getStatus());
-    // TODO: Verify the real url for redirection.
-    assertNull(results.getRedirect());
+    assertEquals(RenderingResults.Status.ERROR, results.getStatus());
   }
 
   private static class FakeContainerConfig extends JsonContainerConfig {


Reply via email to