You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by ga...@apache.org on 2010/10/27 08:12:22 UTC

svn commit: r1027824 - in /shindig/trunk/java/gadgets/src: main/java/org/apache/shindig/gadgets/uri/ test/java/org/apache/shindig/gadgets/uri/

Author: gagan
Date: Wed Oct 27 06:12:22 2010
New Revision: 1027824

URL: http://svn.apache.org/viewvc?rev=1027824&view=rev
Log:
Patch by gagan.goku | Issue 2646041: Setting return-original-content-on-error for accel container | http://codereview.appspot.com/2646041/

Added:
    shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/ProxyUriManagerTest.java   (with props)
Modified:
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriManager.java
    shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultAccelUriManagerTest.java

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriManager.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriManager.java?rev=1027824&r1=1027823&r2=1027824&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriManager.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriManager.java Wed Oct 27 06:12:22 2010
@@ -56,7 +56,8 @@ public interface ProxyUriManager {
 
     // If "true" then the original content should be returned to the user
     // instead of internal server errors.
-    private String returnOriginalContentOnError;
+    @VisibleForTesting
+    String returnOriginalContentOnError;
 
     // The html tag that requested this ProxyUri.
     private String htmlTagContext;
@@ -64,12 +65,18 @@ public interface ProxyUriManager {
     public ProxyUri(Gadget gadget, Uri resource) {
       super(gadget);
       this.resource = resource;
+      if (AccelUriManager.CONTAINER.equals(gadget.getContext().getContainer())) {
+        setReturnOriginalContentOnError(true);
+      }
     }
 
     public ProxyUri(Integer refresh, boolean debug, boolean noCache,
         String container, String gadget, Uri resource) {
       super(UriStatus.VALID_UNVERSIONED, refresh, debug, noCache, container, gadget);
       this.resource = resource;
+      if (AccelUriManager.CONTAINER.equals(container)) {
+        setReturnOriginalContentOnError(true);
+      }
     }
 
     public ProxyUri(UriStatus status, Uri resource, Uri base) {

Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultAccelUriManagerTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultAccelUriManagerTest.java?rev=1027824&r1=1027823&r2=1027824&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultAccelUriManagerTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultAccelUriManagerTest.java Wed Oct 27 06:12:22 2010
@@ -64,7 +64,7 @@ public class DefaultAccelUriManagerTest 
     assertEquals(Uri.parse("//apache.org/gadgets/accel?container=accel"
                  + "&gadget=http%3A%2F%2Fwww.example.org%2Findex.html"
                  + "&debug=0&nocache=0&refresh=0"
-                 + "&url=http%3A%2F%2Fwww.example.org%2Findex.html"),
+                 + "&rooe=1&url=http%3A%2F%2Fwww.example.org%2Findex.html"),
                  uriManager.parseAndNormalize(req));
 
     uri = Uri.parse("http://www.example.org/index.html");
@@ -73,7 +73,7 @@ public class DefaultAccelUriManagerTest 
     assertEquals(Uri.parse("//apache.org/gadgets/accel?container=accel"
                  + "&gadget=http%3A%2F%2Fwww.example.org%2Findex.html"
                  + "&debug=0&nocache=0&refresh=0"
-                 + "&url=http%3A%2F%2Fwww.example.org%2Findex.html"),
+                 + "&rooe=1&url=http%3A%2F%2Fwww.example.org%2Findex.html"),
                  uriManager.parseAndNormalize(req));
   }
 

Added: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/ProxyUriManagerTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/ProxyUriManagerTest.java?rev=1027824&view=auto
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/ProxyUriManagerTest.java (added)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/ProxyUriManagerTest.java Wed Oct 27 06:12:22 2010
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.shindig.gadgets.uri;
+
+import org.apache.shindig.common.uri.Uri;
+import org.apache.shindig.gadgets.Gadget;
+import org.apache.shindig.gadgets.GadgetContext;
+import org.apache.shindig.gadgets.spec.GadgetSpec;
+import org.apache.shindig.gadgets.spec.SpecParserException;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+/**
+ * Tests for ProxyUriManager.
+ */
+public class ProxyUriManagerTest {
+  final static Uri URI = Uri.parse("http://www.example.org");
+
+  private Gadget getGadget(final String container) throws SpecParserException {
+    GadgetSpec spec = new GadgetSpec(URI,
+        "<Module><ModulePrefs author=\"a\" title=\"t\"></ModulePrefs>" +
+        "<Content></Content></Module>");
+    return new Gadget().setContext(new GadgetContext() {
+      @Override
+      public String getParameter(String name) {
+        return "0";
+      }
+
+      @Override
+      public String getContainer() {
+        return container;
+      }
+    }).setSpec(spec);
+  }
+
+  @Test
+  public void testReturnOrigContentOnErrorNullWhenNullContainer() throws Exception {
+    ProxyUriManager.ProxyUri proxyUri = new ProxyUriManager.ProxyUri(
+        0, true, false, null, "test", URI);
+    assertNull(proxyUri.returnOriginalContentOnError);
+
+    proxyUri = new ProxyUriManager.ProxyUri(getGadget(null), URI);
+    assertNull(proxyUri.returnOriginalContentOnError);
+  }
+
+  @Test
+  public void testReturnOrigContentOnErrorNullWhenNonAccelContainer() throws Exception {
+    ProxyUriManager.ProxyUri proxyUri = new ProxyUriManager.ProxyUri(
+        0, true, false, "dummy", "test", Uri.parse("http://www.example.org"));
+    assertNull(proxyUri.returnOriginalContentOnError);
+
+    proxyUri = new ProxyUriManager.ProxyUri(getGadget("dummy"), URI);
+    assertNull(proxyUri.returnOriginalContentOnError);
+  }
+
+  @Test
+  public void testReturnOrigContentOnErrorTrueWhenAccelContainer() throws Exception {
+    ProxyUriManager.ProxyUri proxyUri = new ProxyUriManager.ProxyUri(
+        0, true, false, "accel", "test", Uri.parse("http://www.example.org"));
+    assertEquals("1", proxyUri.returnOriginalContentOnError);
+
+    proxyUri = new ProxyUriManager.ProxyUri(getGadget("accel"), URI);
+    assertEquals("1", proxyUri.returnOriginalContentOnError);
+  }
+}

Propchange: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/ProxyUriManagerTest.java
------------------------------------------------------------------------------
    svn:eol-style = native