Author: etnu
Date: Mon Jun 16 09:12:41 2008
New Revision: 668218

URL: http://svn.apache.org/viewvc?rev=668218&view=rev
Log:
Fixed SHINDIG-385 by placing Singleton annotations on classes that should be 
singletons. This may be overridden with an explicit scope by custom bindings.


Modified:
    
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/BasicSecurityTokenDecoder.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicMessageBundleFactory.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/ContainerConfig.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetFeatureRegistry.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/HashLockedDomainService.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SigningFetcher.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SigningFetcherFactory.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriter.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsonRpcHandler.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/UrlGenerator.java

Modified: 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/BasicSecurityTokenDecoder.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/BasicSecurityTokenDecoder.java?rev=668218&r1=668217&r2=668218&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/BasicSecurityTokenDecoder.java
 (original)
+++ 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/BasicSecurityTokenDecoder.java
 Mon Jun 16 09:12:41 2008
@@ -20,6 +20,8 @@
 
 import org.apache.shindig.common.crypto.BlobCrypterException;
 
+import com.google.inject.Singleton;
+
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 
@@ -27,6 +29,7 @@
  * A SecurityTokenDecoder implementation that just provides dummy data to 
satisfy
  * tests and API calls. Do not use this for any security applications.
  */
[EMAIL PROTECTED]
 public class BasicSecurityTokenDecoder implements SecurityTokenDecoder {
 
   private static final int OWNER_INDEX = 0;

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java?rev=668218&r1=668217&r2=668218&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java
 Mon Jun 16 09:12:41 2008
@@ -18,6 +18,7 @@
 package org.apache.shindig.gadgets;
 
 import com.google.inject.Inject;
+import com.google.inject.Singleton;
 import com.google.inject.name.Named;
 
 import java.io.BufferedReader;
@@ -55,6 +56,7 @@
  *   REGEXP http://[^/]*baz.com/.*
  *
  */
[EMAIL PROTECTED]
 public class BasicGadgetBlacklist implements GadgetBlacklist {
 
   private static final char COMMENT_MARKER = '#';

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicMessageBundleFactory.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicMessageBundleFactory.java?rev=668218&r1=668217&r2=668218&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicMessageBundleFactory.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicMessageBundleFactory.java
 Mon Jun 16 09:12:41 2008
@@ -27,6 +27,7 @@
 import org.apache.shindig.gadgets.spec.MessageBundle;
 
 import com.google.inject.Inject;
+import com.google.inject.Singleton;
 import com.google.inject.name.Named;
 
 import java.net.URI;
@@ -36,6 +37,7 @@
 /**
  * Basic implementation of a message bundle factory
  */
[EMAIL PROTECTED]
 public class BasicMessageBundleFactory implements MessageBundleFactory {
 
   private static final Logger logger

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/ContainerConfig.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/ContainerConfig.java?rev=668218&r1=668217&r2=668218&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/ContainerConfig.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/ContainerConfig.java
 Mon Jun 16 09:12:41 2008
@@ -22,6 +22,7 @@
 import org.apache.shindig.common.util.ResourceLoader;
 
 import com.google.inject.Inject;
+import com.google.inject.Singleton;
 import com.google.inject.name.Named;
 
 import org.apache.commons.lang.StringUtils;
@@ -45,6 +46,7 @@
  * We use a cascading model, so you only have to specify attributes in
  * your config that you actually want to change.
  */
[EMAIL PROTECTED]
 public class ContainerConfig {
   private final Map<String, JSONObject> config;
   public static final char FILE_SEPARATOR = ',';

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java?rev=668218&r1=668217&r2=668218&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
 Mon Jun 16 09:12:41 2008
@@ -18,12 +18,6 @@
  */
 package org.apache.shindig.gadgets;
 
-import com.google.inject.AbstractModule;
-import com.google.inject.CreationException;
-import com.google.inject.Scopes;
-import com.google.inject.name.Names;
-import com.google.inject.spi.Message;
-
 import org.apache.shindig.common.util.ResourceLoader;
 import org.apache.shindig.gadgets.http.BasicHttpCache;
 import org.apache.shindig.gadgets.http.BasicHttpFetcher;
@@ -35,6 +29,11 @@
 import org.apache.shindig.gadgets.rewrite.ContentRewriter;
 import org.apache.shindig.gadgets.rewrite.DefaultContentRewriter;
 
+import com.google.inject.AbstractModule;
+import com.google.inject.CreationException;
+import com.google.inject.name.Names;
+import com.google.inject.spi.Message;
+
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Arrays;
@@ -74,9 +73,9 @@
     bind(Executor.class).toInstance(Executors.newCachedThreadPool());
     bind(LockedDomainService.class).to(HashLockedDomainService.class);
 
-    bind(ContainerConfig.class).in(Scopes.SINGLETON);
-    bind(GadgetFeatureRegistry.class).in(Scopes.SINGLETON);
-    bind(GadgetServer.class).in(Scopes.SINGLETON);
+    bind(ContainerConfig.class);
+    bind(GadgetFeatureRegistry.class);
+    bind(GadgetServer.class);
   }
 
   public DefaultGuiceModule(Properties properties) {

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetFeatureRegistry.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetFeatureRegistry.java?rev=668218&r1=668217&r2=668218&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetFeatureRegistry.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetFeatureRegistry.java
 Mon Jun 16 09:12:41 2008
@@ -21,6 +21,7 @@
 
 import com.google.common.collect.Maps;
 import com.google.inject.Inject;
+import com.google.inject.Singleton;
 import com.google.inject.name.Named;
 
 import java.util.Collection;
@@ -39,6 +40,7 @@
  * GadgetFeatureRegistry registry = // get your global registry
  * registry.register("my-feature", null, new MyFeatureFactory());
  */
[EMAIL PROTECTED]
 public class GadgetFeatureRegistry {
   private final Map<String, GadgetFeature> features;
   private final Map<String, GadgetFeature> core;

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java?rev=668218&r1=668217&r2=668218&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java
 Mon Jun 16 09:12:41 2008
@@ -28,6 +28,7 @@
 import org.apache.shindig.gadgets.spec.Preload;
 
 import com.google.inject.Inject;
+import com.google.inject.Singleton;
 
 import java.util.Collection;
 import java.util.HashSet;
@@ -44,6 +45,7 @@
  * Primary gadget processing facility. Converts an input Context into an output
  * Gadget
  */
[EMAIL PROTECTED]
 public class GadgetServer {
   private final Executor executor;
   private final GadgetFeatureRegistry registry;

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/HashLockedDomainService.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/HashLockedDomainService.java?rev=668218&r1=668217&r2=668218&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/HashLockedDomainService.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/HashLockedDomainService.java
 Mon Jun 16 09:12:41 2008
@@ -21,6 +21,7 @@
 import org.apache.shindig.gadgets.spec.Feature;
 
 import com.google.inject.Inject;
+import com.google.inject.Singleton;
 import com.google.inject.name.Named;
 
 import org.apache.commons.codec.digest.DigestUtils;
@@ -39,6 +40,7 @@
  *
  * Other domain locking schemes are possible as well.
  */
[EMAIL PROTECTED]
 public class HashLockedDomainService implements LockedDomainService {
 
   private final ContainerConfig config;

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SigningFetcher.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SigningFetcher.java?rev=668218&r1=668217&r2=668218&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SigningFetcher.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SigningFetcher.java
 Mon Jun 16 09:12:41 2008
@@ -14,13 +14,6 @@
 
 package org.apache.shindig.gadgets;
 
-import net.oauth.OAuth;
-import net.oauth.OAuth.Parameter;
-import net.oauth.OAuthAccessor;
-import net.oauth.OAuthConsumer;
-import net.oauth.OAuthMessage;
-import net.oauth.signature.RSA_SHA1;
-
 import org.apache.shindig.common.SecurityToken;
 import org.apache.shindig.common.crypto.Crypto;
 import org.apache.shindig.common.util.TimeSource;
@@ -29,6 +22,13 @@
 import org.apache.shindig.gadgets.http.HttpRequest;
 import org.apache.shindig.gadgets.http.HttpResponse;
 
+import net.oauth.OAuth;
+import net.oauth.OAuthAccessor;
+import net.oauth.OAuthConsumer;
+import net.oauth.OAuthMessage;
+import net.oauth.OAuth.Parameter;
+import net.oauth.signature.RSA_SHA1;
+
 import java.io.IOException;
 import java.net.URI;
 import java.net.URISyntaxException;
@@ -83,7 +83,7 @@
   protected final String keyName;
 
   /**
-   *  The cache to fetch results in. 
+   *  The cache to fetch results in.
    */
   protected final HttpCache cache;
 
@@ -327,7 +327,7 @@
 
   /**
    * Strip out any owner or viewer id passed by the client.
- * @throws RequestSigningException 
+ * @throws RequestSigningException
    */
   private List<Parameter> sanitize(List<Parameter> params)
       throws RequestSigningException {

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SigningFetcherFactory.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SigningFetcherFactory.java?rev=668218&r1=668217&r2=668218&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SigningFetcherFactory.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SigningFetcherFactory.java
 Mon Jun 16 09:12:41 2008
@@ -24,6 +24,7 @@
 import org.apache.shindig.gadgets.http.HttpFetcher;
 
 import com.google.inject.Inject;
+import com.google.inject.Singleton;
 import com.google.inject.name.Named;
 
 import org.apache.commons.io.IOUtils;
@@ -33,6 +34,7 @@
 /**
  * Produces Signing content fetchers for input tokens.
  */
[EMAIL PROTECTED]
 public class SigningFetcherFactory {
   private final HttpCache cache;
   private final String keyName;

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriter.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriter.java?rev=668218&r1=668217&r2=668218&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriter.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriter.java
 Mon Jun 16 09:12:41 2008
@@ -17,14 +17,16 @@
  */
 package org.apache.shindig.gadgets.rewrite;
 
-import com.google.inject.Inject;
-import com.google.inject.name.Named;
 import org.apache.shindig.gadgets.GadgetException;
 import org.apache.shindig.gadgets.GadgetSpecFactory;
 import org.apache.shindig.gadgets.http.HttpRequest;
 import org.apache.shindig.gadgets.http.HttpResponse;
 import org.apache.shindig.gadgets.spec.GadgetSpec;
 
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import com.google.inject.name.Named;
+
 import java.io.ByteArrayOutputStream;
 import java.io.InputStreamReader;
 import java.io.OutputStreamWriter;
@@ -42,6 +44,7 @@
 /**
  * Default implementation of content rewriting.
  */
[EMAIL PROTECTED]
 public class DefaultContentRewriter implements ContentRewriter {
 
   private final GadgetSpecFactory specFactory;

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsonRpcHandler.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsonRpcHandler.java?rev=668218&r1=668217&r2=668218&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsonRpcHandler.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsonRpcHandler.java
 Mon Jun 16 09:12:41 2008
@@ -29,6 +29,7 @@
 import org.apache.shindig.gadgets.spec.View;
 
 import com.google.inject.Inject;
+import com.google.inject.Singleton;
 
 import org.json.JSONArray;
 import org.json.JSONException;
@@ -47,6 +48,7 @@
  * Processes JSON-RPC requests by retrieving all necessary meta data in 
parallel
  * and coalescing into a single output JSON construct.
  */
[EMAIL PROTECTED]
 public class JsonRpcHandler {
 
   private final Executor executor;

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java?rev=668218&r1=668217&r2=668218&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java
 Mon Jun 16 09:12:41 2008
@@ -34,6 +34,7 @@
 
 import com.google.common.collect.Maps;
 import com.google.inject.Inject;
+import com.google.inject.Singleton;
 
 import org.json.JSONException;
 import org.json.JSONObject;
@@ -55,6 +56,7 @@
  *
  * Unlike ProxyHandler, this may perform operations such as OAuth or signed 
fetch.
  */
[EMAIL PROTECTED]
 public class MakeRequestHandler extends ProxyBase{
   // Relaxed visibility for ease of integration. Try to avoid relying on these.
   public static final String UNPARSEABLE_CRUFT = "throw 1; < don't be evil' >";

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java?rev=668218&r1=668217&r2=668218&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
 Mon Jun 16 09:12:41 2008
@@ -26,6 +26,7 @@
 import org.apache.shindig.gadgets.rewrite.ContentRewriter;
 
 import com.google.inject.Inject;
+import com.google.inject.Singleton;
 
 import java.io.IOException;
 import java.net.URI;
@@ -38,6 +39,10 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+/**
+ * Handles open proxy requests.
+ */
[EMAIL PROTECTED]
 public class ProxyHandler extends ProxyBase {
   private static final Logger logger =
       Logger.getLogger(ProxyHandler.class.getPackage().getName());

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/UrlGenerator.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/UrlGenerator.java?rev=668218&r1=668217&r2=668218&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/UrlGenerator.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/UrlGenerator.java
 Mon Jun 16 09:12:41 2008
@@ -31,6 +31,7 @@
 import org.apache.shindig.gadgets.spec.View;
 
 import com.google.inject.Inject;
+import com.google.inject.Singleton;
 import com.google.inject.name.Named;
 
 import java.io.UnsupportedEncodingException;
@@ -41,6 +42,7 @@
 /**
  * Generates urls for various public entrypoints
  */
[EMAIL PROTECTED]
 public class UrlGenerator {
 
   private final String jsPrefix;


Reply via email to