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/06/24 15:48:35 UTC
svn commit: r957548 - in
/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets:
features/ http/ servlet/ uri/
Author: lindner
Date: Thu Jun 24 13:48:34 2010
New Revision: 957548
URL: http://svn.apache.org/viewvc?rev=957548&view=rev
Log:
SHINDIG-1374 | Patch from Jan Luehe | Fixes for findbugs issues in shindig/java/gadgets
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpResponseBuilder.java
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/HttpGadgetContext.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ConcatUriManager.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/ProxyUriBase.java
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java?rev=957548&r1=957547&r2=957548&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java Thu Jun 24 13:48:34 2010
@@ -592,7 +592,7 @@ public class FeatureRegistry {
private final Collection<String> needed;
private final RenderingContext rCtx;
private final String container;
- private final Boolean useUnsupported;
+ private final boolean useUnsupported;
private FeatureCacheKey(Collection<String> needed, GadgetContext ctx, boolean useUnsupported) {
this.needed = needed;
@@ -603,6 +603,9 @@ public class FeatureRegistry {
@Override
public boolean equals(Object other) {
+ if (other == this) {
+ return true;
+ }
if (!(other instanceof FeatureCacheKey)) {
return false;
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpResponseBuilder.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpResponseBuilder.java?rev=957548&r1=957547&r2=957548&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpResponseBuilder.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpResponseBuilder.java Thu Jun 24 13:48:34 2010
@@ -103,17 +103,18 @@ public class HttpResponseBuilder extends
Collection<String> values = headers.get("Content-Type");
if (!values.isEmpty()) {
String contentType = values.iterator().next();
- StringBuilder newContentType = new StringBuilder("");
+ StringBuilder newContentTypeBuilder = new StringBuilder("");
// Remove previously set charset:
String[] parts = StringUtils.split(contentType, ';');
for (String part : parts) {
if (!part.contains("charset=")) {
- newContentType.append(part).append("; ");
+ newContentTypeBuilder.append(part).append("; ");
}
}
- newContentType.append("charset=").append(charset.name());
+ newContentTypeBuilder.append("charset=").append(charset.name());
values.clear();
- values.add(newContentType.toString());
+ String newContentType = newContentTypeBuilder.toString();
+ values.add(newContentType);
if (!(values.size() == 1 && !contentType.equals(newContentType))) {
incrementNumChanges();
}
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=957548&r1=957547&r2=957548&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 Thu Jun 24 13:48:34 2010
@@ -169,57 +169,67 @@ public class ConcatProxyServlet extends
List<Pair<Uri, FutureTask<RequestContext>>> futureTasks =
new ArrayList<Pair<Uri, FutureTask<RequestContext>>>();
-
- for (Uri resourceUri : concatUri.getBatch()) {
- try {
- HttpRequest httpReq = concatUri.makeHttpRequest(resourceUri);
- FutureTask<RequestContext> httpFetcher =
- new FutureTask<RequestContext>(new HttpFetchCallable(httpReq));
- futureTasks.add(Pairs.newPair(httpReq.getUri(), httpFetcher));
- executor.execute(httpFetcher);
- } catch (GadgetException ge) {
- if (cos.outputError(resourceUri, ge)) {
- // True returned from outputError indicates a terminal error.
- return false;
+
+ try {
+ for (Uri resourceUri : concatUri.getBatch()) {
+ try {
+ HttpRequest httpReq = concatUri.makeHttpRequest(resourceUri);
+ FutureTask<RequestContext> httpFetcher =
+ new FutureTask<RequestContext>(new HttpFetchCallable(httpReq));
+ futureTasks.add(Pairs.newPair(httpReq.getUri(), httpFetcher));
+ executor.execute(httpFetcher);
+ } catch (GadgetException ge) {
+ if (cos.outputError(resourceUri, ge)) {
+ // True returned from outputError indicates a terminal error.
+ return false;
+ }
}
}
- }
-
- for (Pair<Uri, FutureTask<RequestContext>> futureTask : futureTasks) {
- RequestContext requestCxt = null;
- try {
+
+ for (Pair<Uri, FutureTask<RequestContext>> futureTask : futureTasks) {
+ RequestContext requestCxt = null;
try {
- requestCxt = futureTask.two.get();
- } catch (InterruptedException ie) {
- throw new GadgetException(GadgetException.Code.INTERNAL_SERVER_ERROR, ie);
- } catch (ExecutionException ee) {
- throw new GadgetException(GadgetException.Code.INTERNAL_SERVER_ERROR, ee);
- }
- if (requestCxt.getGadgetException() != null) {
- throw requestCxt.getGadgetException();
- }
- HttpResponse httpResp = requestCxt.getHttpResp();
- if (httpResp != null) {
- if (contentRewriterRegistry != null) {
- try {
- httpResp = contentRewriterRegistry.rewriteHttpResponse(requestCxt.getHttpReq(),
- httpResp);
- } catch (RewritingException e) {
- throw new GadgetException(GadgetException.Code.INTERNAL_SERVER_ERROR, e,
- e.getHttpStatusCode());
+ try {
+ requestCxt = futureTask.two.get();
+ } catch (InterruptedException ie) {
+ throw new GadgetException(GadgetException.Code.INTERNAL_SERVER_ERROR, ie);
+ } catch (ExecutionException ee) {
+ throw new GadgetException(GadgetException.Code.INTERNAL_SERVER_ERROR, ee);
+ }
+ if (requestCxt.getGadgetException() != null) {
+ throw requestCxt.getGadgetException();
+ }
+ HttpResponse httpResp = requestCxt.getHttpResp();
+ if (httpResp != null) {
+ if (contentRewriterRegistry != null) {
+ try {
+ httpResp = contentRewriterRegistry.rewriteHttpResponse(requestCxt.getHttpReq(),
+ httpResp);
+ } catch (RewritingException e) {
+ throw new GadgetException(GadgetException.Code.INTERNAL_SERVER_ERROR, e,
+ e.getHttpStatusCode());
+ }
}
+ cos.output(futureTask.one, httpResp);
+ } else {
+ return false;
}
- cos.output(futureTask.one, httpResp);
- } else {
- return false;
- }
- } catch (GadgetException ge) {
- if (cos.outputError(futureTask.one, ge)) {
- return false;
- }
+ } catch (GadgetException ge) {
+ if (cos.outputError(futureTask.one, ge)) {
+ return false;
+ }
+ }
+ }
+ } finally {
+ if (cos != null) {
+ try {
+ cos.close();
+ } catch (IOException ioe) {
+ // Ignore
+ }
}
}
- cos.close();
+
return true;
}
@@ -346,7 +356,7 @@ public class ConcatProxyServlet extends
}
// Encapsulates the response context of a single resource fetch.
- private class RequestContext {
+ private static class RequestContext {
private HttpRequest httpReq;
private HttpResponse httpResp;
private GadgetException gadgetException;
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java?rev=957548&r1=957547&r2=957548&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java Thu Jun 24 13:48:34 2010
@@ -195,7 +195,7 @@ public class HttpGadgetContext extends G
private static Boolean getDebug(HttpServletRequest req) {
String debug = req.getParameter("debug");
if (debug == null) {
- return null;
+ return Boolean.FALSE;
} else if ("0".equals(debug)) {
return Boolean.FALSE;
}
@@ -209,7 +209,7 @@ public class HttpGadgetContext extends G
private static Boolean getIgnoreCache(HttpServletRequest req) {
String ignoreCache = req.getParameter("nocache");
if (ignoreCache == null) {
- return null;
+ return Boolean.FALSE;
} else if ("0".equals(ignoreCache)) {
return Boolean.FALSE;
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ConcatUriManager.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ConcatUriManager.java?rev=957548&r1=957547&r2=957548&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ConcatUriManager.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ConcatUriManager.java Thu Jun 24 13:48:34 2010
@@ -139,6 +139,9 @@ public interface ConcatUriManager {
@Override
public boolean equals(Object obj) {
+ if (obj == this) {
+ return true;
+ }
if (!(obj instanceof ConcatUri)) {
return false;
}
@@ -148,7 +151,12 @@ public interface ConcatUriManager {
&& Objects.equal(this.splitParam, objUri.splitParam)
&& Objects.equal(this.type, objUri.type));
}
-
+
+ @Override
+ public int hashCode() {
+ return Objects.hashCode(super.hashCode(), batch, splitParam, type);
+ }
+
public List<Uri> getBatch() {
return batch;
}
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=957548&r1=957547&r2=957548&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 Thu Jun 24 13:48:34 2010
@@ -116,7 +116,7 @@ public class DefaultConcatUriManager imp
uriBuilder.addQueryParameter(Param.JSON.getKey(), splitParam);
}
- Integer i = new Integer(START_INDEX);
+ Integer i = Integer.valueOf(START_INDEX);
for (Uri resource : resourceUris) {
uriBuilder.addQueryParameter(i.toString(), resource.toString());
i++;
@@ -170,7 +170,7 @@ public class DefaultConcatUriManager imp
}
String splitParam = type == Type.JS ? uri.getQueryParameter(Param.JSON.getKey()) : null;
- Integer i = new Integer(START_INDEX);
+ Integer i = Integer.valueOf(START_INDEX);
String uriStr = null;
while ((uriStr = uri.getQueryParameter(i.toString())) != null) {
try {
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriBase.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriBase.java?rev=957548&r1=957547&r2=957548&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriBase.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriBase.java Thu Jun 24 13:48:34 2010
@@ -88,6 +88,9 @@ public class ProxyUriBase {
@Override
public boolean equals(Object obj) {
+ if (obj == this) {
+ return true;
+ }
if (!(obj instanceof ProxyUriBase)) {
return false;
}
@@ -102,6 +105,12 @@ public class ProxyUriBase {
&& this.sanitizeContent == objUri.sanitizeContent);
}
+ @Override
+ public int hashCode() {
+ return Objects.hashCode(status, refresh, container, gadget, rewriteMimeType,
+ noCache, debug, sanitizeContent);
+ }
+
public ProxyUriBase setRewriteMimeType(String type) {
this.rewriteMimeType = type;
return this;