You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by jo...@apache.org on 2011/05/13 22:13:58 UTC

svn commit: r1102885 - in /shindig/trunk: config/ java/gadgets/src/main/java/org/apache/shindig/gadgets/js/ java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ java/server/src/main/webapp/WEB-INF/

Author: johnh
Date: Fri May 13 20:13:58 2011
New Revision: 1102885

URL: http://svn.apache.org/viewvc?rev=1102885&view=rev
Log:
Pull host-substitution logic into a Provider model.

In a followup, we should probably remove this in favor of pulling the logic into ContainerConfig.


Modified:
    shindig/trunk/config/container.js
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/DefaultJsProcessorRegistry.java
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/JsResponseBuilder.java
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManager.java
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultIframeUriManager.java
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java
    shindig/trunk/java/server/src/main/webapp/WEB-INF/web.xml

Modified: shindig/trunk/config/container.js
URL: http://svn.apache.org/viewvc/shindig/trunk/config/container.js?rev=1102885&r1=1102884&r2=1102885&view=diff
==============================================================================
--- shindig/trunk/config/container.js (original)
+++ shindig/trunk/config/container.js Fri May 13 20:13:58 2011
@@ -103,13 +103,13 @@
 //"gadgets.securityTokenKeyFile" : "/path/to/key/file.txt",
 
 // URI for the default shindig test instance.
-//"defaultShindigTestHost": "http://${SERVER_HOST}:${SERVER_PORT}",
-"defaultShindigTestHost":"http://%host%",
+"defaultShindigTestHost": "http://${SERVER_HOST}:${SERVER_PORT}",
+//"defaultShindigTestHost":"http://%host%",
 
 
 // Authority (host:port without scheme) for the proxy and concat servlets.
-//"defaultShindigProxyConcatAuthority": "${SERVER_HOST}:${SERVER_PORT}",
-"defaultShindigProxyConcatAuthority":"%host%",
+"defaultShindigProxyConcatAuthority": "${SERVER_HOST}:${SERVER_PORT}",
+//"defaultShindigProxyConcatAuthority":"%host%",
 
 // OS 2.0 Gadget DOCTYPE: used in Gadgets with @specificationVersion 2.0 or greater and
 // quirksmode on Gadget has not been set.

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/DefaultJsProcessorRegistry.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/DefaultJsProcessorRegistry.java?rev=1102885&r1=1102884&r2=1102885&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/DefaultJsProcessorRegistry.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/DefaultJsProcessorRegistry.java Fri May 13 20:13:58 2011
@@ -40,7 +40,6 @@ public class DefaultJsProcessorRegistry 
     this.requiredProcessors = requiredProcessors;
   }
 
-  @Override
   public void process(JsRequest request, JsResponseBuilder response) throws JsException {
     for (JsProcessor processor : optionalProcessors) {
       if (!processor.process(request, response)) {

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/JsResponseBuilder.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/JsResponseBuilder.java?rev=1102885&r1=1102884&r2=1102885&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/JsResponseBuilder.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/JsResponseBuilder.java Fri May 13 20:13:58 2011
@@ -262,6 +262,6 @@ public class JsResponseBuilder {
   }
   
   private boolean canAddContent(JsContent jsContent) {
-    return !jsContent.get().isEmpty();
+    return jsContent.get().length() > 0;
   }
 }

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManager.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManager.java?rev=1102885&r1=1102884&r2=1102885&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManager.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManager.java Fri May 13 20:13:58 2011
@@ -21,10 +21,10 @@ package org.apache.shindig.gadgets.uri;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.inject.Inject;
+import com.google.inject.Provider;
 import com.google.inject.name.Named;
 
 import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.shindig.common.servlet.ServletRequestContext;
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.common.uri.UriBuilder;
 import org.apache.shindig.config.ContainerConfig;
@@ -33,7 +33,6 @@ import org.apache.shindig.gadgets.uri.Ur
 // Temporary replacement of javax.annotation.Nullable
 import org.apache.shindig.common.Nullable;
 
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
@@ -55,6 +54,7 @@ public class DefaultConcatUriManager imp
   private final ContainerConfig config;
   private final Versioner versioner;
   private boolean strictParsing;
+  private Provider<String> hostProvider;
   private static int DEFAULT_URL_MAX_LENGTH = 2048;
   private int urlMaxLength = DEFAULT_URL_MAX_LENGTH;
   private static final float URL_LENGTH_BUFFER_MARGIN = .8f;
@@ -76,6 +76,11 @@ public class DefaultConcatUriManager imp
       @Named("org.apache.shindig.gadgets.uri.urlMaxLength") int urlMaxLength) {
     this.urlMaxLength = urlMaxLength;
   }
+  
+  @Inject(optional = true)
+  public void setHostProvider(@Named("shindig.host-provider") Provider<String> hostProvider) {
+    this.hostProvider = hostProvider;
+  }
 
   public int getUrlMaxLength() {
     return this.urlMaxLength;
@@ -223,7 +228,9 @@ public class DefaultConcatUriManager imp
       throw new RuntimeException(
           "Missing required config '" + key + "' for container: " + container);
     }
-    val = val.replace("%host%", ServletRequestContext.getAuthority());
+    if (hostProvider != null) {
+      val = val.replace("%host%", hostProvider.get());
+    }
 
     return val;
   }

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultIframeUriManager.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultIframeUriManager.java?rev=1102885&r1=1102884&r2=1102885&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultIframeUriManager.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultIframeUriManager.java Fri May 13 20:13:58 2011
@@ -21,13 +21,13 @@ package org.apache.shindig.gadgets.uri;
 import com.google.common.collect.ImmutableList;
 import com.google.inject.ImplementedBy;
 import com.google.inject.Inject;
+import com.google.inject.Provider;
 import com.google.inject.name.Named;
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.shindig.auth.SecurityToken;
 import org.apache.shindig.auth.SecurityTokenCodec;
 import org.apache.shindig.auth.SecurityTokenException;
-import org.apache.shindig.common.servlet.ServletRequestContext;
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.common.uri.UriBuilder;
 import org.apache.shindig.config.ContainerConfig;
@@ -58,6 +58,7 @@ public class DefaultIframeUriManager imp
   private boolean ldEnabled = true;
   private TemplatingSignal tplSignal = null;
   private Versioner versioner = null;
+  private Provider<String> hostProvider;
 
   private final ContainerConfig config;
   private final LockedDomainPrefixGenerator ldGen;
@@ -103,6 +104,11 @@ public class DefaultIframeUriManager imp
   public void setTemplatingSignal(TemplatingSignal tplSignal) {
     this.tplSignal = tplSignal;
   }
+  
+  @Inject(optional = true)
+  public void setHostProvider(@Named("shindig.host-provider") Provider<String> hostProvider) {
+    this.hostProvider = hostProvider;
+  }
 
   public Uri makeRenderingUri(Gadget gadget) {
     UriBuilder uri;
@@ -348,7 +354,9 @@ public class DefaultIframeUriManager imp
       throw new RuntimeException("Missing required container config param, key: "
           + key + ", container: " + container);
     }
-    val = val.replace("%host%", ServletRequestContext.getAuthority());
+    if (hostProvider != null) {
+      val = val.replace("%host%", hostProvider.get());
+    }
 
     return val;
   }

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java?rev=1102885&r1=1102884&r2=1102885&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java Fri May 13 20:13:58 2011
@@ -22,8 +22,9 @@ import com.google.common.base.Joiner;
 import com.google.common.base.Splitter;
 import com.google.common.collect.ImmutableList;
 import com.google.inject.Inject;
+import com.google.inject.Provider;
+import com.google.inject.name.Named;
 
-import org.apache.shindig.common.servlet.ServletRequestContext;
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.common.uri.UriBuilder;
 import org.apache.shindig.config.ContainerConfig;
@@ -52,12 +53,18 @@ public class DefaultJsUriManager impleme
   
   private final ContainerConfig config;
   private final Versioner versioner;
+  private Provider<String> hostProvider;
 
   @Inject
   public DefaultJsUriManager(ContainerConfig config, Versioner versioner) {
     this.config = config;
     this.versioner = versioner;
   }
+  
+  @Inject(optional = true)
+  public void setHostProvider(@Named("shindig.host-provider") Provider<String> hostProvider) {
+    this.hostProvider = hostProvider;
+  }
 
   public Uri makeExternJsUri(JsUri ctx) {
     String container = ctx.getContainer();
@@ -223,7 +230,9 @@ public class DefaultJsUriManager impleme
             "' missing config for required param: " + key);
       }
     }
-    ret = ret.replace("%host%", ServletRequestContext.getAuthority());
+    if (hostProvider != null) {
+      ret = ret.replace("%host%", hostProvider.get());
+    }
     return ret;
   }
 

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java?rev=1102885&r1=1102884&r2=1102885&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java Fri May 13 20:13:58 2011
@@ -22,10 +22,10 @@ import com.google.common.base.Strings;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.inject.Inject;
+import com.google.inject.Provider;
 import com.google.inject.name.Named;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.shindig.common.servlet.ServletRequestContext;
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.common.uri.UriBuilder;
 import org.apache.shindig.common.util.Utf8UrlCoder;
@@ -73,6 +73,7 @@ public class DefaultProxyUriManager impl
   private final ContainerConfig config;
   private final Versioner versioner;
   private boolean strictParsing = false;
+  private Provider<String> hostProvider;
 
   @Inject
   public DefaultProxyUriManager(ContainerConfig config,
@@ -85,6 +86,11 @@ public class DefaultProxyUriManager impl
   public void setUseStrictParsing(@Named("shindig.uri.proxy.use-strict-parsing") boolean useStrict) {
     this.strictParsing = useStrict;
   }
+  
+  @Inject(optional = true)
+  public void setHostProvider(@Named("shindig.host-provider") Provider<String> hostProvider) {
+    this.hostProvider = hostProvider;
+  }
 
   public List<Uri> make(List<ProxyUri> resources, Integer forcedRefresh) {
     if (resources.isEmpty()) {
@@ -277,7 +283,9 @@ public class DefaultProxyUriManager impl
       throw new RuntimeException("Missing required container config key: " + key + " for " +
           "container: " + container);
     }
-    val = val.replace("%host%", ServletRequestContext.getAuthority());
+    if (hostProvider != null) {
+      val = val.replace("%host%", hostProvider.get());
+    }
     return val;
   }
 }

Modified: shindig/trunk/java/server/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/shindig/trunk/java/server/src/main/webapp/WEB-INF/web.xml?rev=1102885&r1=1102884&r2=1102885&view=diff
==============================================================================
--- shindig/trunk/java/server/src/main/webapp/WEB-INF/web.xml (original)
+++ shindig/trunk/java/server/src/main/webapp/WEB-INF/web.xml Fri May 13 20:13:58 2011
@@ -59,6 +59,8 @@
    <context-param>
   	<param-name>system.properties</param-name>
      <param-value>
+        shindig.host=localhost
+        shindig.port=
     	aKey=/shindig/gadgets/proxy?container=default&amp;url=    	
      </param-value>
   </context-param>