You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by li...@apache.org on 2010/07/02 02:50:04 UTC
svn commit: r959822 -
/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/
Author: lindner
Date: Fri Jul 2 00:50:03 2010
New Revision: 959822
URL: http://svn.apache.org/viewvc?rev=959822&view=rev
Log:
SHINDIG-1374 | Patch from Jan Luehe | findbugs fixes - servlets
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServlet.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HtmlAccelServlet.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsServlet.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestServlet.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/OAuthCallbackServlet.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyServlet.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/RpcServlet.java
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java?rev=959822&r1=959821&r2=959822&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java Fri Jul 2 00:50:03 2010
@@ -49,6 +49,8 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Pattern;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -60,6 +62,8 @@ import javax.servlet.http.HttpServletRes
*/
public class ConcatProxyServlet extends InjectedServlet {
+ private static final long serialVersionUID = -4390212150673709895L;
+
public static final String JSON_PARAM = Param.JSON.getKey();
private static final Pattern JSON_PARAM_PATTERN = Pattern.compile("^\\w*$");
@@ -70,11 +74,12 @@ public class ConcatProxyServlet extends
private static final Logger LOG
= Logger.getLogger(ConcatProxyServlet.class.getName());
- private RequestPipeline requestPipeline;
- private ConcatUriManager concatUriManager;
- private ResponseRewriterRegistry contentRewriterRegistry;
+ private transient RequestPipeline requestPipeline;
+ private transient ConcatUriManager concatUriManager;
+ private transient ResponseRewriterRegistry contentRewriterRegistry;
+ private transient boolean initialized;
- private Executor executor = new Executor() {
+ private transient Executor executor = new Executor() {
public void execute(Runnable r) {
// Sequential version of 'execute' by default.
r.run();
@@ -83,26 +88,44 @@ public class ConcatProxyServlet extends
@Inject
public void setRequestPipeline(RequestPipeline requestPipeline) {
+ if (initialized) {
+ throw new IllegalStateException("Servlet already initialized");
+ }
this.requestPipeline = requestPipeline;
}
@Inject
public void setConcatUriManager(ConcatUriManager concatUriManager) {
+ if (initialized) {
+ throw new IllegalStateException("Servlet already initialized");
+ }
this.concatUriManager = concatUriManager;
}
@Inject
public void setContentRewriterRegistry(ResponseRewriterRegistry contentRewriterRegistry) {
+ if (initialized) {
+ throw new IllegalStateException("Servlet already initialized");
+ }
this.contentRewriterRegistry = contentRewriterRegistry;
}
@Inject
public void setExecutor(@Named("shindig.concat.executor") Executor executor) {
+ if (initialized) {
+ throw new IllegalStateException("Servlet already initialized");
+ }
// Executor is independently named to allow separate configuration of
// concat fetch parallelism and other Shindig job execution.
this.executor = executor;
}
+ @Override
+ public void init(ServletConfig config) throws ServletException {
+ super.init(config);
+ initialized = true;
+ }
+
@SuppressWarnings("boxing")
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServlet.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServlet.java?rev=959822&r1=959821&r2=959822&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServlet.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServlet.java Fri Jul 2 00:50:03 2010
@@ -35,6 +35,8 @@ import org.apache.commons.lang.StringUti
import java.io.IOException;
import java.util.logging.Logger;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -42,23 +44,39 @@ import javax.servlet.http.HttpServletRes
* Servlet for rendering Gadgets.
*/
public class GadgetRenderingServlet extends InjectedServlet {
+
+ private static final long serialVersionUID = -5634040113214794888L;
+
static final int DEFAULT_CACHE_TTL = 60 * 5;
private static final Logger LOG = Logger.getLogger(GadgetRenderingServlet.class.getName());
- private Renderer renderer;
- private IframeUriManager iframeUriManager;
+ private transient Renderer renderer;
+ private transient IframeUriManager iframeUriManager;
+ private transient boolean initialized;
@Inject
public void setRenderer(Renderer renderer) {
+ if (initialized) {
+ throw new IllegalStateException("Servlet already initialized");
+ }
this.renderer = renderer;
}
@Inject
public void setIframeUriManager(IframeUriManager iframeUriManager) {
+ if (initialized) {
+ throw new IllegalStateException("Servlet already initialized");
+ }
this.iframeUriManager = iframeUriManager;
}
+ @Override
+ public void init(ServletConfig config) throws ServletException {
+ super.init(config);
+ initialized = true;
+ }
+
private void render(HttpServletRequest req, HttpServletResponse resp, UriStatus urlstatus)
throws IOException {
if (req.getHeader(HttpRequest.DOS_PREVENTION_HEADER) != null) {
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HtmlAccelServlet.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HtmlAccelServlet.java?rev=959822&r1=959821&r2=959822&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HtmlAccelServlet.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HtmlAccelServlet.java Fri Jul 2 00:50:03 2010
@@ -26,6 +26,8 @@ import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -35,19 +37,32 @@ import javax.servlet.http.HttpServletRes
*/
public class HtmlAccelServlet extends InjectedServlet {
- private AccelHandler accelHandler;
- private static Logger logger = Logger.getLogger(
+ private static final long serialVersionUID = -424353123863813052L;
+
+ private static final Logger logger = Logger.getLogger(
HtmlAccelServlet.class.getName());
public static final String ACCEL_GADGET_PARAM_NAME = "accelGadget";
public static final String ACCEL_GADGET_PARAM_VALUE = "true";
+ private transient AccelHandler accelHandler;
+ private transient boolean initialized;
+
@Inject
public void setHandler(AccelHandler accelHandler) {
+ if (initialized) {
+ throw new IllegalStateException("Servlet already initialized");
+ }
this.accelHandler = accelHandler;
}
@Override
+ public void init(ServletConfig config) throws ServletException {
+ super.init(config);
+ initialized = true;
+ }
+
+ @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
if (logger.isLoggable(Level.FINE)) {
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsServlet.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsServlet.java?rev=959822&r1=959821&r2=959822&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsServlet.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsServlet.java Fri Jul 2 00:50:03 2010
@@ -44,6 +44,8 @@ import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -52,6 +54,9 @@ import javax.servlet.http.HttpServletRes
* Used by type=URL gadgets in loading JavaScript resources.
*/
public class JsServlet extends InjectedServlet {
+
+ private static final long serialVersionUID = 6255917470412008175L;
+
static final String ONLOAD_JS_TPL = "(function() {" +
"var nm='%s';" +
"if (typeof window[nm]==='function') {" +
@@ -60,31 +65,51 @@ public class JsServlet extends InjectedS
"})();";
private static final Pattern ONLOAD_FN_PATTERN = Pattern.compile("[a-zA-Z0-9_]+");
- private FeatureRegistry registry;
+ private transient FeatureRegistry registry;
+ private transient JsUriManager jsUriManager;
+ private transient ContainerConfig containerConfig;
+ private transient Map<String, ConfigContributor> configContributors;
+ private transient boolean initialized;
+
@Inject
public void setRegistry(FeatureRegistry registry) {
+ if (initialized) {
+ throw new IllegalStateException("Servlet already initialized");
+ }
this.registry = registry;
}
- private JsUriManager jsUriManager;
@Inject
public void setUrlGenerator(JsUriManager jsUriManager) {
+ if (initialized) {
+ throw new IllegalStateException("Servlet already initialized");
+ }
this.jsUriManager = jsUriManager;
}
- private ContainerConfig containerConfig;
@Inject
public void setContainerConfig(ContainerConfig containerConfig) {
+ if (initialized) {
+ throw new IllegalStateException("Servlet already initialized");
+ }
this.containerConfig = containerConfig;
}
- private Map<String, ConfigContributor> configContributors;
@Inject
public void setConfigContributors(Map<String, ConfigContributor> configContributors) {
+ if (initialized) {
+ throw new IllegalStateException("Servlet already initialized");
+ }
this.configContributors = configContributors;
}
@Override
+ public void init(ServletConfig config) throws ServletException {
+ super.init(config);
+ initialized = true;
+ }
+
+ @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
// If an If-Modified-Since header is ever provided, we always say
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestServlet.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestServlet.java?rev=959822&r1=959821&r2=959822&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestServlet.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestServlet.java Fri Jul 2 00:50:03 2010
@@ -22,6 +22,8 @@ import org.apache.shindig.common.servlet
import java.io.IOException;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -36,14 +38,27 @@ import com.google.inject.Inject;
* makeRequest and open proxy calls.
*/
public class MakeRequestServlet extends InjectedServlet {
- private MakeRequestHandler makeRequestHandler;
+
+ private static final long serialVersionUID = -8298705081500283786L;
+
+ private transient MakeRequestHandler makeRequestHandler;
+ private transient boolean initialized;
@Inject
public void setMakeRequestHandler(MakeRequestHandler makeRequestHandler) {
+ if (initialized) {
+ throw new IllegalStateException("Servlet already initialized");
+ }
this.makeRequestHandler = makeRequestHandler;
}
@Override
+ public void init(ServletConfig config) throws ServletException {
+ super.init(config);
+ initialized = true;
+ }
+
+ @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
makeRequestHandler.fetch(request, response);
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/OAuthCallbackServlet.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/OAuthCallbackServlet.java?rev=959822&r1=959821&r2=959822&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/OAuthCallbackServlet.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/OAuthCallbackServlet.java Fri Jul 2 00:50:03 2010
@@ -32,6 +32,8 @@ import java.io.IOException;
import java.util.List;
import java.util.Map;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -50,10 +52,10 @@ import javax.servlet.http.HttpServletRes
*/
public class OAuthCallbackServlet extends InjectedServlet {
- public static final String CALLBACK_STATE_PARAM = "cs";
+ private static final long serialVersionUID = 7126255229334669172L;
+ public static final String CALLBACK_STATE_PARAM = "cs";
public static final String REAL_DOMAIN_PARAM = "d";
-
private static final int ONE_HOUR_IN_SECONDS = 3600;
// This bit of magic passes the entire callback URL into the opening gadget for later use.
@@ -78,15 +80,25 @@ public class OAuthCallbackServlet extend
"</body>\n" +
"</html>\n";
- private BlobCrypter stateCrypter;
+ private transient BlobCrypter stateCrypter;
+ private transient boolean initialized;
@Inject
public void setStateCrypter(
@Named(OAuthFetcherConfig.OAUTH_STATE_CRYPTER) BlobCrypter stateCrypter) {
+ if (initialized) {
+ throw new IllegalStateException("Servlet already initialized");
+ }
this.stateCrypter = stateCrypter;
}
@Override
+ public void init(ServletConfig config) throws ServletException {
+ super.init(config);
+ initialized = true;
+ }
+
+ @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
OAuthCallbackState callbackState = new OAuthCallbackState(stateCrypter,
req.getParameter(CALLBACK_STATE_PARAM));
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyServlet.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyServlet.java?rev=959822&r1=959821&r2=959822&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyServlet.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyServlet.java Fri Jul 2 00:50:03 2010
@@ -22,6 +22,8 @@ import org.apache.shindig.common.servlet
import java.io.IOException;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -32,14 +34,27 @@ import com.google.inject.Inject;
* gadgets.io.getProxyUrl).
*/
public class ProxyServlet extends InjectedServlet {
- private ProxyHandler proxyHandler;
+
+ private static final long serialVersionUID = 9085050443492307723L;
+
+ private transient ProxyHandler proxyHandler;
+ private transient boolean initialized;
@Inject
public void setProxyHandler(ProxyHandler proxyHandler) {
+ if (initialized) {
+ throw new IllegalStateException("Servlet already initialized");
+ }
this.proxyHandler = proxyHandler;
}
@Override
+ public void init(ServletConfig config) throws ServletException {
+ super.init(config);
+ initialized = true;
+ }
+
+ @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
proxyHandler.fetch(request, response);
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/RpcServlet.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/RpcServlet.java?rev=959822&r1=959821&r2=959822&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/RpcServlet.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/RpcServlet.java Fri Jul 2 00:50:03 2010
@@ -26,6 +26,8 @@ import org.json.JSONObject;
import com.google.inject.Inject;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -39,19 +41,32 @@ import java.util.logging.Logger;
* Handles RPC metadata requests.
*/
public class RpcServlet extends InjectedServlet {
+
+ private static final long serialVersionUID = 1382573217773582182L;
+
static final String GET_REQUEST_REQ_PARAM = "req";
static final String GET_REQUEST_CALLBACK_PARAM = "callback";
private static final Logger LOG = Logger.getLogger("org.apache.shindig.gadgets");
- private JsonRpcHandler jsonHandler;
+ private transient JsonRpcHandler jsonHandler;
+ private transient boolean initialized;
@Inject
public void setJsonRpcHandler(JsonRpcHandler jsonHandler) {
+ if (initialized) {
+ throw new IllegalStateException("Servlet already initialized");
+ }
this.jsonHandler = jsonHandler;
}
@Override
+ public void init(ServletConfig config) throws ServletException {
+ super.init(config);
+ initialized = true;
+ }
+
+ @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
String reqValue;