You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by zh...@apache.org on 2011/01/20 03:11:10 UTC

svn commit: r1061101 - /shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java

Author: zhoresh
Date: Thu Jan 20 02:11:10 2011
New Revision: 1061101

URL: http://svn.apache.org/viewvc?rev=1061101&view=rev
Log:
Allow overriding gadget url schema | http://codereview.appspot.com/4085041/

Modified:
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java?rev=1061101&r1=1061100&r2=1061101&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java Thu Jan 20 02:11:10 2011
@@ -65,6 +65,13 @@ public class Processor {
     this.featureRegistry = featureRegistry;
   }
 
+  protected void validateGadgetUrl(Uri url) throws ProcessingException {
+    if (!"http".equalsIgnoreCase(url.getScheme()) && !"https".equalsIgnoreCase(url.getScheme())) {
+      throw new ProcessingException("Unsupported scheme (must be http or https).",
+          HttpServletResponse.SC_FORBIDDEN);
+    }
+  }
+
   /**
    * Process a single gadget. Creates a gadget from a retrieved GadgetSpec and context object,
    * automatically performing variable substitution on the spec for use elsewhere.
@@ -79,15 +86,12 @@ public class Processor {
           HttpServletResponse.SC_BAD_REQUEST);
     }
 
-    if (!"http".equalsIgnoreCase(url.getScheme()) && !"https".equalsIgnoreCase(url.getScheme())) {
-      throw new ProcessingException("Unsupported scheme (must be http or https).",
-          HttpServletResponse.SC_FORBIDDEN);
-    }
+    validateGadgetUrl(url);
 
     if (blacklist.isBlacklisted(context.getUrl())) {
       if (LOG.isLoggable(Level.INFO)) {
         LOG.logp(Level.INFO, classname, "process", MessageKeys.RENDER_BLACKLISTED_GADGET, new Object[] {context.getUrl()});
-      } 
+      }
       throw new ProcessingException("The requested gadget is unavailable",
           HttpServletResponse.SC_FORBIDDEN);
     }
@@ -95,7 +99,7 @@ public class Processor {
     try {
       GadgetSpec spec = gadgetSpecFactory.getGadgetSpec(context);
       spec = substituter.substitute(context, spec);
-      
+
       if (context.getSanitize()) {
         spec = spec.removeUrlViews();
       }